Главная страница / Советы / Использование различных шаблонов для разделов сайта
сентябрь 20 2008

Использование различных шаблонов для разделов сайта

celsoft 20 сентября 2008 Советы 33 852
Дорогие друзья,

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

Итак первое что нам необходимо это обратится к документации скрипта, которая гласит что шаблон main.tpl поддерживает следующие теги:

[aviable=раздел] текст [/aviable] который выводит текст заключенный в теги если просматривается указанный раздел сайта

также у этого тега есть противоположность

[not-aviable=раздел] текст [/not-aviable] который выводит текст заключенный в теги если просматривается любой раздел кроме указанного

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

[aviable=feedback] тут весь текст шаблона, который будет показываться при просмотре обратной связи [/aviable]
[not-aviable=feedback] тут весь текст шаблона, который будет показываться везде кроме обратной связи [/not-aviable]

Но у этого есть один большой минус, ваш основной файл шаблона main.tpl будет слишком большого размера, т.к. по сути будет содержать два разных оформления, и тут мы опять обращаемся к документации и скрипта и узнаем о существовании прекрасного тега: {include file="my_block.tpl"}, который подключает указанный файл my_block.tpl в шаблон.

Исходя из всего выше изложенного финальная реализация выглядит следующим образом:

Содержание main.tpl:
[aviable=feedback] {include file="feedback_main.tpl"} [/aviable]
[not-aviable=feedback] {include file="all_main.tpl"} [/not-aviable]

В файле шаблона feedback_main.tpl мы делаем оформление обратной связи, а в файле all_main.tpl мы делаем оформление всего остального сайта. Вот собственно и все, легко и достачно просто реализовать, не нужно производить никаких модификаций скрипта. Также вы можете оформить оформление любого раздела, можете комбинировать несколько разделов и т.д. Чаще и внимательнее прочитывайте документацию к скрипту, там достаточно много полезного можно подчеркнуть для себя.

С уважением,

SoftNews Media Group

