Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » Для каждой категории свой main.tpl

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

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

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

Свой 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

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


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


-2
Просмотры: 7 508 :: Комментарии (5) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1Толик

  • 12 февраля 2010 19:02
  • Регистрация: 1.02.2010
  • Был(а) онлайн: 22.10.2023
  • Комментариев: 28
  • -2
Я себе на отдельную категорию другой шаблон поставил и не парюсь.

--------------------

#2gelios

  • 14 февраля 2010 07:46
  • Регистрация: 11.02.2010
  • Был(а) онлайн: 27.04.2011
  • Комментариев: 7
  • -2
Полезный хак, теперь шабы как и на Joomla!

#3Dgoker

  • 7 марта 2010 16:53
  • Регистрация: 21.01.2010
  • Был(а) онлайн: 25.01.2016
  • Комментариев: 1
  • -2
То что мне и нужно ! Спасибо автору

#4Danny_Wheller

  • 31 марта 2011 18:55
  • Регистрация: 30.03.2011
  • Был(а) онлайн: 30.03.2011
  • Комментариев: 1
  • -2
Мега тема!!! Огромное спасибо!!!!

#5metis

  • 20 августа 2013 09:48
  • Регистрация: 15.06.2011
  • Был(а) онлайн: 15.04.2020
  • Комментариев: 30
  • -2
Спасибо большое )

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

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)