вопрос
Здравствуйте, хочу вывести новости в несколько колонок и нужно для картинок короткой новости задать background и сделать их ссылкой на полную новость.
Чтобы не править все новости и не добавлять доп поле решил вывести тегом {image-x} и уже для него добавить стили. В show.short.php добавил кусок кода с topnews.php для вывода {image-x}, вообщем тег получилось вывести, но выводит картинку следующей новости. В php ничего не смыслю и делал интуитивно.
Подскажите пожалуйста как реализовать вывод {image-x} в шаблоне shortstory или возможно другой вариант реализации задуманного.
Заранее спасибо.
Чтобы не править все новости и не добавлять доп поле решил вывести тегом {image-x} и уже для него добавить стили. В show.short.php добавил кусок кода с topnews.php для вывода {image-x}, вообщем тег получилось вывести, но выводит картинку следующей новости. В php ничего не смыслю и делал интуитивно.
Подскажите пожалуйста как реализовать вывод {image-x} в шаблоне shortstory или возможно другой вариант реализации задуманного.
Заранее спасибо.
В show.short.php ищем:
Выше Вставляем:
Незабудьте в последнем
Заменить на:
в shortstory.tpl вставляем в нужное место теги
Тогда ничего отображаться не будет если картинки не были вставлены в short_story
$tpl->compile( 'content' );
Выше Вставляем:
/////////////////Новый парсер картинок////////////////////////////////////
if (stripos ( $tpl->copy_template, "{poster-" ) !== false) {
$posters = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);
$dat=preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
foreach($dat as $urla) {
$info = pathinfo($urla);
if (isset($info['extension'])) {
$info['extension'] = strtolower($info['extension']);
if (($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png')) array_push($posters, $urla);
}
}
if ( count($posters) ) {
$c=0;
foreach($posters as $urla) {
$c++;
$tpl->copy_template = str_replace( '{poster-'.$c.'}', $urla, $tpl->copy_template );
}
}
$tpl->copy_template = preg_replace( "#\\{poster-(.+?)\\}#i", "http://твой сайт.ру/uploads/blank.gif", $tpl->copy_template );
}
///////////////////////////////////////////////////////////////////////////////////////////////////
Незабудьте в последнем
$tpl->copy_templateзаменить - твой сайт.ру на адрес вашего сайта, и загрузите картинку blank.gif в папку /uploads/ в случае если картинки небыли вставлены в новость он ее отобразит или же проще -
$tpl->copy_template = preg_replace( "#\\{poster-(.+?)\\}#i", "http://твой сайт.ру/uploads/blank.gif", $tpl->copy_template );
Заменить на:
$tpl->copy_template = preg_replace( "#\\{poster-(.+?)\\}#i", "", $tpl->copy_template );
в shortstory.tpl вставляем в нужное место теги
{poster-1}{poster-2}{poster-3}{poster-4}
Тогда ничего отображаться не будет если картинки не были вставлены в short_story