Комментарии

  1. UdmDude (Клиенты)

    20 сентября 2008 09:42 17 комментариев
    В {include file="http://*/*.tpl"} - нельзя использовать абсолютный путь?
  2. Zergio (Клиенты)

    20 сентября 2008 10:02 19 комментариев
    Если бы еще подобным образом было можно {content} вывести в несколько колонок, было бы вообще шикарно!
  3. celsoft (Администраторы)

    20 сентября 2008 11:27 3 444 комментария
    Цитата: UdmDude
    В {include file="http://*/*.tpl"} - нельзя использовать абсолютный путь?

    нет, файл должен лежать в папке шаблона
    Цитата: Zergio
    Если бы еще подобным образом было можно {content} вывести в несколько колонок, было бы вообще шикарно!

    легко. есть такое тег HTML <div>, а у него замечательное свойство float:left
    только делать это нужно не в main.tpl а в shortstory.tpl
  4. Zergio (Клиенты)

    20 сентября 2008 13:54 19 комментариев
    Цитата: celsoft
    легко. есть такое тег HTML <div>, а у него замечательное свойство float:left
    только делать это нужно не в main.tpl а в shortstory.tpl

    Я над этим уже думал, вопрос как тогда задать количество колонок в строку? Задавать фиксированную или процентную ширину?

    P.S. Вроде получилось, но у меня фиксированная ширина повсюду, на резиновом не пробовал.

    P.P.S. Celsoft почему на иконке группы "Администратор" изображен человечек в немецкой гестаповской форме? Это имеет какой-то подтекст? smile
  5. celsoft (Администраторы)

    20 сентября 2008 21:44 3 444 комментария
    Цитата: Zergio
    Я над этим уже думал, вопрос как тогда задать количество колонок в строку? Задавать фиксированную или процентную ширину?

    очень просто фиксируете ширину на количество пикселей, если дизайн резиновый то в процентном отношении, например 50% две колонки, 33% три колонки.

    По высоте тоже можено отфиксировать, а чтобы если текст большой то задаете свойство overflow:hidden

    Цитата: Zergio
    P.P.S. Celsoft почему на иконке группы "Администратор" изображен человечек в немецкой гестаповской форме? Это имеет какой-то подтекст?

    Что за глупости вы говорите, лично у меня никаких подобных ассоциаций эта иконка не вызывает, наверное много военных фильмов смотрите smile
  6. evolver (Клиенты)

    21 сентября 2008 21:07 10 комментариев
    А не будет ли много проблем с таким кодом? Поясните какие теги будут не доступны при таком стечении обстоятельств?
  7. celsoft (Администраторы)

    21 сентября 2008 23:07 3 444 комментария
    Что то я немного не понял...
    Куда это ([aviable=feedback] {include file="feedback_main.tpl"} [/aviable]) ставить?

    Содержание main.tpl

    Цитата: evolver
    А не будет ли много проблем с таким кодом? Поясните какие теги будут не доступны при таком стечении обстоятельств?

    а какие могут быть проблемы, все будет нормально
  8. kemper (Посетители)

    22 сентября 2008 21:10 1 комментарий
    подскажите как добавить отдельную css для IE?
    <!--[if IE]>
    ./...
    <![endif]-->
    не работает
  9. pompey (Посетители)

    23 сентября 2008 02:42 2 комментария
    я уже давно пользуюсь этой фишкой и считаю это одно из самых лучших преимуществ движка по сравнению с другими! спасиба! :)
  10. winblog (Клиенты)

    24 сентября 2008 14:25 30 комментариев
    Zergio,
    Цитата: Zergio
    P.S. Вроде получилось, но у меня фиксированная ширина повсюду, на резиновом не пробовал.

    Выложите, пожалуйста, код shortstory.tpl для двух колонок. А то что-то не получается. Не догоняю сколько должно быть тегов {short-story} и как они должны быть расположены.
  11. celsoft (Администраторы)

    25 сентября 2008 11:18 3 444 комментария
    Цитата: azov-gorod
    Я понял, что в main.tpl, мне не понятно где конкретно в коде я могу использовать это.

    Если можно, пример... плиз.

    а я что не пример привел? Там же четко написано Содержание main.tpl, т.е. main.tpl состоит всего из двух строчек
  12. Araks (Посетители)

    25 сентября 2008 13:39 18 комментариев
    Скажите, а с помощью {include} возможно вывести на главной странице site.ru сразу какую-нибудь категорию? То есть я хочу вывести категорию книг на главную страницу, чтоб она работала своим обычным образом:
    1) все новости из этой категории выводятся с помощью тэга {content} (не {custom}).
    2) в самом низу перечислены все страницы (1,2,3,4 ... 54), то есть как и по умолчанию для главной страницы, но только, чтоб это была выбранная мной категория.

    То есть мне нужно так сделать?
    В шаблоне category.tpl:
    шапка шаблона
    [category=4]{content}[/category]
    футер шаблона

    В шаблоне main.tpl:
    {include file="category.tpl"}

    По-моему таким образом на главной ничего не будет выведено. И клацая по каким-либо разделам там тоже ничего не будет выведено. Только зайдя в КАТЕГОРИЮ №4 там будут новости.

    А как сделать, чтоб все новости из этой 4-й категории выводились на главной, и больше никакие другие. При этом, чтоб в самом низу были страницы (1,2,3,4 ... 54) из этой категории...???

    Помогите пожалуйста.
  13. celsoft (Администраторы)

    25 сентября 2008 15:04 3 444 комментария
    вообще то связка тегов
    [category=4]{content}[/category]

    невыводит содержимое определенной категории, она выводит текст если просматривается указанная категория. Новости по определенным параметрам выводит только тег {custom}
  14. alarmmotors (Клиенты)

    27 ноября 2008 17:14 16 комментариев
    celsoft,
    спасибо большое, таким способом получилось прикрутить форум, но возник вопрос, а как теперь в админку по редактированию шаблонов (Редактирование разделов шаблона:) добавить возможность редактирования основного шаблона с новым именем в моем случаи этот шаблон main_all.tpl
  15. busekov (Посетители)

    27 декабря 2008 18:01 3 комментария
    Добрый день!
    Скажите пожалуйста, если я использую 2 или 3 шаблона для разных категорий, то есть

    [category=1]{include file="main_1.tpl"}[/category]
    [category=2]{include file="main_2.tpl"}[/category]
    [category=3]{include file="main_3.tpl"}[/category]


    как сделать, чтобы во всех других случаях, когда не указан шаблон, чтобы загружался только главный шаблон main_all.tpl? для ссылок не относящихся к этим категориям, для всего остального, для кого не указан шаблон?
  16. busekov (Посетители)

    28 декабря 2008 11:48 3 комментария
    Все, простите, разобрался, кому интересно, фаил main.tpl имеет следующее содержание:

    [category=1]{include file="main_1.tpl"}[/category]
    [category=2]{include file="main_2.tpl"}[/category]
    [category=3]{include file="main_3.tpl"}[/category]

    [not-category=1,2,3]{include file="main_all.tpl"}[/not-category]


    То есть, у разделов 1,2 и 3 индивидуальный шаблон, а для всего остальноко используется главный шаблон main_all.tpl

    Да, все просто :) Для кого то ни чего нового, а я очень доволен этим открытием)))

    p.s. в строках "[category=1]" "[not-category=1,2,3]", цифры, это номер ID категории, который можно посмотреть в админке, при создании категории.
  17. spychik (Посетители)

    3 февраля 2009 22:35 4 комментария
    [aviable=search,stats]{include file="main_search.tpl"}[/aviable]
    [not-aviable=search,stats]{include file="main_all.tpl"}[/not-aviable]

    Не работает. Че делать? recourse
  18. celsoft (Администраторы)

    3 февраля 2009 23:00 3 444 комментария
    Цитата: spychik
    [aviable=search,stats]{include file="main_search.tpl"}[/aviable]
    [not-aviable=search,stats]{include file="main_all.tpl"}[/not-aviable]

    Не работает. Че делать?

    Читать документацию в плане правильности написания синтаксиса тегов
  19. spychik (Посетители)

    3 февраля 2009 23:04 4 комментария
    Спс, мой косяк feel
  20. Sergey (Посетители)

    13 апреля 2009 20:49 1 комментарий
    Как выводить текст только на главной странице?
    Или как не выводить текст только в статических страницах?!
    Например. Уменя на главной странице (main.tpl), содержится текст "О нас". Этот текст можно спрятать от категорий, но как сделать так, что бы он не выводился на статических страницах?
  21. OldBoy (Клиенты)

    31 мая 2009 15:23 21 комментарий
    как сделать чтобы вывелся другой шаблон для одной статической страницы?...

    к примеру, я сделал страничку internet_navigator.html ....
  22. Avaks (Клиенты)

    20 июня 2009 01:48 1 комментарий
    У меня такой же вопрос. Есть несколько статических страниц и очень надо выводить разные элементы (грубо говоря, подсветка меню) для разных страниц. Для категорий - понятно, а для страниц есть способ так сделать?
  23. Pearlowka (Клиенты)

    25 марта 2010 17:11 1 комментарий
    Цитата: OldBoy





    как сделать чтобы вывелся другой шаблон для одной статической страницы?...

    к примеру, я сделал страничку internet_navigator.html ....


    у меня тоже этот же вопрос, помогите пожалуйста
  24. celsoft (Администраторы)

    25 марта 2010 17:13 3 444 комментария
    Цитата: Pearlowka
    у меня тоже этот же вопрос, помогите пожалуйста

    пункт номер 20 https://dle-news.ru/release/908-datalife-engine-v85-final-release.html из новых возможностей версии 8.5
  25. voodoo13 (Посетители)

    19 апреля 2010 13:26 6 комментариев
    [aviable=...]

    Хочу изменить вид только главной страницы сайта. Какое имя у главной страницы? main?

Информация

Комментирование публикаций доступно только пользователям имеющим действующую лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Календарь

«    Декабрь 2020    »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031 

Опрос на сайте

Совершаете ли вы покупки в интернет?