21 июл 2011
Для каждой категории свой main.tpl
ALEKS333 Категория: DATALIFE ENGINE » Модули
У нас вы можете скачать бесплатно Для каждой категории свой main.tpl

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Для каждой категории свой main.tpl


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

Для того, чтобы при открытии категории обрабатывался не стандартный main.tpl а персональный, нужно немного изменить код в index.php

Вместо:

$tpl->load_template ( 'main.tpl' );


прописать:

$f_ = ($newsid !== 0) ? //Если вывод конкретной новости в полном формате
'main_' . $cat_info[$category_id]['alt_name'] . '.tpl' : //То берем ее шаблон
(($do == 'cat') ? 'main_' . $category . '.tpl' : 'main.tpl' ); //Если вывод категории, то берем ее шаблон, иначе - основной
if (file_exists(TEMPLATE_DIR . '/'. $f_)) { //Есть файл шаблона для конкретной категории
$catTemplate = $f_;
}else{//Нет файла шаблона для конкретной категории, припишем родительский шаблон (если у нас ПОДкатегория)
$parentid_ = $cat_info[$category_id]['parentid'];
$alt_name_cat_ = $cat_info[$parentid_]['alt_name'];
while (isset($alt_name_cat_)) //Есть имя, т.е. не вамый верх!
{
if (isset ($alt_name_cat_)&file_exists(TEMPLATE_DIR . '/'. 'main_' . $alt_name_cat_ . '.tpl')) {
$catTemplate = 'main_' . $alt_name_cat_ . '.tpl';
break;
}else{
$parentid_ = $cat_info[$parentid_]['parentid'];
$alt_name_cat_ = $cat_info[$parentid_]['alt_name'];
}
}
}
$catTemplate = isset ($catTemplate)&&(file_exists(TEMPLATE_DIR . '/'. $catTemplate)) ? $catTemplate : 'main.tpl'; //Проверим присутствие файла шаблона
$tpl->load_template ( $catTemplate );


Персональный шаблон для категории должен находиться в папке шаблона и иметь имя: main_cat.tpl, где cat - url категории.

В данном хаке просматриваются ВСЕ родительские категории на предмет наличия шаблона. В случае отсутствия - выводится main.tpl

Недостаток - при выводе полной новости принадлежащей к нескольким категориям, она будет открыта в шаблоне первой категории по порядку.

ВНИМАНИЕ!!! Я НЕ ПРОВЕРЯЛ ХАК, КТО ПРОВЕРИТ ОТПИШИТЕ В НОВОСТИ РАБОТАЕТ ИЛИ НЕТ!









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
domino | 21 июля 2011 16:10
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

щас проверим

14 Всё работает +1 автору

ALEKS333 | 21 июля 2011 16:30
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

спасибо, за проверку тебе +

Sashar_93 | 21 июля 2011 19:24
  • Группа: Посетители |
  • Комментарий: 3 (ссылка)

Если меня не подводит память, то можно выставить шаблон сайта (файл tpl) в настройках категории..,

Classic | 22 июля 2011 01:04
  • Группа: Посетители |
  • Комментарий: 4 (ссылка)

Спасибо огромное за этот хак, очень нужен мне. Автору +100500

vitallativ | 22 июля 2011 20:55
  • Группа: Посетители |
  • Комментарий: 5 (ссылка)

Цитата: Sashar_93
Если меня не подводит память, то можно выставить шаблон сайта (файл tpl) в настройках категории..,


вот-вот

Ivan | 22 июля 2011 23:37

СПС!!!!!!!!

ALEKS333 | 23 июля 2011 01:23
  • Группа: Посетители |
  • Комментарий: 7 (ссылка)

там описание новости shortstoru или fullstory а тут main.tpl

Faet0n | 23 июля 2011 11:45
  • Группа: Посетители |
  • Комментарий: 8 (ссылка)

Не совсем понял смысл данного хака....
Меня интересует есть ли хак, который сделает вывод служебной информации в заданном скине, т.е. если на категорию висит другой скин, то если человек находится в этой категории и допустим тыкает на кнопку регистрация, что б форма регистрации открывалась так же в этом скине, а не в основном.

ZORO | 29 апреля 2012 23:43
  • Группа: Посетители |
  • Комментарий: 9 (ссылка)

Интересно хак спасибо!!!

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.