Префикс или добавление строки к meta_title, meta_key, meta_description на странице категории - PullRequest
0 голосов
/ 25 августа 2018

Страница категории meta_title, meta_key и meta_description теги взяты из таблицы 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

Ответы [ 2 ]

0 голосов
/ 27 августа 2018

для каждого стандартного контроллера в PrestaShop, у вас есть специальная функция в классе Meta, в вашем случае - функция getCategoryMetas(), которую вы можете переопределить и адаптировать в соответствии со своими потребностями.

Вы такжеможно использовать предыдущий ответ , чтобы переписать метас, впервые вычисленные в функции Meta::getCategoryMetas() in CategoryController::getTemplateVarPage().

Удачи

0 голосов
/ 25 августа 2018

Лучший способ - переопределить /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(),
);

Здесь вы можете проверить текущую страницу и изменить ее по своему усмотрению.

...