Как подключить tpl файлы

Обновлено: 06.07.2024

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

Для того, чтобы добавить шаблон в CMS, нужно создать файл в директории tpls/content , например, test.tpl , и вставить туда ваш HTML-код. CSS-файл следует положить в папку css/cms и назвать style.css . Изображения желательно положить в папку images . Не забудьте поменять пути ко всем изображениям и CSS-файлам.

Замечание

В названии файла шаблона нельзя использовать русские буквы!

Чтобы подключить новый файл шаблона, заполните в самой нижней свободной строке поля « Название шаблона » (дайте ему какое-нибудь осмысленное название, например « Мой тестовый шаблон ») и « Имя файла » (в нашем случае, test.tpl ) и нажмите кнопку « Сохранить ».

Шаблоны будут видны в выпадающем списке при редактировании каждой страницы:

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

Попробуйте создать новую страницу (убедитесь, что в опции « Шаблон дизайна » выбран новый шаблон) и посмотрите, что получилось на сайте.

На сайте должен появиться ваш HTML-шаблон. Но сейчас он статический. Теперь вам надо сделать его динамическим.

Для начала надо определить, какие части HTML-кода будут изменяться. В нашем случае изменяться будут:

заголовок окна <title>;

мета-теги keywords и description;

заголовок текста <h1>;

Значит, предстоит немного поработать с HTML-шаблоном и вместо изменяющихся участков поставить соответствующие макросы.

Например, в начале HTML-файла заданы мета-теги и тайтл:

Заменяем их на соответствующие макросы (список макросов дан в приложении):

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

Аналогично поступим с заголовком текста. Было так:

А станет так. Заголовок текста выводится макросом %header%:

Основной текст страницы тоже изменяется:

Для вывода основного текста страницы есть макрос %content% :

Эта строчка подключает функцию быстрого редактирования и другие полезные возможности. При помощи нее вы сможете, нажав Shift + D , быстро перейти к правке текущей страницы сайта или каких-либо ее фрагментов.

В итоге должно получиться следующее:

Итак, мы сохраняем файл шаблона и смотрим на результат. Теперь страница практически полностью динамическая, за исключением меню. Предстоит « оживить » меню сайта. Посмотрим как сверстано меню:

Меню состоит из пунктов. Само меню как-то оформлено, и у пунктов тоже есть оформление. Например, у всего меню может быть некая рамка или фон, текущий пункт меню может быть выделен жирным и т.п. Также в одном меню могут быть разные уровни.

Выделим обрамление меню:

Пункт меню оформлен так:

Текущий пункт меню оформлен по-другому:

Исходный шаблон меню находится в файле /tpls/content/menu/default.tpl и выглядит так:

Вначале немного непонятно. На самом деле, все очень просто. Посмотрим на первую часть кода:

Это блок, который называется menu_block_level1 . Есть всего 3 типа таких блоков.

menu_block_level1 ― содержит HTML-обрамление меню;

menu_line_level1 ― содержит HTML-код пункта меню;

menu_line_level1_a ― то же самое, что и menu_line_level1, только используется для активного пункта меню.

Все, что расположено между <<<END и END; воспринимается, как html-шаблон (для всего меню или для отдельного пункта).

При генерации меню, система берет шаблоны пунктов (например, menu_line_level1), и ставит их друг за другом. Получается HTML-код, в котором содержатся все пункты меню. Этот код вставляется вместо макроса %lines% .

Итак, необходимо проставить код, который мы выделили выше (обрамление, пункты меню) в соответствующие блоки. Должно получиться примерно так:

Мы уже знаем, что вместо %lines% система подставляет пункты меню с их HTML-обрамлением. Нам встретились новые макросы. Вместо %link% вставляется URL пункта меню, а вместо %text% ― текст (определяется в поле « название страницы »).

Теперь меню можно вставить в шаблон страницы макросом %menu% ::

Шаблон готов.

Если вы хотите на каких-то страницах сайта выводить меню по другому шаблону, нужно создать еще один файл с шаблоном меню в той же папке. Например, menu2.tpl . Соответственно, при подключении меню к шаблону страницы вместо %menu% надо написать немного по-другому: %content menu('menu2')% .

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

Важно учитывать: не стоит размещать несколько макросов на одной строке. Вложенные макросы могут не сработать в качестве аргумента у других макросов.

Защита tpl файлов
Подскажите пожалуйста как защитить файлы шаблона от прямого вызова ?

Ошибки в файлах шаблонах header.tpl, footer.tpl
При установке нового шаблона появились косяки, а именно появились ошибки в файлах шаблонах.

Подключение заголовочных файлов и файлов реализации
Здравствуйте,при создании класса в visual studio руками не компилится проект,при создании через add.

