OPener 0 Опубликовано: 25 ноября 2011 Рассказать Опубликовано: 25 ноября 2011 opener-tv.ru Ребят, а если я хочу сделать, чтобы у некоторых категориях сайта был свой полноценный шаблон, но при этом во всех бы этих шаблонах были подключаемый хэдер, сайдбар и футер... при этом хэдер, сайдбар и футер должны быть одинаковыми, будет ли правильным сделать это следующим образом: Допустим, у нас 3 шаблона: oneshot, twoshot, threeshoot для каждой из трёх категорий и располагаются они в папке "templates". Я создаю в этой же папке папку "includes" и в ней размещаю header.tpl, sidebar.tpl и footer.tpl, чтобы они находились в своем отдельном месте, а не в папке каждого шаблона. Это для того, чтобы браузер кэшировал эти инклайды, а не подгружал их каждый раз при просмотре каждой категории и если какие-то изменения нужно внести в хэдэр, сайбдар и футер, то потребуется подредактировать всего один файл. Или можно не создавать папку "includes", а разместить header.tpl, sidebar.tpl и footer.tpl прямо в "templates". Да, лучше сделать так. Далее я подключаю эти инклайды в main.tpl каждого шаблона (oneshot, twoshot, threeshoot) строками {include file="templates/header.tpl"}, {include file="templates/sidebar.tpl"}, {include file="templates/footer.tpl"} и всё работает? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 071 Опубликовано: 25 ноября 2011 Рассказать Опубликовано: 25 ноября 2011 Нет, работать не будет. Выйти за пределы своего шаблона в целях безопасности нельзя и все файлы шаблонов подключаются только при нахождении в пределах этого шаблона. Цитата Ссылка на сообщение Поделиться на других сайтах
OPener 0 Опубликовано: 25 ноября 2011 Рассказать Опубликовано: 25 ноября 2011 (изменено) Автор Тогда мне предется продублировать header.tpl, sidebar.tpl и footer.tpl в каждом шаблоне? Работать будет, но каждый шаблон будет загружаться заново, хоть у них и одинаковые инклайды. А если мне потребуется изменить хэдер, то в каждом шаблоне мне надо будет обновить header.tpl. Я прав? Если да, то реализовать это можно, но получится накладно. А если таких шаблонов будет 5? А если их ежедневно нужно обновлять? Печально. А если не делать несколько шаблонов, а выводить инклайды header.tpl, sidebar.tpl и footer.tpl в теге авиэйбл на главной (main.tpl), например - [aviable=global] {include file="templates/header.tpl"} [/aviable]? Задать хэдеру и футеру выводится на всех страницах (глобал), а сайдбар уже менять для каждой категории. Также мы назначим свой шаблон для вывода короткой новости в каждой категории и получится сайт с всегда одинаковым хэдэром и футером, но с разным выводом сайдбара и новостей, в зависимости от категории и всё это благодаря авиэйбл. Это будет правильно? Возможно? Изменено 25 ноября 2011 пользователем OPener Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 071 Опубликовано: 25 ноября 2011 Рассказать Опубликовано: 25 ноября 2011 Тогда мне предется продублировать header.tpl, sidebar.tpl и footer.tpl в каждом шаблоне? Работать будет, но каждый шаблон будет загружаться заново, хоть у них и одинаковые инклайды. А если мне потребуется изменить хэдер, то в каждом шаблоне мне надо будет обновить header.tpl. Я прав? да вы правы А если не делать несколько шаблонов, а выводить инклайды header.tpl, sidebar.tpl и footer.tpl в теге авиэйбл на главной (main.tpl), например - [aviable=global] {include file="templates/header.tpl"} [/aviable]? это вам решать, можете и так организовывать свой шаблонЗадать хэдеру и футеру выводится на всех страницах (глобал), а сайдбар уже менять для каждой категории. для этого есть теги [category] http://dle-news.ru/extras/online/index.html?newitem23.html Цитата Ссылка на сообщение Поделиться на других сайтах
OPener 0 Опубликовано: 25 ноября 2011 Рассказать Опубликовано: 25 ноября 2011 Автор Ну да. Спасибо, celsoft. Цитата Ссылка на сообщение Поделиться на других сайтах
Critical Error 155 Опубликовано: 27 ноября 2011 Рассказать Опубликовано: 27 ноября 2011 Чтоб тему не открывать новую, задам здесь вопросы. Выйти за пределы своего шаблона в целях безопасности нельзя и все файлы шаблонов подключаются только при нахождении в пределах этого шаблона. Не получается подключить если в папке шаблона создать дополнительную папку (templates/название_шаблона/include) и подключать шаблон из нее {include file="include/test.tpl"}[/CODE] При выводе страницы слэш из строчки подключения просто убирается. И еще вопрос, какова вложенность подключаемых файлов. То есть, в main.tpl подключаем test1.tpl, в этом test1.tpl подключаем test2.tpl. Вот сколько раз можно так подключать? Опытным путем выяснил что третий файл, из test2.tpl, уже не подключается и выводит просто сроку подключения Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 071 Опубликовано: 27 ноября 2011 Рассказать Опубликовано: 27 ноября 2011 При выводе страницы слэш из строчки подключения просто убирается. Так и должно быть, все файлы шаблона распологаются в одной папке. И еще вопрос, какова вложенность подключаемых файлов. То есть, в main.tpl подключаем test1.tpl, в этом test1.tpl подключаем test2.tpl. Вот сколько раз можно так подключать? Опытным путем выяснил что третий файл, из test2.tpl, уже не подключается и выводит просто сроку подключения Один уровень вложенности, также в целях безопасности, чтобы не допустить умышленного или неумышленного зацикливания, что неминуемо приведет к падению сервера. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
Critical Error 155 Опубликовано: 27 ноября 2011 Рассказать Опубликовано: 27 ноября 2011 Спасибо. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.