如何在OpenCart 3.0.2.0的所有页面添加店铺名称?
嘿,我来帮你搞定这个问题!在OpenCart 3.x里,要让店铺名称出现在所有页面(商品页、厂商页、资讯页这些),最省心的方法是修改全局通用的模板文件——因为所有页面都会加载这些文件,不用一个个改单独的页面模板。
下面是具体步骤:
方法1:在页面页眉(Header)中添加店铺名称
这是最常用的方式,修改一次就能让所有页面都显示店铺名称。
找到目标模板文件
打开你的OpenCart文件目录,导航到:catalog/view/theme/[你的主题名称]/template/common/header.twig
(如果用的是默认主题,[你的主题名称]就是default)插入店铺名称变量
打开header.twig后,找一个你想显示店铺名称的位置——比如logo旁边、导航栏上方都可以。
OpenCart已经把店铺名称作为变量传递到模板里了,直接用{{ store_name }}就能调用。举个例子,默认主题里logo的代码大概是这样:
<div class="header-left"> <a href="{{ home }}" class="logo"><img src="{{ logo }}" alt="{{ store_name }}" title="{{ store_name }}" /></a> </div>你可以改成这样,在logo后面加上店铺名称:
<div class="header-left"> <a href="{{ home }}" class="logo"><img src="{{ logo }}" alt="{{ store_name }}" title="{{ store_name }}" /></a> <span class="store-title">{{ store_name }}</span> </div>添加样式(可选)
如果想让店铺名称看起来更美观,打开主题的样式表:catalog/view/theme/[你的主题名称]/stylesheet/stylesheet.css
加入自定义样式,比如:.store-title { margin-left: 12px; font-size: 20px; font-weight: 600; color: #222; }
方法2:修改页面标题(Title标签)包含店铺名称
如果你的页面标题里还没显示店铺名称,或者想调整格式,可以修改控制器文件:
打开Header控制器
导航到:catalog/controller/common/header.php调整标题设置
找到这段代码:if ($title) { $data['title'] = $title . ' - ' . $this->config->get('config_name'); } else { $data['title'] = $this->config->get('config_name'); }(默认可能已经是这样了,如果不是,改成上面的代码,这样所有页面标题都会是「页面内容标题 - 店铺名称」的格式)
注意事项
- 不要直接修改默认主题的文件!如果以后升级OpenCart,默认主题的修改会被覆盖。建议使用自定义主题或者子主题来做修改。
- 修改后记得清除OpenCart的缓存(后台→系统→设置→编辑商店→服务器→清除缓存),否则可能看不到效果。
内容的提问来源于stack exchange,提问作者Navid