Ммм. скорее всего не все поймут, привиду ещё просще пример, есть тпл stats.tpl там выводится статистика сайта, мне надо сделать stats2.tpl только что бы там выводился только текст прописынный в stats2.tpl.
Второй маин не подходит (2-ая главная страница) maxvel0007, честно как я не пытался понять так и не понял что вам нужно сделать. шаблон подключается так:
в нем вы можете прописывать любой нужный текст. либо создайте статическую страницу, напишите нужный текст, сделайте копию static.tpl и переименуйте ее например в example.tpl. При редактировании страницы выберите шаблон example.tpl maxvel0007, честно как я не пытался понять так и не понял что вам нужно сделать. шаблон подключается так:
в нем вы можете прописывать любой нужный текст. либо создайте статическую страницу, напишите нужный текст, сделайте копию static.tpl и переименуйте ее например в example.tpl. При редактировании страницы выберите шаблон example.tpl Давайй представим как выводится stats.tpl При его открытии выводит только то что в нём написанно и всё, мне нужено вывесть так же вывести ststs.tpl только уже не 2 вариант. Как бы 2 статистики но во второй не фифа не статистика ))

maxvel0007 , это не вы писали загадочный , полный загадок и неясностей сценарий сериала Лост ?

maxvel0007 , это не вы писали загадочный , полный загадок и неясностей сценарий сериала Лост ? Возможно, ну я уже не знаю как проще объяснить.
Это подключение:


Подключение .c и .h файлов. Си
Собственно нужно подключить в .c файл .h файл. Создал .prj в котором прописал свои 2 файла. Что.

подключение файлов
Объясните для новичка пожалуйста :wall: Я хочу сделать верх сайта, низ (футер) и менюшку на все.

Подключение файлов
Здраствуйте! Проблема заключается в том, что при чтении файла формата .txt файл читает но вместо.

Подключение файлов .js
Ребята помогите пожалуйста стаким вопросом: Суть проблемы. есть 2 файла HTML и 2 файла .js Из.

Использование tpl-файлов

Сразу скажу, что я уже писал об этой теме здесь: использование tpl-файлов. Однако, не все поняли данный материал, и я решил к нему вернуться и написать всё немного по-другому. Не секрет, что любой серьёзный движок никогда не будет смешивать в своём коде HTML и PHP. Однако, HTML и PHP коды очень тесно взаимосвязаны, поэтому для того, чтобы не нарушать правила "хорошего тона", были придуманы tpl-файлы. Данные файлы служат для хранения HTML-кода с элементами шаблонов, которые подставляются в PHP-коде. Давайте подробнее разберём использование tpl-файлов с примером.

Возьмём с Вами самый элементарный пример - это панель пользователя, где есть его аватарка и приветствие по имени. Первым делом, создадим tpl-файл, и пусть он называется userpanel.tpl. Напоминаю, что это всего лишь кусок HTML-кода с элементами шаблона:

Ничего сложного, это просто обычный HTML-код. Только вместо определённых значений стоят %элементы_шаблона%.

Теперь разберёмся с PHP-обработкой. Здесь всё будет более, чем абстрактно, но, к сожалению, по-другому никак. Главное - это понять принцип работы. И так PHP-код для обработки созданного tpl-файла:

<?php
/* Данная функция, хоть и использует буферы, но суть элементарна: вернуть содержимое файла */
function getTemplate($name) ob_start(); // Начинаем сохрание выходных данных в буфер
include ($name.".tpl"); // Отправляем в буфер содержимое файла
$text = ob_get_clean(); // Очищаем буфер и возвращаем содержимое
return $text; // Возвращение текста из файла
>
$name = "Николай"; // Извлекается из базы
$avatar = "avatars/user_15.jpg"; // Извлекается из базы
/* Начинается замена элементов шаблона на реальные данные */
$userpanel = str_replace(
array(
"%name%",
"%avatar%"
),
array (
$name,
$avatar
),
getTemplate("userpanel")
);
echo $userpanel; // Выводим окончательный результат
?>

Это простейший вариант. Всё прокомментировано, поэтому вопросов по этому примеру возникнуть не должно. И по сути любая страница состоит из таких вот блоков. Ваша задача взять нужные блоки (функция getTemplate()), заменить нужными данными (функция str_replace() и данные полученные, например, из базы), а потом просто соединить все блоки, как обычные строки, и вывести всё на страницу.

Безусловно, без ООП здесь очень проблемно будет. Вы такое количество условий наплодите (страниц же много), что быстро запутаетесь. Но принцип использования tpl-файлов, надеюсь, Вы осознали. Дальше уже самостоятельно подумайте, как всё это обернуть в ООП, чтобы всё было максимально простым с точки зрения понимания кода и его сопровождения в будущем.


Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

Комментарии ( 23 ):

А здесь можно было использовать file_get_contents($name.".tpl") вместо getTemplate($name)?

Да, если Вам так удобнее. Просто я привык к буферам, в своё время с ними много работал, но file_get_contents() вполне подходит. Но я настоятельно рекомендую использовать getTemplate(), просто внутри используйте file_get_contents(). Очень часто бывают всякие повторяющиеся элементы (по типу адреса сайта), которые постоянно заменяются и их можно автоматически всегда при вызове getTemplate() сразу заменять. Это резко сокращает количество кода.

