Привет, сообщество stackoverflow!
Я не смог найти ответ на эту проблему. У меня есть файл contact.php, который выглядит так:
<?php require_once('lib/smarty/smarty/libs/Smarty.class.php'); $smarty = new Smarty(); $smarty->caching = false; $smarty->debugging = false; $smarty->template_dir = $_SERVER['DOCUMENT_ROOT'].'/templates/'; $smarty->compile_dir = $_SERVER['DOCUMENT_ROOT'].'/cache/smarty/templates_c'; $smarty->cache_dir = $_SERVER['DOCUMENT_ROOT'].'/cache/smarty/cache'; $smarty->display('contact.tpl'); die;
в моем файле contact.tpl у меня есть моя форма:
{extends file="index.tpl"} {block name="content"} my form.... {/block}
И я включаю свой блок с именем content через главный файл index.tpl:
<!DOCTYPE html> <main> ... {block name="content"}{/block} </main>
ПРОБЛЕМА: все работает, однако в этом случае мне пришлось бы создать большое количество php-файлов (например, contact.php), которые отображают правильный шаблон. Как я могу работать с одним файлом php и получать его для отображения правильного шаблона в зависимости от того, на какую ссылку на страницу пользователь нажимает? Например, когда пользователь нажимает на страницу контакта, я бы хотел, чтобы он отображал contact.tpl, когда пользователь нажимает на страницу «about», я бы хотел, чтобы он отображал about.tpl без отдельного файла php для каждого случая.