在类别页面中为 meta_title、meta_key、meta_description 添加前缀或附加字符串
Prefix or append a string to meta_title, meta_key, meta_description in category page
分类页面 meta_title
、meta_key
和 meta_description
标签来自 table ps_category_lang
.
mysql> select * from ps_category_lang limit 1;
+-------------+---------+---------+-------+-------------+--------------+------------+---------------+------------------+
| id_category | id_shop | id_lang | name | description | link_rewrite | meta_title | meta_keywords | meta_description |
+-------------+---------+---------+-------+-------------+--------------+------------+---------------+------------------+
| 1 | 1 | 1 | Raíz | | raiz | | | |
+-------------+---------+---------+-------+-------------+--------------+------------+---------------+------------------+
1 row in set (0.00 sec)
是否可以为这三个值添加前缀(或后缀),因此它使用数据库中的信息但附加或前缀特定值?
如果可以,需要做什么?我已经有一个自定义模块用扩展模板和控制器覆盖类别页面。
Prestashop 1.7.1
最好的方法是覆盖 /classes/controller/FrontController.php
,特别是代码中的方法 getTemplateVarPage()
:
$page = array(
'title' => '',
'canonical' => $this->getCanonicalURL(),
'meta' => array(
'title' => $meta_tags['meta_title'],
'description' => $meta_tags['meta_description'],
'keywords' => $meta_tags['meta_keywords'],
'robots' => 'index',
),
'page_name' => $page_name,
'body_classes' => $body_classes,
'admin_notifications' => array(),
);
在这里您可以验证当前页面并根据需要对其进行更改。
对于 PrestaShop 中的每个标准控制器,您在 Meta
class 中都有一个专用函数,在您的情况下,您可以覆盖和调整以适合您的 getCategoryMetas()
函数需要。
您也可以使用 重写 Meta::getCategoryMetas()
在 CategoryController::getTemplateVarPage()
函数中首先计算的元数据。
祝你好运
分类页面 meta_title
、meta_key
和 meta_description
标签来自 table ps_category_lang
.
mysql> select * from ps_category_lang limit 1;
+-------------+---------+---------+-------+-------------+--------------+------------+---------------+------------------+
| id_category | id_shop | id_lang | name | description | link_rewrite | meta_title | meta_keywords | meta_description |
+-------------+---------+---------+-------+-------------+--------------+------------+---------------+------------------+
| 1 | 1 | 1 | Raíz | | raiz | | | |
+-------------+---------+---------+-------+-------------+--------------+------------+---------------+------------------+
1 row in set (0.00 sec)
是否可以为这三个值添加前缀(或后缀),因此它使用数据库中的信息但附加或前缀特定值?
如果可以,需要做什么?我已经有一个自定义模块用扩展模板和控制器覆盖类别页面。
Prestashop 1.7.1
最好的方法是覆盖 /classes/controller/FrontController.php
,特别是代码中的方法 getTemplateVarPage()
:
$page = array(
'title' => '',
'canonical' => $this->getCanonicalURL(),
'meta' => array(
'title' => $meta_tags['meta_title'],
'description' => $meta_tags['meta_description'],
'keywords' => $meta_tags['meta_keywords'],
'robots' => 'index',
),
'page_name' => $page_name,
'body_classes' => $body_classes,
'admin_notifications' => array(),
);
在这里您可以验证当前页面并根据需要对其进行更改。
对于 PrestaShop 中的每个标准控制器,您在 Meta
class 中都有一个专用函数,在您的情况下,您可以覆盖和调整以适合您的 getCategoryMetas()
函数需要。
您也可以使用 Meta::getCategoryMetas()
在 CategoryController::getTemplateVarPage()
函数中首先计算的元数据。
祝你好运