Я сделал себе обработку через getTemplate, но тогда не получается сделать включение любого модуля (например опроса, формы авторизации, отдельных файлов)без PHP. Как делать include в TPL?

Это и не нужно делать, всё должно включаться через PHP.

а к чему именно tpl? я лично использую формат файла php - разницы не вижу

Принято так. Можете использовать хоть txt, хоть вообще без расширения, результат будет тот же.

Чтобы не выводить содержимое файла до замены элементов шаблона. Но, как я уже писал выше, это Ваше дело - можете использовать метод из статьи, которую привели.

Миша, подскажи как мне потсупить? У меня есть файлы в которых выводится из базы только текст, в нём я могу делать так и проблем не будет : $template = str_replace( array( "%text%" ), array ( $index['text'].$view ), getTemplate("open") ); И у меня есть файлы в которых мне приходиться именно в основном контенте делать большие скрипты с циклами и т.д. Как мне быть с такими файлами? Делать отдельные файлы tpl? или как? А можно ли работу всего скрипта занести в одну переменную? Просто тогда мне бы не надо было создавать идентичные друг другу файлы. Подскажи плиззз

Единственный выход - это создавать новые tpl-файлы, очень похожие на остальные. Это недостаток, но ничего не поделаешь.

Понятно, а почему если в файле с шаблоном стоит цикл после %text% то выдаёт ошибку?

В файле с шаблоном не должно быть циклов.

А как мне тогда выводить те же самые комментарии? Надо делать их блоками?

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

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

Четыре простых способа открыть TPL Files

Сценарий: У вас есть файл с файлом расширения TPL на вашем компьютере, который вам нужно открыть. Вы дважды щелкните по нему, как обычно, ожидая, что программа загрузит его, но, к сожалению, ничего не происходит. Вы повторите попытку, но ничего не происходит. Что ты можешь сделать? Попробуйте эти четыре простых метода, чтобы открыть troublesome файл TPL.

Microsoft Partner Silver Application Development

Открывает все ваши файлы, как
МАГИЯ! 1

Установить необязательные продукты - File Magic (Solvusoft)
EULA | Privacy Policy | Terms | Uninstall

1 Типы файлов, которые не поддерживаются, могут быть открыты в двоичном формате.

Просмотр файлов

Установить необязательные продукты - File Magic (Solvusoft) | EULA | Privacy Policy | Terms | Uninstall

1-й метод: Откройте его в другой программе.

Когда вы дважды щелкаете файлами TPL, ваш компьютер пытается открыть его в программе, связанной с файлами TPL. Если на вашем компьютере нет программы, связанной с файлами TPL, файл не открывается. Чтобы открыть файл, загрузите одну из самых популярных программ, связанных с файлами TPL, такими как ACT! Document Template, Access Workflow Designer или SignIQ Template.

Второй метод: Возьмите подсказку из типа файла.

File Woman

Расширение файла TPL обычно указывает, что оно находится под зонтиком Misc Files. Однако, если это другой тип файла, он может не открыться с одной из программ, перечисленных выше. Чтобы найти тип файла, выполните следующие действия:

  1. Щелкните файл правой кнопкой мыши.
  2. Нажмите «Свойства» (Windows) или «Дополнительная информация» (Mac).
  3. Найдите тип файла в разделе «Тип файла» (Windows) или «Вид» (Mac).

3-й метод: Обратитесь к разработчику.

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

Программного обеспечения Разработано
ACT! Document Template Best Software CRM Division
Access Workflow Designer Microsoft Corporation
SignIQ Template ImpulseLogic
BestAddress HTML Editor Standard Template Multimedia Australia Pty. Ltd.
RapidForm Collection File INUS Technology Inc.
Arena Template Source Code Rockwell Automation Inc.
Cakewalk Audio Template File Cakewalk
MicroImages Text Template MicroImages Inc.
TextBridge Template Unknown
RadASM Template File KetilO
Nintendo Texture Pack Library Nintendo
PHP Development Template Windows Programmer
TeamSite Presentation Template Interwoven Inc.
Ulead iPhoto Express Template Corel Corporation
Turbo Pascal Resident Unit Borland Software Corporation
Timeslips TSImport Template Peachtree Software
Harvard Graphics Template Harvard Graphics
Photoshop Tool Preset File Adobe Systems Incorporated
fKey Template Designer Template File Unknown
DataCAD Template File DATACAD LLC
Page Express Template Windows Programmer
Canvas 7 Template Unknown
NoteTab Template Microsoft Developer

4-й метод: Откройте его в универсальном просмотрщике файлов.

Если разработчик не в состоянии помочь, возможно, универсальный просмотрщик файлов. File Magic (Download) и подобные программы предназначены для открытия широкого спектра форматов файлов, в том числе файлов TPL. Некоторые из них несовместимы и будут открываться только в двоичном формате. Загрузите File Magic сейчас, чтобы открыть вам TPL и сотни других типов файлов с помощью одной программы!

Рекомендуем

Установить необязательные продукты - File Magic (Solvusoft) | EULA | Privacy Policy | Terms | Uninstall

Читайте также: