вопрос
Требуется сделать двуколоночный шаблон для газеты. В первой колонке выводятся новости из определенной категории, во второй колонке все остальные категории (кроме той новости, что в первой колонке).
Я в первой колонке вывожу новоть через {custom}, а во второй через {content} - но проблема, при нажатии на календарь, новость в первой клонке не сортируется по дате (всегда показывает последнюю новость).
Подскажите как сделать новость из определеной категории, которая бы реагировала на календарь???
Я в первой колонке вывожу новоть через {custom}, а во второй через {content} - но проблема, при нажатии на календарь, новость в первой клонке не сортируется по дате (всегда показывает последнюю новость).
Подскажите как сделать новость из определеной категории, которая бы реагировала на календарь???
Открыть файл index.php
Найти:
Заменить на:
Открыть файл engine/modules/functions.php
Найти:
Заменить на:
Найти:
Заменить на:
Тег теперь вместо привычного вида:
Выглядит так:
Как видно, добавился параметр day. В блоке, который нужно фильтровать вместе с контентом по дню указывать yes. Так же, этот блок не будет кешироваться на странице с фильтром. На других же страницах кеширование будет опционально (Последний параметр)
Ну, а в блоках которые должны обойтись без этого параметр no.
Найти:
if (strpos ( $tpl->copy_template, "{custom" ) !== false) {
$tpl->copy_template = preg_replace ( "#\\{custom category=['\"](.+?)['\"] template=['\"](.+?)['\"] aviable=['\"](.+?)['\"] from=['\"](.+?)['\"] limit=['\"](.+?)['\"] cache=['\"](.+?)['\"]\\}#ies", "custom_print('\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '{$dle_module}')", $tpl->copy_template );
}
Заменить на:
if (strpos ( $tpl->copy_template, "{custom" ) !== false) {
$tpl->copy_template = preg_replace ( "#\\{custom category=['\"](.+?)['\"] day=['\"](.+?)['\"] template=['\"](.+?)['\"] aviable=['\"](.+?)['\"] from=['\"](.+?)['\"] limit=['\"](.+?)['\"] cache=['\"](.+?)['\"]\\}#ies", "custom_print('\\1', '\\2', '\\3', '\\4', '\\5', '\\6', '\\7', '{$dle_module}')", $tpl->copy_template );
}
Открыть файл engine/modules/functions.php
Найти:
function custom_print($custom_category, $custom_template, $aviable, $custom_from, $custom_limit, $custom_cache, $do) {
global $db, $is_logged, $member_id, $xf_inited, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $smartphone_detected, $dle_module, $PHP_SELF;
$do = $do ? $do : "main";
$aviable = explode( '|', $aviable );
Заменить на:
function custom_print($custom_category, $custom_day, $custom_template, $aviable, $custom_from, $custom_limit, $custom_cache, $do) {
global $db, $day, $month, $year, $is_logged, $member_id, $xf_inited, $cat_info, $config, $user_group, $category_id, $_TIME, $lang, $smartphone_detected, $dle_module, $PHP_SELF;
$do = $do ? $do : "main";
$aviable = explode( '|', $aviable );
if ($day AND $custom_day == 'yes') {
$where_day = "date >= '{$year}-{$month}-{$day}' AND date < '{$year}-{$month}-{$day}' + INTERVAL 24 HOUR AND ";
$custom_cache = "no";
}
Найти:
$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE " . $stop_list . $where_category . " AND approve" . $where_date . " ORDER BY " . $fixed . $news_sort . " " . $news_msort . " LIMIT " . $custom_from . "," . $custom_limit;
Заменить на:
$sql_select = "SELECT id, autor, date, short_story, full_story, xfields, title, category, alt_name, comm_num, allow_comm, allow_rate, fixed, rating, vote_num, news_read, votes, flag, editdate, editor, reason, view_edit, tags FROM " . PREFIX . "_post WHERE " . $stop_list . $where_day . $where_category . " AND approve" . $where_date . " ORDER BY " . $fixed . $news_sort . " " . $news_msort . " LIMIT " . $custom_from . "," . $custom_limit;
Тег теперь вместо привычного вида:
{custom category="2,7" template="custom" aviable="global" from="0" limit="10" cache="yes"}
Выглядит так:
{custom category="2,3,4" day="yes" template="shortstory" aviable="global" from="0" limit="3" cache="yes"}
Как видно, добавился параметр day. В блоке, который нужно фильтровать вместе с контентом по дню указывать yes. Так же, этот блок не будет кешироваться на странице с фильтром. На других же страницах кеширование будет опционально (Последний параметр)
Ну, а в блоках которые должны обойтись без этого параметр no.