Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Хаки Картинки из допполей в topnews DLE 9.4

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


     21.09.2011    Хаки    4424

вопрос
Как из стандартного 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
1

21 | 19

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

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

ПафНутиЙ
1063

3393 | 2433

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

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

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

Aleks
1

21 | 19

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

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

ПафНутиЙ
1063

3393 | 2433

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

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

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

Aleks
1

21 | 19

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

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

Aleks
1

21 | 19

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

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

lrem
10 | 10

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

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

ПафНутиЙ
1063

3393 | 2433

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

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

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

dmitrymomot
1 | 1

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

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

Sobak
18 | 18

Sobak - 9 июля 2012 17:30 - Юзер

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

ПафНутиЙ
1063

3393 | 2433

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

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

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

Sobak
18 | 18

Sobak - 10 июля 2012 02:50 - Юзер

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

nowheremany
192

1659 | 1292

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']));

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

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

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