вопрос
Всем привет!
Нашел такой вопрос, но ответа на него нет.
Хотелось бы найти ответ или если есть хак то ссылку.
Заранее спасибо.
Нашел такой вопрос, но ответа на него нет.
Хотелось бы найти ответ или если есть хак то ссылку.
Заранее спасибо.
Сообразил такой вот вариант
engine/engine.php
для нужных разделов добавить значение в SQL запрос: p.full_story
пример
для вывода в shrtstory.tpl
открыть engine/modules/show.short.php найти
добавить ниже (для фото)
В шаблоне короткой новости выводить так: {count-image}
добавить ниже (для видео)
в шаблоне использовать тег: {count-video}
Готово!
PS: для полной новости проделать все по такому-же принципу
engine/engine.php
для нужных разделов добавить значение в SQL запрос: p.full_story
пример
$sql_select = "SELECT p.id, p.autor, p.date, p.short_story, CHAR_LENGTH(p.full_story) as full_story, p.full_story, p.xfields, p.title, p.category, p.alt_name, p.comm_num, p.allow_comm, p.fixed, p.tags, e.news_read, e.allow_rate, e.rating, e.vote_num, e.votes, e.view_edit, e.editdate, e.editor, e.reason FROM " . PREFIX . "_post p LEFT JOIN " . PREFIX . "_post_extras e ON (p.id=e.news_id) WHERE {$stop_list}approve=1 AND allow_main=1" . $where_date . " ORDER BY " . $fixed . $news_sort_by . " " . $news_direction_by . " LIMIT " . $cstart . "," . $config['news_number'];
для вывода в shrtstory.tpl
открыть engine/modules/show.short.php найти
if( stripos ( $tpl->copy_template, "{image-" ) !== false ) {
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'], $media);
$data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i', "$3", $media[0]);
Код пропущен
$tpl->copy_template = preg_replace( "#\[image-(.+?)\](.+?)\[/image-(.+?)\]#is", "", $tpl->copy_template );
$tpl->copy_template = preg_replace( "#\\{image-(.+?)\\}#i", "{THEME}/dleimages/no_image.jpg", $tpl->copy_template );
}
добавить ниже (для фото)
if( stripos ( $tpl->copy_template, "{count-image}" ) !== false ) {
$images = array();
preg_match_all('/(img|src)=("|\')[^"\'>]+/i', $row['short_story'] . $row['full_story'], $media);
$data = preg_replace('/(img|src)("|\'|="|=\')(.*)/i', "$3", array_unique($media[0]));
foreach($data as $url) {
$info = pathinfo($url);
if( isset($info['extension']) ) {
if( $info['filename'] == "spoiler-plus" OR $info['filename'] == "spoiler-plus" ) continue;
$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) ) {
$tpl->copy_template = str_replace( '{count-image}', count( $images ), $tpl->copy_template );
}
$tpl->copy_template = preg_replace( "#\\{count-image\\}#i", "0", $tpl->copy_template );
}
В шаблоне короткой новости выводить так: {count-image}
добавить ниже (для видео)
if( stripos ( $tpl->copy_template, "{count-video}" ) !== false ) {
preg_match_all('/<!--dle_media_begin:(.+?)-->/i', $row['short_story'] . $row['full_story'], $media);
$media = preg_replace('/<!--dle_media_begin:(.+?)-->/i', "$3", array_unique($media[0]));
if( count($media) ) {
$tpl->copy_template = str_replace( '{count-video}', count( $media ), $tpl->copy_template );
}
$tpl->copy_template = preg_replace( "#\\{count-video\\}#i", "0", $tpl->copy_template );
}
в шаблоне использовать тег: {count-video}
Готово!
PS: для полной новости проделать все по такому-же принципу