【问题标题】:How to access a custom attribute I've created in Magento? (in PHP)如何访问我在 Magento 中创建的自定义属性? (在 PHP 中)
【发布时间】:2019-11-12 18:55:19
【问题描述】:

我想在我的highlights.phtml 文件中包含一个IF 语句,我可以在其中检查我的自定义属性(名为preorder)是否已被选中。顾名思义,可以在产品上设置此自定义属性以表示是否可以预订。如何在下面的突出显示滑块代码中访问此变量/属性?它似乎不是$products 数组的一部分?

<?php $products = $this->getHighlightedProducts() ?>
<?php if (is_array($products) && count($products)): ?>
<div class="block block-related">
    <div class="block-title">
        <h2><?php echo $this->__('Highlighted Products') ?></h2>
    </div>
    <div class="block-content">
        <div class="product-carousel">
            <div class="product-carousel">
                <ul class="highlighted-products-slider slider">
                    <?php $limit = 6; ?>
                    <?php foreach ($products as $product): ?>
                        <li class="item">
                            <div class="product" >
                                <a class="product-image" href="<?php echo $this->escapeHtml($product['url']) ?>">
                                    <img src="<?php echo $this->escapeHtml($product['image']) ?>">
                                </a>
                                <div class="product-details">
                                    <p class="product-name">
                                        <a href="<?php echo $this->escapeHtml($product['url']) ?>"> <?php echo $this->escapeHtml($product['name']) ?></a>
                                    </p>

                                    <?php echo $product['price'] ?>
                                </div>
                                <div class="actions">
                                    <a href="<?php echo $this->escapeHtml($product['add_to_cart_url']) ?>">
                                        <button class="button btn-cart"><?php echo $this->__('Add to Cart') ?></button>
                                    </a>
                                </div>
                            </div>
                        </li>
                        <?php
                        if(++$ct >= $limit)
                            break;
                        ?>
                    <?php endforeach ?>
                    <?php endif ?>
                </ul>
            </div>
        </div>
    </div>
</div>

【问题讨论】:

    标签: php html magento magento-1.9


    【解决方案1】:

    使用我添加的代码获取属性,然后将其用于您的逻辑。您想对属性执行的操作,现在就可以执行。但是 $product['id'] 必须存在! 您需要产品 ID 才能使用此功能,否则可能需要 SKU。

    希望能提供帮助。

    <?php $products = $this->getHighlightedProducts() ?>
    <?php if (is_array($products) && count($products)): ?>
    <div class="block block-related">
        <div class="block-title">
            <h2><?php echo $this->__('Highlighted Products') ?></h2>
        </div>
        <div class="block-content">
            <div class="product-carousel">
                <div class="product-carousel">
                    <ul class="highlighted-products-slider slider">
                        <?php $limit = 6; ?>
                        <?php foreach ($products as $product): ?>
                        <?php
                            $productToCheck= Mage::getModel('catalog/product')->load($product['id']);
                            //use this variable
                            $variable = $productToCheck->getData('preorder');
                            //use this variable when attribute is a dropdown
                            $variableIfItsADropdown = $product->getAttributeText('preorder');
                        ?>
                            <li class="item">
                                <div class="product" >
                                    <a class="product-image" href="<?php echo $this->escapeHtml($product['url']) ?>">
                                        <img src="<?php echo $this->escapeHtml($product['image']) ?>">
                                    </a>
                                    <div class="product-details">
                                        <p class="product-name">
                                            <a href="<?php echo $this->escapeHtml($product['url']) ?>"> <?php echo $this->escapeHtml($product['name']) ?></a>
                                        </p>
    
                                        <?php echo $product['price'] ?>
                                    </div>
                                    <div class="actions">
                                        <a href="<?php echo $this->escapeHtml($product['add_to_cart_url']) ?>">
                                            <button class="button btn-cart"><?php echo $this->__('Add to Cart') ?></button>
                                        </a>
                                    </div>
                                </div>
                            </li>
                            <?php
                            if(++$ct >= $limit)
                                break;
                            ?>
                        <?php endforeach ?>
                        <?php endif ?>
                    </ul>
                </div>
            </div>
        </div>
    </div>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-20
      • 2011-10-23
      • 1970-01-01
      相关资源
      最近更新 更多