Được chọn thuộc tính thả xuống trong frontend?


7

Tôi đã nhận được tất cả các giá trị thuộc tính thả xuống theo cách này

    <select class=" required-entry required-entry select" name="product[age]" id="age">
        <?php 
             $attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product','age');
             $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);
             $attributeOptions = $attribute->getSource()->getAllOptions();
             foreach($attributeOptions as $each){?>
               <option value="<?php echo $each[value]?>"><?php echo $each["label"]?></option><?php
             }

}?>
    </select>

Ở đây thuộc tính Id = tuổi. Bây giờ tôi đã lưu trữ một số giá trị trong cơ sở dữ liệu nên được chọn

Như thế này tôi cần hiển thị ở mặt trước

Xin hãy giúp tôi cho điều này Cảm ơn trước

Mặt trước tôi cần theo cách này

Ngoài ra tôi đã sử dụng trong mã này

<select class=" required-entry required-entry select" name="product[age]" id="age">

<?php $productId = $this->getProduct()->getId();
$product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($productId);
$selectedvalue  = $product->getAttributeText('age');

$atributeCode = 'age';
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product',$atributeCode);
        $options = $attribute->getSource()->getAllOptions();

        foreach($options as $key => $value){


            if(in_array($selectedvalue,$value)){
                ?>
                <option>
                <?php echo $value['label'] ; ?>
                </option><?php 
                continue;
            }
?>
                <option>
                <?php echo $value['label']; ?>
                </option><?php 

        }?>
</option>
</select>

nó cũng hiển thị tất cả giá trị thuộc tính không được tô sáng giá trị được chọn

Câu trả lời:


13

Sử dụng getAttributeTextchức năng để nhận giá trị thuộc tính hộp Chọn ở lối vào từ đối tượng Sản phẩm

 echo  $product->getAttributeText('age_group');

nó sẽ trực tiếp hiển thị giá trị được chọn từ quản trị viên cho sản phẩm cụ thể.

hy vọng điều này sẽ làm việc cho bạn.


không nó chỉ hiển thị giá trị được chọn tôi cần tất cả giá trị nhưng giá trị được chọn phải được tô sáng
Magento 2

4

Thử cái này,

<?php if ($_product->getData('attribute_name')): ?>
<?php echo nl2br($_product->getResource()->getAttribute('attribute_name')->getFrontend()->getValue($_product)) ?>
<?php endif;?>

(hoặc là)

$productId = 1;
$product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($productId);
$selectedvalue  = $product->getAttributeText('color');

$atributeCode = 'color';
$attribute = Mage::getModel('eav/config')->getAttribute('catalog_product',$atributeCode);
        $options = $attribute->getSource()->getAllOptions();

        foreach($options as $key => $value){

            if(in_array($selectedvalue,$value)){
                echo "<pre>";
                print_r($value); //get Product's selected attribute options Values
                echo "</pre>";  
                continue;
            }

                echo "<pre>";
                print_r($value); //get remaining attribute options Values
                echo "</pre>";

        }

bạn có thể thay đổi theo yêu cầu của bạn


vui lòng kiểm tra câu hỏi đã chỉnh sửa của tôi
Magento 2

không nó chỉ hiển thị giá trị được chọn tôi cần tất cả giá trị nhưng giá trị được chọn phải được tô sáng
Magento 2

kiểm tra câu trả lời cập nhật
saravanavelu 17/8/2015

Không, nó chỉ hiển thị tất cả các giá trị không làm nổi bật giá trị được chọn
Magento 2

bạn phải thay đổi mọi thứ theo nhu cầu của bạn
saravanavelu

1

Chuyển đến thư mục gốc của trang web magento

ứng dụng \ design \ frontend \ MyPackage \ MyTheme \ template \ catalog \ sản phẩm \ view.phtml

Chỉnh sửa và thêm mã mà bạn muốn hiển thị trên trang sản phẩm mặt trước.

<?php if ($_product->getColor()):?>
    <?php
         $getOptionText = $_helper->productAttribute($_product, $_product->getColor(), 'color');
         $attr = $_product->getResource()->getAttribute("color");
         if ($attr->usesSource()) {
         $color_label = $attr->getSource()->getOptionText($getOptionText);
         }
    ?>
    <div class="color">
         <div class="std"><?php echo $this->__('Color :- ') ?><?php echo $color_label; ?></div>
    </div>
<?php endif;?>

Chỉ thả xuống chỉ hiển thị
Magento 2
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.