首先要先了解zencart的meta的调用方式,在看完部分源码后了解到zencart的meta信息最终定义都是在/includes/modules/meta_tags.php文件中进行的,而在该文件中对不同的页面的调用通过 switch ($_GET['main_page']) {}进行判断。
源码中可以看出无论是title、keyword、description中都含有前缀和后缀,前缀各不相同,后缀则比较通用都是调用 /includes/languages/english.php,不同的模板还可以直接在对应模板目录下的english.php中进行修改,主要修改
//define('TITLE', 'Vogue Mall');
//define('SITE_TAGLINE', 'The Leader of Online Shopping');
//define('CUSTOM_KEYWORDS', 'ecommerce, open source, shop, online shopping');
前缀的调用
首页:
主要是关键词不同,把产品的分类名称全部调用了一遍。
title比较简单主要由上面定义的title+site_tagline组合而成
产品分类页和产品页:
关键词和描述主要通过调用后台设置的meta信息,标题比较简单是用分类名称加产品价格等,这些可以自定义的
5 修改首页title和描述:
找到includes\languages\english\meta_tags.php文件 // Home Page Only:
6 修改分类页及产品页的title和描述:
找到includes\modules\meta_tags.php文件
代码的150,151,152三行,是批量修改分类页面的。
如果要单独修改某个分类页面的title及描述 后台 –> Catalog –> Categories / Products –> 点击要修改的分类的最后一个小图标(meta Tags)
建议如果分类不多,可以单独针对每个分类拟写title和描述。
找到这段代码(280多行)$products_description = zen_clean_html($products_description); 其下面便是批量修改产品页title和描述的地方。
7 批量修改说明性页面的title和描述:
// NO "break" here. Allow defaults if not overridden at the per-page level default: define('meta_TAG_TITLE' (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE); define('meta_TAG_DEscriptION' TITLE . PRIMARY_SECTION . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : '' ) . SECONDARY_SECTION . KEYWORDS); define('meta_TAG_KEYWORDS' KEYWORDS . metaTAGS_DIVIDER . (defined('NAVBAR_TITLE') ? NAVBAR_TITLE : '' ) );
将上面的代码修改为如下:
// NO "break" here. Allow defaults if not overridden at the per-page level default: define('meta_TAG_TITLE' (defined('NAVBAR_TITLE') ? NAVBAR_TITLE . PRIMARY_SECTION : '') . TITLE . TAGLINE); define('meta_TAG_DEscriptION' ''); define('meta_TAG_KEYWORDS' '' );
即去掉画蛇添足的meta_TAG_DEscriptION和meta_TAG_KEYWORDS。