I wi sh для отображения блока статистики c на странице продукта, если продукт принадлежит определенному набору атрибутов.
Идея состоит в том, чтобы отображать блок на страницах продукта, если страница имеет набор атрибутов «R c» иначе не показывать блок. У меня есть собственная тема, которую я создал, и у меня уже есть блок, который отображается на ВСЕХ страницах продукта. Мне нужен только блок, отображаемый на страницах товаров с набором атрибутов «R c». Мне неизвестна структура папок и / или применим ли следующий код к magento 2.3. Куда мне Скопировать файл шаблона в и из ... в основном все девять ярдов того, как реализовать настройку и код.
Код, который я нашел, выглядит следующим образом (с моими комментариями):
«Добавить этот метод в блок просмотра продукта» Из того, что я читаю, блок просмотра больше не называется catalog_product_view. xml из которых структура папок
app / design / frontend / Поставщик / тема / Magento_Catalog / layout / catalog_product_view. xml
public function checkAttributeSet($product = null, $attributeSetName = null)
{
if(is_null($product) || is_null($attributeSetName))
return false;
$attributeSetModel = Mage::getModel("eav/entity_attribute_set");
$attributeSetModel->load($product->getAttributeSetId());
if($attributeSetModel->getAttributeSetName() == $attributeSetName) {
return true;
} else {
return false;
}
}
"Затем в app / design / frontend / package / theme / template / catalog / product / view.p html:" это представление / p html файл больше не используется и какова правильная структура папок.
if($this->checkAttributeSet($_product, 'Rc')):
echo $this->getLayout()->createBlock('cms/block')->setBlockId('Rc')->toHtml();
elseif($this->checkAttributeSet($_product, 'ORC')):
echo $this->getLayout()->createBlock('cms/block')->setBlockId('ORC')->toHtml();
endif;
Я установил (по умолчанию. xml)
<referenceBlock name="product.info.main">
<block class="Magento\Catalog\Block\Product\View" name="product-rc" template="Magento_Theme::product-rc.phtml" after="product.info.price">
</block>
</referenceBlock> -->
product-r c .p html работает и отображается во всех продуктах.
(тестовый блок) текстовая строка находится в файле p html.