Prestashop

Definir título y metas desde un módulo en Prestashop 1.7

En el controlador del módulo, y gracias a Prestashop 1.7, tenemos la función getTemplateVarPage que Prestashop usará para recoger el título y metas de las vistas de nuestro módulo.

En el caso de un blog para Prestashop, dónde queremos que cada Post tenga su título y muestre sus metas correctamente, podríamos hacer algo así. La primera parte es para traducir la URL a una ID de un post, via url rewrite o via id directa.

La segunda parte se usa el array $page para guardar los meta datos de la página en cuestión.

 

    public function getTemplateVarPage(){
    	$config = PsBlogConfig::getInstance(); // Probablemente tu no uses este PsBlog. Adapta estas líneas a tu entorno y caso
        if( $config->get('url_use_id', 1))
        {
            // URL HAVE ID
            $blog = new PsBlogBlog(Tools::getValue('id'), $this->context->language->id);
        }else{
            // REMOVE ID FROM URL
            $url_rewrite = explode('/', $_SERVER['REQUEST_URI']) ;
            $url_last_item = count($url_rewrite) - 1;
            $url_rewrite = rtrim($url_rewrite[$url_last_item],'.html');
            $blog = PsBlogBlog::findByRewrite(array('link_rewrite'=>$url_rewrite));
        }
        
    	$page = parent::getTemplateVarPage();

		$page['meta']['title'] = Tools::ucfirst($blog->meta_title).' - '.Configuration::get('PS_SHOP_NAME');
		$page['meta']['description'] = $blog->meta_description;
		$page['meta']['keywords'] = $blog->meta_keywords;
		$page['meta']['robots'] = 'index'; // noindex, nofollow, none, ...

    	return $page;
	}

 

Beto López
Ingeniero de Software y programador web "Full stack" que ha dejado una startup dónde los miércoles eran día de yoga, para construir un servicio de soporte técnico estandarizado low cost, más profundo que el que el servicio que ofrecen las compañias de hosting, para particulares, autónomos y empresas digitales. Web Personal, LinkedinTwitter.


Definir título y metas desde un módulo en Prestashop 1.7
Te respondemos rapidamente
Contacta
Do NOT follow this link or you will be banned from the site!
Php Ninja