【问题标题】:Magento - Conditionally Display Attribute Based on Product CategoryMagento - 基于产品类别有条件地显示属性
【发布时间】:2014-06-16 17:51:19
【问题描述】:

如果产品具有特定类别 ID,我正在尝试显示属性(“发布”)。这是我目前所拥有的:

<?php $category = Mage::getModel('catalog/layer')->getCurrentCategory();?>
<?php if($category->getId() == 2): ?>
<h5 style="color:#f26522" >
<?php echo $_product->getData('release') ?></h5>
<?php else: ?>

这很好用,但只允许我限制归类在默认类别下的产品,在本例中为“Id() == 2”。

我试图将函数限制为仅显示此根类别的子类别,但它不响应其对应的类别 ID。

如何做到这一点?感谢所有帮助!

供参考:Conditional loading content based on category id magento for product page

编辑解决方案:

<?php
  $categoryIds = $_product->getCategoryIds();
  if(in_array(20,$categoryIds)):
?>
<h5 style="color:#f26522" ><b>
<?php echo $_product->getData('release'); ?></h5></b>
<?php endif;    ?>

感谢@R.S 和@ndlinh 的投入和支持。

特别感谢@programmer_rkt 的回复here 帮助澄清了这个概念。

进一步参考:Changing Display According to Product Category

【问题讨论】:

    标签: php magento


    【解决方案1】:

    看看@Magento category ID from product ID

    $product = Mage::registry('current_product');
    if ($product->getId()) {
        $categoryIds = $product->getCategoryIds();
        if (is_array($categoryIds) && in_array(2 , $categoryIds)
          ...
          echo $_product->getData('release')
          ...
    

    假设你在产品详情页面

    【讨论】:

      【解决方案2】:

      这是我的解决方案:

      <?php 
          $category = Mage::getModel('catalog/layer')->getCurrentCategory();
          $parentIds = $category->getParentIds();
      ?>
      <?php if(in_array(2, $parentIds): ?>
          <h5 style="color:#f26522" >
          <?php echo $_product->getData('release') ?></h5>
      <?php else: ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-07
        相关资源
        最近更新 更多