ultroff 0 Опубликовано: 16 июня 2010 Рассказать Опубликовано: 16 июня 2010 (изменено) В админке можно задать разные шаблоны для кратких новостей (у меня их 2), но действуют они только при просмотре конкретной категории категории. Получается, что если новость выводится из категории на главную, то своего оформления она естественно не сохраняет (дополнительные поля) Вопрос знатокам - как сделать чтобы разные шаблоны кратких новостей одинаково равно действовали при просмотре всех кратких новостей? Изменено 16 июня 2010 пользователем ultroff Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 16 июня 2010 Рассказать Опубликовано: 16 июня 2010 (изменено) Я так понимаю тег {custom} и для каждой категории задать свой шаблон например list1.tpl для первой категории. На главной создать блок(div или tab это уже Ваше дело), внутри него вписать {custom category="1" template="list1" aviable="main" from="0" limit="1" cache="no"} custom category="1" это ID категории. limit="1" это кол-во новостей которые будут выводиться на главной. Ну и по аналогии для каждой категории. Вроде так, может меня поправят если что упустил или не так. Изменено 16 июня 2010 пользователем DeeMon Цитата Ссылка на сообщение Поделиться на других сайтах
ultroff 0 Опубликовано: 16 июня 2010 Рассказать Опубликовано: 16 июня 2010 (изменено) Автор К сожалению, это малость не то. Я нашел решение. Как оказалось это проблема интересует многих. Открываем /engine/moodules/show.short.php Находим и удаляем: if( isset( $view_template ) and $view_template == "rss" ) { } elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' ); else $tpl->load_template( 'shortstory.tpl' ); Найдите: $row['category'] = intval( $row['category'] ); Ниже вставте: $cat_idd = $row['category']; if( isset( $view_template ) and $view_template == "rss" ) { } elseif( $category_id and $cat_info[$category_id]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$category_id]['short_tpl'] . '.tpl' ); elseif( $cat_idd and $cat_info[$cat_idd]['short_tpl'] != '' ) $tpl->load_template( $cat_info[$cat_idd]['short_tpl'] . '.tpl' ); else $tpl->load_template( 'shortstory.tpl' ); Но это решение не учитывает обработку дополнительных полей, которые были созданы для категории 13 (в моем случае). На главной странице эти поля не обрабатываются, к сожалению. Изменено 16 июня 2010 пользователем ultroff Цитата Ссылка на сообщение Поделиться на других сайтах
DeeMon 73 Опубликовано: 16 июня 2010 Рассказать Опубликовано: 16 июня 2010 Значит просто я не понял чего Вы хотите. Цитата Ссылка на сообщение Поделиться на других сайтах
ultroff 0 Опубликовано: 16 июня 2010 Рассказать Опубликовано: 16 июня 2010 Автор Нашлось и решение проблемы с хфилдами: if (strpos ($tpl->copy_template, "[xfvalue_") !== false) $xfound = true; else $xfound = false; if ($xfound) $xfields = xfieldsload(); Мне кажется хорошее решение. Цитата Ссылка на сообщение Поделиться на других сайтах
ultroff 0 Опубликовано: 17 июля 2010 Рассказать Опубликовано: 17 июля 2010 Автор один баг - перестал работать модуль "управление рекламой". Кто-нибудь подскажет как быть? Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.