尝试正确使用Smarty,我创建了一个配置文件。文件结构如下:
/Smarty/
/Smarty/cache
/Smarty/configs
/Smarty/configs/main.conf
/Smarty/plugins
/Smarty/sysplugins
/Smarty/templates_c
/templates/
/templates/main.tpl
index.php
在main.tpl中,我尝试通过以下方式从/Smarty/configs/main.conf加载main.conf:
{config_load "main.conf"}
如此处所述:http://www.smarty.net/docs/en/language.config.variables.tpl
这不起作用(“致命错误:未捕获异常'SmartyException',消息'无法读取配置文件'main.conf''在...中),但这确实有效:
{config_load "/var/www/vhosts/*domain*/subdomains/cms/httpdocs/Smarty/configs/main.conf"}
为什么第一个例子不起作用?我之前通过以下方式设置了配置目录:
$smarty->setConfigDir(SMARTY_DIR.'configs/');
但找不到配置目录。有人可以帮帮我吗?提前谢谢!
答案 0 :(得分:1)
我遇到同样的问题,我在CodeIgniter中巧妙地集成了。这就是我所做的
1)$this->smarty->addConfigDir('YourPath');
在您的情况下可能会$smarty->addConfigDir('YourPath');
然后在浏览器中打印var_dump($this->smarty->getConfigDir());
在您的情况下可能会var_dump($smarty->getConfigDir());
2)之后你可以改变$this->smarty->setConfigDir('YourPath');
在你的情况下可能会成为$smarty->setConfigDir('YourPath');
它适用于我的情况。
答案 1 :(得分:0)
这里是我使用的配置示例,它与我一起正常工作
/////Smarty including
require_once('libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->template_dir = 'template'; // template folder
$smarty->compile_dir = 'cache'; // Create a Folder Cache with 777 Permission
此设置适用于最新智能版Smarty 3.x。