вопрос
Как из стандартного topnews сделать чтобы вывод картинок был из доп поля, Block.Pro для этого не подходит, его надо переделывать чтоб выводился tpl ом
Не проверял, возможности нет, но должно работать:
Открываем engine/modules/topnews.php
Открываем engine/modules/topnews.php
- Ищем:
$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" );
- Далее ищем:
if (stripos ( $tpl->copy_template, "{image-" ) !== false) {
ниже добавляем:$xfieldsdata = xfieldsdataload( $row['xfields'] );
- Далее ищем:
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);
заменяем на:preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $xfieldsdata['fieldname'], $media);
Где fieldname - имя дополнительного поля.
Правда я не совсем уверен в правильности этой регулярки, возможно ктото из програмистов поправят меня.