Ausgewähltes Dropdown-Attribut im Frontend abrufen?

7

Auf diese Weise habe ich den gesamten Dropdown-Attributwert erhalten

    <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>

In Hier Attribut Id = Alter. Jetzt speichere ich bereits einen Wert in der Datenbank, der ausgewählt werden sollte

So muss ich im Frontend anzeigen

Bitte helfen Sie mir dafür Vielen Dank im Voraus

Frontend brauche ich auf diese Weise

Auch ich habe in diesem Code verwendet

<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>

Außerdem werden alle Attributwerte angezeigt, die nicht als ausgewählter Wert hervorgehoben wurden

Magento 2
quelle

Antworten:

13

Verwenden Sie die getAttributeTextFunktion, um den Attributwert für die Auswahlbox im Frontend vom Produktobjekt abzurufen

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

Es wird direkt der Wert angezeigt, der vom Administrator für ein bestimmtes Produkt ausgewählt wurde.

hoffe, das wird für dich funktionieren.

Liyakat
quelle
Nein, es wird nur der ausgewählte Wert angezeigt. Ich benötige den gesamten Wert, aber der ausgewählte Wert sollte hervorgehoben werden.
Magento 2
4

Versuche dies,

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

(oder)

$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>";

        }

Sie können nach Ihren Wünschen ändern

saravanavelu
quelle
Überprüfen Sie meine bearbeitete Frage bitte
Magento 2
Nein, es wird nur der ausgewählte Wert angezeigt. Ich benötige den gesamten Wert, aber der ausgewählte Wert sollte hervorgehoben werden.
Magento 2
Überprüfen Sie die aktualisierte Antwort
Saravanavelu
Nein, es zeigt nur den gesamten Wert an und hebt den ausgewählten Wert nicht hervor
Magento 2
Sie müssen die Dinge nach Ihren
Wünschen
1

Gehen Sie zum Stammverzeichnis der Magento-Website

app \ design \ frontend \ MyPackage \ MyTheme \ template \ catalog \ product \ view.phtml

Bearbeiten Sie den Code, den Sie auf der Front-End-Produktseite anzeigen möchten, und fügen Sie ihn hinzu.

<?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;?>
AddWeb Solution Pvt Ltd.
quelle
Nur leere Dropdown-Liste angezeigt
Magento 2