Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

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

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

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

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

Вне форума

#2 2010-04-15 14: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 14:44:37)

Вне форума

#3 2010-04-15 14: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 14:49:19)

Вне форума

#4 2010-04-15 15: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 15:06:21)

Вне форума

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

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

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

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

Вне форума

#6 2010-04-15 15: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 15:27:30)

Вне форума

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

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

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

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

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.033 сек, 7 запросов выполнено - Использовано памяти: 538.26 Кбайт (Пик: 559.26 Кбайт) ]