Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2010-04-15 15:34:39

Nushaba
Участник
Зарегистрирован: 2009-11-09
Сообщений: 276
Рейтинг :   

Для каждой категории свой main.tpl

Здравствуйте уважаемые. Появилась потребность, сделать так, что бы под определённую категорию можно было например разные шапки рисовать, а в моём случае надо что бы на главной странице была моя шапка большая, а на остальных нет, ибо занимает она 80% окна браузера... Есть у кого мысли как бы такое реализовать? Что касается скриптов по рандомнуму выдаванию рисунка, такое я видел и это совсем не то, что мне надо, мне нужна именно тематика в рисунке к шапке и категории. Грубо говоря раздел аниме будет с анимешкой, раздел боевики будет с терминатором и тд.

Не в сети

#2 2010-04-15 15:41:32

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: Для каждой категории свой main.tpl

Уже сто раз обсуждалось smile http://ngcms.ru/forum/viewtopic.php?id=29 и не только в данной теме.

Nushaba, тебе если только для морды то так:

if (($CurrentHandler['pluginName'] == 'news') && ($CurrentHandler['handlerName'] == 'main')) {
 $mainTemplateName = 'НАЗВАНИЕ ШАБЛОНА';
}

Изменено Trashcka (2010-04-15 15:44:37)

Не в сети

#3 2010-04-15 15:47:26

Nushaba
Участник
Зарегистрирован: 2009-11-09
Сообщений: 276
Рейтинг :   

Re: Для каждой категории свой main.tpl

Trashcka, я другое имел в виду Таня. Там рассказывается как поменять шаблон news.short.tpl, news.full.tpl, а мне надо поменять именно в main.tpl Или если я добавлю другой main.tpl туда, то он тоже будет использоваться под категории как часть шаблона? И поясни пожалуйста, куда твой код вписать?

Изменено Nushaba (2010-04-15 15:49:19)

Не в сети

#4 2010-04-15 16:02:31

RocketBoy
Участник
Откуда Калининград
Зарегистрирован: 2008-10-14
Сообщений: 552
Рейтинг :   27 
Сайт

Re: Для каждой категории свой main.tpl

Nushaba, я бы так сделал
Вариант1.

// ===================================================================
// Make page output
// ===================================================================

$masterTemplateName = 'main';

// BEGIN: ** AREA FOR HANDY CORRECTIONS **
if ($CurrentHandler['params']['category']=="portfolio")
{
$masterTemplateName = 'main_portfolio';
}
if ($CurrentHandler['params']['category']=="service")
{
$masterTemplateName = 'main_service';
}

Ну и тд ...
Знаю это не лучший вариант.
Вариант2
Но рекомендую пощупать вот этот плагин. Создавай блоки, в них шапки и в настроках плагина, указывай где им появляться.
ЗЫ. Amarelius еще раз мега респект за ads_pro. +100000000

Изменено RocketBoy (2010-04-15 16:06:21)

Не в сети

#5 2010-04-15 16:16:52

Nushaba
Участник
Зарегистрирован: 2009-11-09
Сообщений: 276
Рейтинг :   

Re: Для каждой категории свой main.tpl

RocketBoy, по первому варианту я не понял нифига ) Я понял что там прописываешь категории, и юзать что то для категории, но что это именно, либо шаблон отдельный main.tpl, либо дух святой, откуда оно берётся и где прописывать этот код я хз ) Второй вариант мне больше понравился, действительно плагином этим можно выкрутиться, как я его только не использовал, но вот для такого дела как то не додумал. Спасибо, второй вариант устроит, но если у кого то есть ещё идеи, не против выслушать.

Не в сети

#6 2010-04-15 16:24:32

Trashcka
Участник
Откуда КиевГрад
Зарегистрирован: 2008-12-04
Сообщений: 1,487
Рейтинг :   73 

Re: Для каждой категории свой main.tpl

Nushaba пишет:

Trashcka, я другое имел в виду Таня. Там рассказывается как поменять шаблон news.short.tpl, news.full.tpl

Nushaba, там вообще рассказывается про все ))

Nushaba пишет:

а мне надо поменять именно в main.tpl

Я тебе и дала, то, что тебе надо, именно майн

Nushaba пишет:

И поясни пожалуйста, куда твой код вписать?

вставлять в index.php после

// 1. Determine template name & path
$mainTemplateName = isset($SYSTEM_FLAGS['template.main.name']) ? $SYSTEM_FLAGS['template.main.name'] : 'main';
$mainTemplatePath = isset($SYSTEM_FLAGS['template.main.path']) ? $SYSTEM_FLAGS['template.main.path'] : tpl_site;

т.е. на выходе должно выйти так:

// 1. Determine template name & path
$mainTemplateName = isset($SYSTEM_FLAGS['template.main.name']) ? $SYSTEM_FLAGS['template.main.name'] : 'main';
$mainTemplatePath = isset($SYSTEM_FLAGS['template.main.path']) ? $SYSTEM_FLAGS['template.main.path'] : tpl_site;

if (($CurrentHandler['pluginName'] == 'news') && ($CurrentHandler['handlerName'] == 'main')) {
 $mainTemplateName = 'ШАБЛОН МАЙН ДЛЯ МОРДЫ';
}

Если надо для какой-либо категории, то добавить такое:

if (($CurrentHandler['pluginName'] == 'news') && ($CurrentHandler['params']['category'] == 'АЛЬТ КАТЕГОРИИ')) {
 $mainTemplateName = 'ШАБЛОН МАЙН ДЛЯ КАТЕГОРИИ';
}

Изменено Trashcka (2010-04-15 16:27:30)

Не в сети

#7 2010-04-15 16:42:27

Nushaba
Участник
Зарегистрирован: 2009-11-09
Сообщений: 276
Рейтинг :   

Re: Для каждой категории свой main.tpl

Trashcka, очень хорошее решение для моей задачи, самый лучший ответ пожалуй. Спасибо!

Не в сети

Подвал раздела

Работает на FluxBB