CMS страница и blockcms
RusBolik
Новичок
: 62
: 28-07-2016


08-05-2019 23:46
1 Вопрос
Есть 2 страницы CMS с Мета-заголовоками Доставка и Оплата
Есть 2 блока в blockcms Блок CMS (контент) с отмеченными Страницами CMS Доставка и Оплата для показа отдельными блоками

Как сделать так чтобы блок из blockcms Блок CMS (контент) Доставка не показывался на странице CMS Доставка, а показывался только блок Оплата и наоборот(блоков и страниц может быть много)
Смысл заключается в том чтобы на странице CMS не показывался блок из blockcms, который относится к этой странице.

2 Вопрос
Как вывести на экран в блоке, из blockcms, meta_description страницы CMS, к который относится этот блок.
 
 
RusBolik
Новичок
: 62
: 28-07-2016


13-05-2019 15:55
Неужели никто не знает как сделать это?
 
 
Алекс


Администратор
: 4516
: Красноярск
: 29-05-2009


13-05-2019 17:36
Цитата:( RusBolik @ 09-05-2019 00:46 Смотреть сообщение )
Есть 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


Цитата:( RusBolik @ 09-05-2019 00:46 Смотреть сообщение )
Как вывести на экран в блоке, из 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'}
 
  
RusBolik
Новичок
: 62
: 28-07-2016


14-05-2019 01:16
Алекс, спасибо огромное.
Очень благодарен