вопрос
Кто сможет подсказать, как сделать, чтобы теги {full-story limit="x"},{fullimage-x} работали в краткой новости.
Т.е. Нужно вывести в краткую новость текст и картинку из полной новости.
Т.е. Нужно вывести в краткую новость текст и картинку из полной новости.
Файл engine.php
найти (их 13 шт.)
заменить на (привести в такой вид)
engine/modules/show.short.php
найти
Добавить выше
в шаблоне коротких новостей использовать теги
Теперь все ок на 100% сам проверял, не забудьте чистить кеш
найти (их 13 шт.)
CHAR_LENGTH(p.full_story) as full_story,
заменить на (привести в такой вид)
CHAR_LENGTH(p.full_story) as full_story, p.full_story,
engine/modules/show.short.php
найти
if( isset($view_template) AND $view_template == "rss" ) {
$tpl->set( '{rsslink}', $full_link );
$tpl->set( '{rssauthor}', $row['autor'] );
...
...
Добавить выше
$row['full_story'] = stripslashes($row['full_story']);
// out this tags "{image-full-x}"
if( stripos ( $tpl->copy_template, "{image-full-" ) !== false ) {
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['full_story'], $media);
$data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i',"$3",$media[0]);
foreach($data as $url) {
$info = pathinfo($url);
if( isset($info['extension']) ) {
$info['extension'] = strtolower($info['extension']);
if( ($info['extension'] == 'jpg') || ($info['extension'] == 'jpeg') || ($info['extension'] == 'gif') || ($info['extension'] == 'png') ) array_push($images, $url);
}
}
if( count($images) ) {
$i_count = 0;
foreach($images as $url) {
$i_count++;
$tpl->copy_template = str_replace( '{image-full-' . $i_count . '}', $url, $tpl->copy_template );
$tpl->copy_template = str_replace( '[image-full-' . $i_count . ']', "", $tpl->copy_template );
$tpl->copy_template = str_replace( '[/image-full-'. $i_count . ']', "", $tpl->copy_template );
}
}
$tpl->copy_template = preg_replace( "#\[image-full-(.+?)\](.+?)\[/image-full-(.+?)\]#is", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "#\\{image-full-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );
}
// out this tags "{image-full-x}"
// out this tags "{full-story limit="x"}"
if( preg_match( "#\\{full-story limit=['\"](.+?)['\"]\\}#i", $tpl->copy_template, $matches ) ) {
$count = intval($matches[1]);
$row['full-story'] = str_replace( "</p><p>", " ", $row['full_story'] );
$row['full-story'] = strip_tags( $row['full-story'], "<br>" );
$row['full-story'] = trim(str_replace( "<br>", " ", str_replace( "<br />", " ", str_replace( "\n", " ", str_replace( "\r", "", $row['full-story'] ) ) ) ));
if( $count AND dle_strlen( $row['full-story'], $config['charset'] ) > $count ) {
$row['full-story'] = dle_substr( $row['full-story'], 0, $count, $config['charset'] );
if( ($temp_dmax = dle_strrpos( $row['full-story'], ' ', $config['charset'] )) ) $row['full-story'] = dle_substr( $row['full-story'], 0, $temp_dmax, $config['charset'] );
}
$tpl->set( $matches[0], $row['full-story'] );
} else {
$tpl->set( '{full-story}', $row['full_story'] );
}
// out this tags "{full-story limit=x}"
в шаблоне коротких новостей использовать теги
{full-story limit="XX"}
{image-full-X}
Теперь все ок на 100% сам проверял, не забудьте чистить кеш