我试图在设备浏览器的基础上选择一个特定的模板。我使用来自http://www.mobileesp.com的Anthony Hand的库来检测设备,然后我想以编程方式设置模板。图书馆就像那样
require_once 'mdetect.php';
//Instantiate the object
$uagent_obj = new uagent_info();
//Detect iPhone
if ($uagent_obj->DetectTierIphone() == $uagent_obj->true) {
echo '<!-- Setting Theme for Smart devices -->';
}
//Detect All Other Mobile Devices
else if ($uagent_obj->DetectTierOtherPhones() == $uagent_obj->true) {
echo '<!-- Setting Theme for Smart devices -->';
}
请指导我如何在ZenCart中执行此操作?
答案 0 :(得分:0)
我找到了一个解决方案,不知道它是否符合标准。原因可能是我找不到任何用于设置模板的钩子。我所做的是在init_templates.php
~/includes/init_includes/init_templates.php
的{{1}}文件中
$template_dir
要完美地运行此模板,必须将模板放在require_once 'mdetect.php'; //set the path of file according to your folder structure. The link to mdetec script is given in the question detail.
//Instantiate the object
$uagent_obj = new uagent_info();
//Detect iPhone
if ($uagent_obj->DetectTierIphone() == $uagent_obj->true) {
$template_dir = 'iphonetemplate';
}
//Detect All Other Mobile Devices
else if ($uagent_obj->DetectTierOtherPhones() == $uagent_obj->true) {
$template_dir = 'mobiletemplate';
}
目录中。大部分都位于templates
答案 1 :(得分:0)
模板在MySQL表template_select
中定义,并在断点110上读取(根据includes / auto_loaders / config.core.php)。您应该在此断点之前定义以下常量来覆盖它:
有关更多信息,请检查文件'includes / init_includes / init_templates.php'。