2015-10-08 2 views
2

Я довольно новичок в magento, используя CE 1.9.Показать/скрыть вкладку продукта, используя оператор if в local.xml Magento 1.9 CE

Я знаю, как удалить/добавить вкладки на странице продукта через local.xml Однако я пытаюсь скрыть/показать вкладку на основе значения атрибута продукта.

Я создал специальную вкладку успешно. Дополнительно customTab.phtml файл я создал, я был в состоянии получить, если заявление, чтобы успешно работать ... вроде ...

Вот мой код в файле PHTML:

<?php 
    $staticBlockId = 'block_product_tab2'; 
    $product = Mage::registry('current_product'); ?> 

<?php if($product->getRepairservice()): ?> 
      <div class="std"><?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($staticBlockId)->toHtml(); ?></div> 

<?php endif; ?> 

Это будет успешно скрыть или показать «содержимое» вкладки на основе логического значения атрибута. Однако он все еще показывает вкладку, она просто пустая.

Так что я думаю, что мне нужно пойти туда, где он создан в local.xml, но я не уверен, как структурировать оператор if или получить доступ к атрибуту. Любая помощь будет оценена по достоинству.

ответ

0

Я думаю, что самый ясный способ сделать это - создать свой собственный макет макета, см.: http://inchoo.net/magento/custom-layout-update-handles/. Там вы, чтобы проверить, если вы находитесь на странице, а затем проверить getRepairservice(), например:

// Inside the controllerActionLayoutLoadBefore() function of Inchoo's example 
$layout = $observer->getEvent()->getLayout(); 
$product = Mage::registry('current_product'); 

if($product && $product->getRepairservice()) 
{ 
    $layout->getUpdate()->addHandle('REPAIR_SERVICE') 
} 

После этого вы можете добавить закладку славно с XML.

<REPAIR_SERVICE> 
    <reference name="product.info"> 
     <block type="catalog/product_view_description" name="product.new.tab" as="new.tab" template="catalog/product/view/mynewcustomtab.phtml"> 
      <action method="addToParentGroup"><group>detailed_info</group></action> 
      <action method="setTitle" translate="value"><value>Custom Tab</value></action> 
     </block> 
    </reference> 
</REPAIR_SERVICE> 
Смежные вопросы