проблемы с блоками catalog/product_list и catalog/product_view

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Hypnotoad
  • Группа: Гости

08.10.2010 13:37

Добрый день ув.форумчане.

столкнулся с проблемой и никак не могу ее решить. Задача стоит следующая вывести на главной товары определенной категории и отдельно один товар. Исходя из задачи ставлю в CMS->Pages->Home следующее:

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="59" template="catalog/product/list_home.phtml"}} - товары категории

{{block type="catalog/product_view" product_id="630" template="catalog/product/view.phtml"}} - товар другой категории

все нормально выводит, но стоит поменять местами эти блоки


{{block type="catalog/product_view" product_id="630" template="catalog/product/view.phtml"}}

{{block type="catalog/product_list" name="home.catalog.product.list" alias="products_homepage" category_id="59" template="catalog/product/list_home.phtml"}}

как сразу все пропадает даже статический текст. Не пойму в чем проблема.

И еще я заметил если ставить два подряд блока к примеру:

{{block type="catalog/product_view" product_id="630" template="catalog/product/view.phtml"}}
и
{{block type="catalog/product_view" product_id="1" template="catalog/product/view.phtml"}} - блок для вывода другого товара

то в этом случае выводятся два блока одного товара с ид 630.

Подскажите плз лечение этого недуга)

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

13.10.2010 18:15

Достаточно посмотреть программный код стандартной реализации блока "catalog/product_view", чтобы понять, что два таких блока на одной странице сосуществовать не могут:

class Mage_Catalog_Block_Product_View extends Mage_Catalog_Block_Product_Abstract
{
    ...
    public function getProduct()
    {
        if (!Mage::registry('product') && $this->getProductId()) {
            $product = Mage::getModel('catalog/product')->load($this->getProductId());
            Mage::register('product', $product);
        }
        return Mage::registry('product');
    }
    ...
}


Вместо иcпользования Mage_Catalog_Block_Product_View напишите свой блок.

Поделиться темой: