Как в .tpl вставить php код?

Статус
В этой теме нельзя размещать новые ответы.

minimalis

Читатель
Заблокирован
Регистрация
10 Окт 2009
Сообщения
52
Реакции
1
  • Автор темы
  • Заблокирован
  • #1
Доброго времени суток!
Подскажите пожалуйста как в файл формата .tpl вставить php код?
Страница строится из файлов tpl необходима настроить sapy туда.
Спасибо!
 
Сначала скажи что за движок ты используешь

Потому что например DLE и Shop Scripts имеют *.tpl файлы, но процесс вставки кода в них разный.

Самый простой способ - смотришь как работает шаблонизатор движка и прикручиваешь туда сапу
 
  • Автор темы
  • Заблокирован
  • #3
В том всё и дело что это никакая не cms это самописный скрипт.
Так что подскажет кто?
 
Возможно так:
Пример tpl-файла:
скрипт подключает файл шаблона, и заменяет эти штуки на сгенерированный код.
 
как вариант
Выполнение php кода в файлах с другим расширением.

Иногда бывает полезно "обмануть" посетителя, выдавая ему свои php-скрипты или иные файлы, как html файлы. Реально используется для индексации поисковой системой Rambler php-скриптов.

RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html .phtml

Заметьте, так как файлам с расширением .html и .htm сопоставлено, что это файлы с гипертекстовой разметкой, то мы первой строкой убираем это сопоставление и добавляем обработку таких файлов php интерпретатором.
иначе как уже было сказано выше, надо смотреть как работает шаблонизация в вашем "самописном скрипте".
 
На мой взгляд самые распространенные 2 метода:
1. Замена определенных кусков в шаблоне на нужное содержимое.
Допустим есть шаблон
HTML:
<html>
<head>
<title>{#title#}</title>
</head>
<body>
{#content#}
</body>
</thml>
причем шаблон заменяемых переменных должен быть уникальным, типа {#content#}, заключенные в {} и внутри # с обеих сторон. Но можно и любой другой вариант придумать, главное чтобы такая шаблонная переменная не совпала с разметкой шаблона или с текстовыми данными страницы.
Затем в скрипте php заменяем шаблонные переменные на необходимые нам данные
PHP:
//код для определения переменных $data['title'] и $data['content']
//определяем путь к шаблону
$template = 'index.tpl';
$out = file_get_contents($template);
foreach($data as $k => $v){
   $out = str_replace("{#".$k."#}", $v, $out);
}
//выводим содержимое шаблона в браузер
echo $out;
2. Метод определения переменных шаблона и подключение файла шаблона. Только в данном случае шаблон должен иметь расширение php.
PHP:
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<?php echo $contents; ?>
</body>
</thml>
Затем определяем в php скрипте переменные и подключаем наш шаблон index.php
PHP:
//определяем переменные шаблона
$title = 'Мой сайт::домашня страница';
$contents = 'Содержимое страници';
//определяем путь к шаблону
$tamplate = 'index.php';
//подключаем шаблон
require_once($tamplate);
 
ёлки-палки, веселит такой подход - у меня самописное нечто, а вы угадайте, как мне вставить сапокод. Может топикстартер предложит аудитории куски кода из цмс (тпл файл хотябы?), чтобы можно было конкретно помочь, а не перебирать все возможные варианты???

Специально для топикстартера: файл с расширением тпл может содержать чтоугодно, не мучьте аудиторию туманными вопросами.
 
Для начала надо узнать что это за tpl файлы и как они обрабатываются сервером. Может это smarty, а может самописные шаблоны. Это могут быть обычные php файлы которые подключаются с помощью require или include. Для начала надо хоть посмотреть на такой шаблон.
 
Если это обычные файлы, которые подключаются через include или require, то вставка php кода как и в html <?php ?> :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху