Page 1 of 1
Вывод новостей только на главной.
Posted: Thu May 28, 2009 12:19 pm
by Simior
Добрый день, уважаемые.
Решил попробовать в деле CMSMS, возник такой вопрос - можно ли средствами движка убрать блок новостей со всех страниц, кроме главной, или же надо реализовывать это на РНР?
Вроде по англовики ходил, но ничего на эту тему не нашел. Заранее благодарен за ответ.
Re: Вывод новостей только на главной.
Posted: Thu May 28, 2009 1:49 pm
by von-hamster
Можно, например, заключить новостной блок в шаблоне в:
{if $content_obj->mDefaultContent}{news...}{/if}
Re: Вывод новостей только на главной.
Posted: Thu May 28, 2009 2:14 pm
by Simior
О, спасибо, то что доктор прописал.
Re: Вывод новостей только на главной.
Posted: Fri Jul 10, 2009 11:43 pm
by Ink
не совсем по теме, но чтобы не создавать новую:
а как сделать, чтобы на разных страницах выводились новости из разных категорий?
/простой пример: на английских страницах, у которых "папа" en, выводить новости из категории English, a там где "папа" ru, там из категории Russian/
Re: Вывод новостей только на главной.
Posted: Sat Jul 11, 2009 8:40 am
by von-hamster
написать udt который ищет папу... например,
Code: Select all
global $gCms;
$pg = $params['cur'];
$parent = $pg->ParentId();
while ($parent > 0) {
$pg = ContentOperations::LoadContentFromId($parent);
$parent = $pg->ParentId();
}
$smarty = &$gCms->GetSmarty();
$smarty->assign('main_parent', $pg->Alias());
вызываешь тэг, а в качестве параметра cur передаешь $content_obj
на выходе у тебя появится переменная, в которой альяс страницы первого уровня.
Я примерно так сделал на
http://altshuler.ru/ - цвет внутрених страниц подставляется в зависимости от родительского раздела. или на
http://imgprint.ru/ - там тоже 2 раздела. чтобы не проставлять каждой странице щаблон - он считается в зависимости от родителя.
Re: Вывод новостей только на главной.
Posted: Sat Jul 11, 2009 9:55 pm
by Ink
спасибо! помогло!
Re: Вывод новостей только на главной.
Posted: Tue Aug 04, 2009 10:18 am
by von-hamster
В версии 1.6.3 данный трюк не сработал.
Исправленый более универсальный вариант:
Создаем пользовательский тэг R_parent следующего содержания:
Code: Select all
global $gCms;
$parent = $gCms->variables['content_id'];
do {
$pg = ContentOperations::LoadContentFromId($parent);
$parent = $pg->ParentId();
} while ($parent > 0);
$smarty = &$gCms->GetSmarty();
$smarty->assign('R_parent', $pg->Alias());
Далее в шаблое просто вызываем: {R_parent} без параметров.
В итоге у нас добавится переменная $R_parent в шаблоне, которую можно использовать.
Re: Вывод новостей только на главной.
Posted: Tue Aug 04, 2009 2:38 pm
by Po6oT
von-hamster - гений, но, как и все гении, слегка безумный

я в подобных случаях обычно обхожусь двумя шаблонами
Re: Вывод новостей только на главной.
Posted: Tue Aug 04, 2009 4:23 pm
by von-hamster
Два шаблона хорошо, когда они простые и их не нужно править, или когда они совершенно непохожи... И когда немного страниц... А когда разница в шаблонах - всего пара строк - зачем плодить? Вдруг понадобится поменять дизайн? Мне для этого нужно будет исправить всего один шаблон, тебе - два... На том-же альтшулере - вообще 4 раздела плюс главная... Предлагаешь делать (править) 5 шаблонов, когда разница между ними всего название классов у соответствующих элементов?
На том-же альтшулере при создании страницы в твоем варианте пользователь должен выбирать не только раздел, но и шаблон? Причем не запутаться, какой именно. В моем варианте - поместив в раздел - автоматом получаешь нужный вид...
С теми-же новостями - если разница только в категории - зачем создавать новый шаблон?
ЗЫ... Вы явно мало работали в поддержке - самое главное облегчить себе жизнь в дальнейшем, и заставлять пользователя делать как можно меньше действий - меньше вероятность возникновения ошибки.
Re: Вывод новостей только на главной.
Posted: Wed Aug 05, 2009 9:48 pm
by ZYV
Поддержка это проклятье... не дай бог каждому. Сил тебе, хомяк.