Измените meta_tags meta_description и meta_name на пользовательскую страницу, которая расширяет page.tpl в Prestashop 1.7 - PullRequest
0 голосов
/ 25 августа 2018

У меня есть пользовательский модуль, который определяет пользовательскую страницу в Prestashop.Он состоит из шаблона, который расширяет page.tpl и фронт-контроллер.

Я хотел бы понять, где я должен изменить метас для этой конкретной страницы.

Я вижу в этом контроллере эту частьгде вызывается шаблон:

    $this->context->smarty->assign(array(
        'link' =>            $this->context->link,
        'category'             => $this->category,
        'main_category_logo' => $image_url,
        'description_short'    => Tools::truncateString($this->category->description, 350),
        'sub_categories'    => $data,
        'body_classes'         => array($this->php_self.'-'.$this->category->id, $this->php_self.'-'.$this->category->link_rewrite),
        'search_url' => $this->context->link->getPageLink('search', null, null, null, false, null, true)
    ));

    $this->setTemplate('module:'.$this->module->name.'/views/templates/front/category.tpl');

Это правильное место для добавления мета?Как это сделать?

Ответы [ 2 ]

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

в PrestaShop 1.7 вы также можете создать свою собственную функцию getTemplateVarPage () в своем классе ModuleFrontController , вызывая родительский элемент и установите мета-переменные по своему усмотрению (полезно для типа страницы элемента, такого как статья блога, новости, магазин, ...), чтобы вам не приходилось добавлять логику в шаблон.

public function getTemplateVarPage()
{
    $page = parent::getTemplateVarPage();

    $page['meta']['title'] = 'MY META TITLE';
    $page['meta']['description'] = 'MY META DESCRIPTION';
    $page['meta']['keywords'] = 'MY META KEYWORDS';
    $page['meta']['robots'] = 'index'; // noindex, nofollow, none, ...

    return $page;
}

Если это статическая страница, такая как список или моно-страница, вы можете добавить контроллер и установить мета-информацию прямо в Back Office (меню SEO).

Удачи

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

В PS 1.7 это действительно легко изменить в tpl фронт-контроллера.

{extends file='page.tpl'}

{block name='head_seo_title'}
    MY META TITLE
{/block}

{block name='head_seo_description'}
    MY META DESCRIPTION
{/block}

{block name='head_seo_keywords'}
    MY META KEYWORDS
{/block}

А вот еще один вариант из SEO & URL из бэк-офиса: Как изменить мета-заголовок в модуле prestashop?

...