Prestashop производитель блочных дисплеев meta_title

Кто-нибудь знает, как я могу изменить блочный модуль, чтобы он мог отображать meta_title производителя вместо имени? Я думаю, что это будет очень полезно не только для меня. Например, в других шаблонах Smarty я могу сделать следующее:

{if isset($manufacturer.meta_title) AND $manufacturer.meta_title}
{$manufacturer.meta_title|escape:'html':'UTF-8'}                                 
{else}
{$manufacturer.name|truncate:60:'...'|escape:'html':'UTF-8'}    
{/if}   

Это идеальный сценарий - если мета-заголовок установлен, покажите его. Если он не установлен, покажите имя. Конечно, в clasess/Manufacturer.php произошла модификация, позволяющая извлечь meta_title из БД. Это модификация в Manufacturer.php

$manufacturers = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
        SELECT m.*, ml.`description`, ml.`short_description`, ml.`meta_title`
        FROM `'._DB_PREFIX_.'manufacturer` m
        '.Shop::addSqlAssociation('manufacturer', 'm').'
        INNER JOIN `'._DB_PREFIX_.'manufacturer_lang` ml ON (m.`id_manufacturer` = ml.`id_manufacturer` AND ml.`id_lang` = '.(int)$id_lang.')
        '.($active ? 'WHERE m.`active` = 1' : '')
        .($group_by ? ' GROUP BY m.`id_manufacturer`' : '').'
        ORDER BY m.`name` ASC
        '.($p ? ' LIMIT '.(((int)$p - 1) * (int)$n).','.(int)$n : ''));

Но как применить эту функциональность для блочного модуля? Я вижу, что в файлах tpl вы вряд ли сможете сделать что-либо подобное упомянутому выше коду, поэтому я предполагаю, что в /modules/blocklayered/blocklayered.php должны быть внесены некоторые изменения. Я был бы очень признателен, если бы кто-нибудь помог мне разобраться в этом.

Спасибо за информацию заранее!

С уважением, Мартин

0 ответов

Другие вопросы по тегам