Все для DataLife Engine / DLE хаки / Хак для DLE / Хак дле Для каждой категории свой шаблон для DLE

Хак дле Для каждой категории свой шаблон для DLE

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


Не большой dle хак позволяет назначить каждой категории свой шаблон.
Хак дле Для каждой категории свой шаблон для DLE
Открываем 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

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

Как вариант - берём содержимое обоих main.tpl и запихиваем каждое между тегами [category ] в один файл.
а если по правильному - то делается одна html основа (имею ввиду html-разметку в езд файлах) и 2 файла CSS, заключенные в теги category, которые и придают разный вид вашему сайту без всяких плясок с правкой php.


dle9.com рекомендует скачать hak хак каждой категории свой шаблон

dlya-kazhdoy-kategorii-svoy-main.tpl.rar [1,52 Kb] (cкачиваний: 164)
  • 100

Комментарии 4

dle9.com от 28 ноября 2011 12:08
nalex,
Длинная строчка ---- нужно выбрать "Перенос по словам" тогда будет проще выполнить процедуру поиска .
Воспользуйтесь поиском Блокноте+ сократите слово поиска и будьте внимательны слова могут много раз повторять нужно найти правильное место вставки..
nalex от 28 ноября 2011 10:48
Интересная ситуация.... Открываю в Блокноте+ index.php и вижу только одну длинную строчку с закорлючками. Куда и что вставлять - не пойму...
dle9.com от 30 сентября 2011 15:41
Цитата: ANRY
Этот хак не работает на dle 9.x


Замечательно все работает проверил на 9.4
может тут проблема у Вас
main_cat.tpl пример если нужна была бы категория для сайта dle9.com
Бесплатные шаблоны main_shabloni.tpl , а так все по инструкции .
Если есть подкатегории указываем только их
И ещё ЧПУ 2 стояло на других не проверял ...может в этом проблема
Очень быстро работает ....надо что-нибудь придумать это кое с этим хаком :feel:
ANRY от 29 сентября 2011 14:28
Этот хак не работает на dle 9.x
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent