Есть 2 страницы CMS с Мета-заголовоками Доставка и Оплата
Есть 2 блока в blockcms Блок CMS (контент) с отмеченными Страницами CMS Доставка и Оплата для показа отдельными блоками
Как сделать так чтобы блок из blockcms Блок CMS (контент) Доставка не показывался на странице CMS Доставка, а показывался только блок Оплата и наоборот(блоков и страниц может быть много)
Смысл заключается в том чтобы на странице CMS не показывался блок из blockcms, который относится к этой странице.
1) Откройте файл
/modules/blockcms/blockcms.php и замените:
Код:
public function displayBlockCMS($column)
{
if (!$this->isCached('blockcms.tpl', $this->getCacheId($column)))
{
$cms_titles = BlockCMSModel::getCMSTitles($column);
$this->smarty->assign(array(
'block' => 1,
'cms_titles' => $cms_titles,
'contact_url' => (_PS_VERSION_ >= 1.5) ? 'contact' : 'contact-form'
));
}
return $this->display(__FILE__, 'blockcms.tpl', $this->getCacheId($column));
}
на:
Код:
public function displayBlockCMS($column)
{
$cms_titles = BlockCMSModel::getCMSTitles($column);
$this->smarty->assign(array(
'block' => 1,
'cms_titles' => $cms_titles,
'contact_url' => (_PS_VERSION_ >= 1.5) ? 'contact' : 'contact-form'
));
return $this->display(__FILE__, 'blockcms.tpl');
}
2) Откройте файл
/themes/ваша-тема/modules/blockcms/blockcms.tpl
и после:
Код:
{foreach from=$cms_titles key=cms_key item=cms_title}
добавьте подобные правила:
Код:
{if $smarty.get.id_cms == 1 && $cms_key == 1}
{continue}
{/if}
{if $smarty.get.id_cms == 5 && $cms_key == 2}
{continue}
{/if}
$smarty.get.id_cms - ID страниц оплаты / доставки
$cms_key - ID блока в настройках модуля blockcms
Как вывести на экран в блоке, из blockcms, meta_description страницы CMS, к который относится этот блок.
Откройте файл
/modules/blockcms/BlockCMSModel.php и добавьте после
Код:
SELECT cl.`id_cms`, cl.`meta_title`, cl.`link_rewrite`
Код:
, cl.`meta_description`
В шаблоне выводите через:
Код:
{$cms_page.meta_description|escape:'html':'UTF-8'}