Zencart - 如何以编程方式设置主题/模板?

时间:2013-07-30 06:02:52

标签: themes smartphone zen-cart

我试图在设备浏览器的基础上选择一个特定的模板。我使用来自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中执行此操作?

2 个答案:

答案 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)。您应该在此断点之前定义以下常量来覆盖它:

  • DIR_WS_TEMPLATE
  • DIR_WS_TEMPLATE_IMAGES
  • DIR_WS_TEMPLATE_ICONS
  • 并设置变量$ template_dir

有关更多信息,请检查文件'includes / init_includes / init_templates.php'。