2011-01-09 2 views
1

Я пытаюсь выяснить, как удерживать страницы в подкаталогах (категориях), используя php Smarty template engine.Smarty, страницы в подкаталогах

Например, если моя структура:

index.php 
category1/page1.php 
category2/page2.php 

т.д.

корень index.php оказывает просто отлично

используя настройки по умолчанию Smarty:

<?php 
require_once('lib/smtemplate.php'); 

$data = array(
    'meta_keywords' =>'key1, key2', 
    'category' =>'category1' 
    ); 

$tpl = new SMTemplate(); 
$tpl->render('page', $data); 

?> 

но если я скопирую его в подкаталог, он сломается, даже если я перейду на

require_once('../lib/smtemplate.php'); 

и я не могу найти решение до сих пор.

Цените свою помощь. thx.

+0

И где ваши файлы шаблона расположены? Каков ваш код для 'SMTemplate'? Вы устанавливаете надлежащее свойство 'template_dir' объекта Smarty? Вам доводилось читать документацию [http://www.smarty.net/docs/en/variable.template.dir.tpl], прежде чем спрашивать? –

ответ

2

Определение BasePath:

define("BASEPATH", "/var/www/yoursite/"); 

И включают в себя, как это:

require_once(BASEPATH.'lib/smtemplate.php'); 
+0

просто попробовал, и это не сработало. Вот ошибка, которую я получаю: Неустранимая ошибка: исключить исключение «SmartyException» с сообщением «Не удается загрузить файл шаблона« hello.tpl »в E: \ wamp \ www \ smarty \ lib \ smarty \ sysplugins \ smarty_internal_template.php : 163 Трассировка стека: # 0 E: \ wamp \ www \ smarty \ lib \ smarty \ sysplugins \ smarty_internal_template.php (541): Smarty_Internal_Template-> isExisting (true) # 1 E: \ wamp \ www \ smarty \ lib \ smarty \ Smarty_class.php (337): Smarty_Internal_Template-> getRenderedTemplate() # 2 E: \ wamp \ www \ smarty \ lib \ smtemplate.php (30): Smarty-> fetch ('hello.tpl') – devjs11

+0

или оболочка Я использую define («BASEPATH», «/ var/www/yoursite /»); через все файлы конфигурации? – devjs11

+0

вы должны. но есть и проблемы с поиском «hello.tpl» ... Я думаю, что лучшее решение - «исправить свои пути»: D – Nanne

Смежные вопросы