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

Тема в разделе "PHP", создана пользователем minimalis, 27 дек 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. minimalis

    minimalis Читатель

    Заблокирован
    Регистр.:
    10 окт 2009
    Сообщения:
    52
    Симпатии:
    2
    Доброго времени суток!
    Подскажите пожалуйста как в файл формата .tpl вставить php код?
    Страница строится из файлов tpl необходима настроить sapy туда.
    Спасибо!
     
  2. alfaexpert

    alfaexpert

    Регистр.:
    23 июл 2008
    Сообщения:
    183
    Симпатии:
    27
    Сначала скажи что за движок ты используешь

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

    Самый простой способ - смотришь как работает шаблонизатор движка и прикручиваешь туда сапу
     
  3. minimalis

    minimalis Читатель

    Заблокирован
    Регистр.:
    10 окт 2009
    Сообщения:
    52
    Симпатии:
    2
    В том всё и дело что это никакая не cms это самописный скрипт.
    Так что подскажет кто?
     
  4. bvb

    bvb

    Регистр.:
    17 май 2009
    Сообщения:
    189
    Симпатии:
    34
    Возможно так:
    Пример tpl-файла:
    скрипт подключает файл шаблона, и заменяет эти штуки на сгенерированный код.
     
  5. Pasha220992

    Pasha220992 Писатель

    Регистр.:
    17 дек 2007
    Сообщения:
    3
    Симпатии:
    0
    как вариант
    иначе как уже было сказано выше, надо смотреть как работает шаблонизация в вашем "самописном скрипте".
     
  6. phantom_nsd

    phantom_nsd Писатель

    Регистр.:
    16 сен 2009
    Сообщения:
    7
    Симпатии:
    1
    На мой взгляд самые распространенные 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);
     
  7. Andycs

    Andycs Постоялец

    Регистр.:
    7 апр 2006
    Сообщения:
    56
    Симпатии:
    6
    ёлки-палки, веселит такой подход - у меня самописное нечто, а вы угадайте, как мне вставить сапокод. Может топикстартер предложит аудитории куски кода из цмс (тпл файл хотябы?), чтобы можно было конкретно помочь, а не перебирать все возможные варианты???

    Специально для топикстартера: файл с расширением тпл может содержать чтоугодно, не мучьте аудиторию туманными вопросами.
     
    alfaexpert нравится это.
  8. stylehchp

    stylehchp Писатель

    Регистр.:
    24 дек 2009
    Сообщения:
    5
    Симпатии:
    0
    Для начала надо узнать что это за tpl файлы и как они обрабатываются сервером. Может это smarty, а может самописные шаблоны. Это могут быть обычные php файлы которые подключаются с помощью require или include. Для начала надо хоть посмотреть на такой шаблон.
     
  9. polyetilen

    polyetilen Заблокирован

    Регистр.:
    10 авг 2006
    Сообщения:
    814
    Симпатии:
    474
    A_L_I_E_N и foshechka нравится это.
  10. ADyDyka

    ADyDyka Создатель

    Регистр.:
    19 янв 2010
    Сообщения:
    26
    Симпатии:
    5
    Если это обычные файлы, которые подключаются через include или require, то вставка php кода как и в html <?php ?> :)
     
Статус темы:
Закрыта.