我需要使用product.tpl中的访问者国家代码。是否有任何带有国家代码的预存储包全局变量,我可以在智能模板中使用?如果没有,我可以把它加在哪里?
发布于 2013-12-11 07:44:39
要做到这一点,首先转到Preferences>>Geolocation并启用它,还可以下载.dat文件
在此之后,在第238行之前添加controllers >> front >> ProductController.php中的代码
include_once(_PS_GEOIP_DIR_.'geoipcity.inc');
$gi = geoip_open(realpath(_PS_GEOIP_DIR_.'GeoLiteCity.dat'), GEOIP_STANDARD);
$record = geoip_record_by_addr($gi, Tools::getRemoteAddr()); 在第260行附近的智能分配中添加此代码
'country_name' => $record->country_name //change country_name to code etc在任何时候都可以在$country_name中使用product.tpl :)
在ps-1.5.6中测试
发布于 2016-02-22 22:34:27
我使用@Raza的代码构建它作为对FrontController的覆盖,目的不仅是在product.tpl中显示它,而且在上显示所有商店页面
@Raza:在..tpl文件中使用{$country_name}以英语显示国家名称。知不知道如何使用PS的核心翻译到国家的活跃商店语言?
谢谢
发布于 2016-05-10 08:57:41
@nortonOn:您可以尝试使用cookie中的id_lang,这样,它应该以商店语言显示国家名称。应该是:$country->name[intval($this->context->cookie->id_lang)];
我希望它能帮助你:)
https://stackoverflow.com/questions/20477159
复制相似问题