Вывод новостей только на главной.
Вывод новостей только на главной.
Добрый день, уважаемые.
Решил попробовать в деле CMSMS, возник такой вопрос - можно ли средствами движка убрать блок новостей со всех страниц, кроме главной, или же надо реализовывать это на РНР?
Вроде по англовики ходил, но ничего на эту тему не нашел. Заранее благодарен за ответ.
Решил попробовать в деле CMSMS, возник такой вопрос - можно ли средствами движка убрать блок новостей со всех страниц, кроме главной, или же надо реализовывать это на РНР?
Вроде по англовики ходил, но ничего на эту тему не нашел. Заранее благодарен за ответ.
-
- Power Poster
- Posts: 339
- Joined: Thu Nov 01, 2007 3:11 pm
Re: Вывод новостей только на главной.
Можно, например, заключить новостной блок в шаблоне в:
{if $content_obj->mDefaultContent}{news...}{/if}
{if $content_obj->mDefaultContent}{news...}{/if}
Re: Вывод новостей только на главной.
О, спасибо, то что доктор прописал.
Re: Вывод новостей только на главной.
не совсем по теме, но чтобы не создавать новую:
а как сделать, чтобы на разных страницах выводились новости из разных категорий?
/простой пример: на английских страницах, у которых "папа" en, выводить новости из категории English, a там где "папа" ru, там из категории Russian/
а как сделать, чтобы на разных страницах выводились новости из разных категорий?
/простой пример: на английских страницах, у которых "папа" en, выводить новости из категории English, a там где "папа" ru, там из категории Russian/
-
- Power Poster
- Posts: 339
- Joined: Thu Nov 01, 2007 3:11 pm
Re: Вывод новостей только на главной.
написать udt который ищет папу... например,
вызываешь тэг, а в качестве параметра cur передаешь $content_obj
на выходе у тебя появится переменная, в которой альяс страницы первого уровня.
Я примерно так сделал на http://altshuler.ru/ - цвет внутрених страниц подставляется в зависимости от родительского раздела. или на http://imgprint.ru/ - там тоже 2 раздела. чтобы не проставлять каждой странице щаблон - он считается в зависимости от родителя.
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());
на выходе у тебя появится переменная, в которой альяс страницы первого уровня.
Я примерно так сделал на http://altshuler.ru/ - цвет внутрених страниц подставляется в зависимости от родительского раздела. или на http://imgprint.ru/ - там тоже 2 раздела. чтобы не проставлять каждой странице щаблон - он считается в зависимости от родителя.
Re: Вывод новостей только на главной.
спасибо! помогло!
-
- Power Poster
- Posts: 339
- Joined: Thu Nov 01, 2007 3:11 pm
Re: Вывод новостей только на главной.
В версии 1.6.3 данный трюк не сработал.
Исправленый более универсальный вариант:
Создаем пользовательский тэг R_parent следующего содержания:
Далее в шаблое просто вызываем: {R_parent} без параметров.
В итоге у нас добавится переменная $R_parent в шаблоне, которую можно использовать.
Исправленый более универсальный вариант:
Создаем пользовательский тэг 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 в шаблоне, которую можно использовать.
Re: Вывод новостей только на главной.
von-hamster - гений, но, как и все гении, слегка безумный 
я в подобных случаях обычно обхожусь двумя шаблонами

я в подобных случаях обычно обхожусь двумя шаблонами
-
- Power Poster
- Posts: 339
- Joined: Thu Nov 01, 2007 3:11 pm
Re: Вывод новостей только на главной.
Два шаблона хорошо, когда они простые и их не нужно править, или когда они совершенно непохожи... И когда немного страниц... А когда разница в шаблонах - всего пара строк - зачем плодить? Вдруг понадобится поменять дизайн? Мне для этого нужно будет исправить всего один шаблон, тебе - два... На том-же альтшулере - вообще 4 раздела плюс главная... Предлагаешь делать (править) 5 шаблонов, когда разница между ними всего название классов у соответствующих элементов?
На том-же альтшулере при создании страницы в твоем варианте пользователь должен выбирать не только раздел, но и шаблон? Причем не запутаться, какой именно. В моем варианте - поместив в раздел - автоматом получаешь нужный вид...
С теми-же новостями - если разница только в категории - зачем создавать новый шаблон?
ЗЫ... Вы явно мало работали в поддержке - самое главное облегчить себе жизнь в дальнейшем, и заставлять пользователя делать как можно меньше действий - меньше вероятность возникновения ошибки.
На том-же альтшулере при создании страницы в твоем варианте пользователь должен выбирать не только раздел, но и шаблон? Причем не запутаться, какой именно. В моем варианте - поместив в раздел - автоматом получаешь нужный вид...
С теми-же новостями - если разница только в категории - зачем создавать новый шаблон?
ЗЫ... Вы явно мало работали в поддержке - самое главное облегчить себе жизнь в дальнейшем, и заставлять пользователя делать как можно меньше действий - меньше вероятность возникновения ошибки.
Re: Вывод новостей только на главной.
Поддержка это проклятье... не дай бог каждому. Сил тебе, хомяк.
unsigned double ZYV;