将meta_标签meta_description和meta_name更改为扩展Prestashop 1.7中page.tpl的自定义页面
我有一个自定义模块,它在Prestashop中定义了一个自定义页面。 它由一个扩展page.tpl的模板和一个前端控制器组成将meta_标签meta_description和meta_name更改为扩展Prestashop 1.7中page.tpl的自定义页面,prestashop,smarty,prestashop-1.7,Prestashop,Smarty,Prestashop 1.7,我有一个自定义模块,它在Prestashop中定义了一个自定义页面。 它由一个扩展page.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'}
{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}
我想了解我应该在哪里修改此特定页面的metas
我在控制器中看到了调用模板的这一部分:
$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');
这是添加图元的正确位置吗?如何做到这一点?在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 1.7中,您还可以在ModuleFrontController类中创建自己的getTemplateVarPage函数,调用父类,并根据需要设置元变量,以用于博客文章、新闻、商店等项目页面类型。。。,因此,您不必在模板中添加逻辑
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;
}
如果它是一个静态页面,如列表或单页面,您可以添加控制器并直接在后台SEO菜单中设置元信息
祝您好运您认为通过添加tpl文件,从刻面模块可以实现这一点吗?我正在尝试更改过滤列表的元标题,但我没有找到一种方法,就像我在1.6版本中那样…你认为有没有一种方法可以从分面搜索模块中实现这一点?我已经搜索过了,模块中没有ModuleFrontController…我正在尝试更改筛选列表页面的元标题,但我没有找到一种方法,就像我在1.6版本中那样…