Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Картинки из допполей в topnews DLE 9.4

Картинки из допполей в topnews DLE 9.4


     21.09.2011    topnews, картинка, дополнительные поля    Все вопросы » Хаки    4812

вопрос
Как из стандартного topnews сделать чтобы вывод картинок был из доп поля, Block.Pro для этого не подходит, его надо переделывать чтоб выводился tpl ом

Ответил: ПафНутиЙ


Не проверял, возможности нет, но должно работать:
Открываем engine/modules/topnews.php
  1. Ищем:
    $db->query( "SELECT id, short_story, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve=1 AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );

    меняем на:
    $db->query( "SELECT id, short_story, xfields, title, date, alt_name, category, flag FROM " . PREFIX . "_post WHERE approve=1 AND date >= '$this_month' - INTERVAL 1 MONTH AND date < '$this_month' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10" );

  2. Далее ищем:
    if (stripos ( $tpl->copy_template, "{image-" ) !== false) {

    ниже добавляем:
    $xfieldsdata = xfieldsdataload( $row['xfields'] );

  3. Далее ищем:
    preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);

    заменяем на:
    preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $xfieldsdata['fieldname'], $media);
    Где fieldname - имя дополнительного поля.
    Правда я не совсем уверен в правильности этой регулярки, возможно ктото из програмистов поправят меня.

13 комментариев

Aleks
Юзер

Aleks - 21 сентября 2011 16:18 -

А как тогда выводить в шаблоне картинку, {image-x} - выводит URL картинок находящихся в краткой новости, где x это номер картинки в новости, например {image-1}, это же уже не подойдёт?

ПафНутиЙ
Админ

ПафНутиЙ - 21 сентября 2011 17:53 -

вопрос был сделать чтобы вывод картинок был из доп поля а не добавить возможность вывода из дополей.

Каков вопрос - таков и ответ. Просто помните об этом.

Aleks
Юзер

Aleks - 21 сентября 2011 18:18 -

А как проверить вывод без добавления возможности вывода из доп полей?

ПафНутиЙ
Админ

ПафНутиЙ - 22 сентября 2011 12:05 -

не понял....
какой вывод без возможности проверки вывода?

Каков вопрос - таков и ответ. Просто помните об этом.

Aleks
Юзер

Aleks - 22 сентября 2011 22:16 -

Ну если вышеуказанное прописать, не будет ничего, надо в шаблон вписывать чтоб картинки появились, а вот что вписать то нужно???

Aleks
Юзер

Aleks - 22 сентября 2011 22:22 -

[xfvalue_photo] если савить в шаблон, не работает , где photo доп поле с картинкой

lrem
Юзер

lrem - 27 октября 2011 04:06 -

Хм странно у меня и без доп поля не выводит картинку а просто ее ссылку, и подскажите Павел, как добавить к ссылке автоматически теги [img], задать размеры картинки можно через css, а если сразу через php получиться?

ПафНутиЙ
Админ

ПафНутиЙ - 27 октября 2011 09:20 -

Aleks,
читайте последне 2 строчки инструкции внимательнее.
Так скрипт и выводит ссылку, остальное оформление на совести администрации сайта.
В шаблон надо писать так:
<img src="{image}" alt="{title}" />

Каков вопрос - таков и ответ. Просто помните об этом.

dmitrymomot
Юзер

dmitrymomot - 7 декабря 2011 15:05 -

Сделал все по инструкции, но картинок так и не увидел((
В шаблоне так и выводится вместо ссылки на картинку {image}, пробовал даже добавлять {image-pic}, писать просто {pic}... одно и тоже. Единственное, при варианте {image-pic} не показывалось вообще ничего (<img src="" title="...).
Картинка в доп поле есть, так как в статье выводится нормально.
Не подскажете, в чем может быть проблема?
Может я гдето туплю...

Sobak
Юзер

Sobak - 9 июля 2012 17:30 -

То же самое, DLE 9.4 nulled, Если делать просто через доп. поля, то [xfvalue_image] выдает текстом. Если делать этим способом, и в топньюс указывать <img src={image}>, то не меняется вообще ничего - как не было картинок, так и нет. Погуглил и пришел к выводу что это бич 9.4 версии
В полной/краткой новости все работает отлично, если использовать штатные [xfvalue_image], с топньюс работать почему-то не хочет

ПафНутиЙ
Админ

ПафНутиЙ - 9 июля 2012 17:53 -

nulled - зло. используйте лиц. тогда и обновления без проблем будут и выводться тоже всё будет нормально. )

Каков вопрос - таков и ответ. Просто помните об этом.

Sobak
Юзер

Sobak - 10 июля 2012 02:50 -

ПафНутиЙ,
Как-нибудь да соберусь) а пока приходится довольствоваться нулледом. И кажется без модулей не обойтись, а жаль. Но рабочего способа я не нашел

nowheremany
Эксперт

nowheremany - 10 июля 2012 10:17 -

что нужно то? вы сами определитесь.

Если использовать {image-x} то нужен вариант Паши, если просто доп поля отобразить то для вас пойдет и такой вариант:

$xfieldsdata = xfieldsdataload( $row['xfields'] );
$tpl->set('{xvalue_fieldname1}',stripslashes($xfieldsdata['fieldname1']));
$tpl->set('{xvalue_fieldname2}',stripslashes($xfieldsdata['fieldname2']));

Благодарность принимаю тут Связь

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх