समूहीकृत उत्पाद विशेषताओं को संभालना


9

मैं एक नई Magento दुकान बनाने पर काम कर रहा हूँ (यह Magento के साथ पहली बार है)।

मैं अपने उत्पाद पृष्ठों के लिए मौजूदा दुकान के स्वरूप को दोहराने के लिए देख रहा हूं, कम से कम लेआउट के संदर्भ में:

http://www.panamericantool.com/cobalt-drills/drill-stops.html

http://www.panamericantool.com/screw-driver-bits/paint-cutters.html

मुझे पता चला है कि मुझे जिस तरह की चीज़ के बाद काम करना है, उसे बनाने के लिए मुझे साधारण उत्पादों के साथ समूहीकृत उत्पादों का उपयोग करना होगा।

ऊपर दिए गए उदाहरणों में, प्रत्येक उत्पाद की अलग-अलग विशेषताएँ हैं, मुझे लगता है कि ये Magento में विभिन्न विशेषता सेटों के माध्यम से किए गए हैं।

हालाँकि वे विषय में उन विभिन्न तालिका शीर्षकों / मूल्यों को प्रदर्शित करने के लिए कैसे जाते हैं?

मुझे पता है कि मैं फ़ाइल में कर सकता हूं ->getAttributeName()या कर सकता हूं , लेकिन इसके परिणामस्वरूप बड़ी मात्रा में होगा और मुझे अधिक जोड़ने पर टेम्पलेट को बदलना होगा।->getAttribute('attribute_code')grouped.phtmlif (->getAttributeName() != '')...

मुझे यकीन है कि सभी विशेषताओं को प्राप्त करने और उन पर लूपिंग करने का एक तरीका है, लेकिन फिर आप meta_descriptionविशेषता ( $_product->getData()विधि द्वारा लौटाए गए ) और तालिका में सूचीबद्ध एक विशेषता के बीच अंतर कैसे करेंगे ?

मैं कैसे उनके पास कुछ हासिल कर सकता हूं?

मैं प्रदर्शन के बारे में भी चिंतित हूं कि लॉन्च के समय दुकान में 5k उत्पाद होंगे, जो संभवत: 25k-30k तक बढ़ जाएगा क्योंकि हम अपने शेष स्टॉक को जोड़ते हैं। इनमें से कई को अलग-अलग विशेषताओं की आवश्यकता होगी, लेकिन मुझे लगता है कि मैं कई प्रदर्शन मुद्दों के बिना विशेषता सेट के बीच विशेषताओं को साझा कर सकता हूं?


अपडेट करें:

मैं इस के साथ खेल रहा हूँ, मैंने इसे सभी उत्पादों की विशेषताओं को प्राप्त करने के लिए पाया है, हालांकि मुझे अभी भी एक समूहीकृत उत्पाद तालिका पर कुछ मूल्यों को दिखाने का एक सरल तरीका नहीं पता है?

$attributes = Mage::getModel('catalog/product_attribute_api')->items($_product->getAttributeSetId());
foreach($attributes as $_attribute){
    print_r($_attribute);
}

उत्पाद के पृष्ठ पर इसे दिखाने के लिए विशेषता के गुण के सामने "अंत पर उत्पाद दृश्य पृष्ठ पर दृश्यमान" का उपयोग क्यों न करें?
ब्लूसी

जवाबों:


2

यह वही होना चाहिए जो आपको चाहिए:

$product->getResource()->getAttribute('attribute_code')->getStoreLabel();

लेकिन यह सिर्फ एक विशेषता है, मुझे अलग-अलग उत्पादों के लिए अलग-अलग विशेषताओं को दिखाने का एक तरीका चाहिए - ओपी में शामिल लिंक के अनुसार?
टॉम ग्रीन

2

एक विशेषता क्यों नहीं बनाई गई है जो यह बताती है कि क्या विशेषताएँ दिखाना है?

मैंने एक ऐसे मॉड्यूल का निर्माण किया है जो विशेषता वाले कोड वाले उत्पादों के लिए दो पाठ विशेषताओं के मूल्य को लोड करता है। अनिवार्य रूप से एक सहायक जो विस्फोट करता है जो संबंधित उत्पादों की विशेषता डेटा को लोड करने के लिए सूची स्ट्रिंग और छोरों को सूचीबद्ध करता है।

एक विशेषता बनाएँ जिसे मैंने अपना कहा:

grouped_attr_array

व्यवस्थापक में समूहीकृत उत्पाद की डिज़ाइन विशेषता में विशेषता जोड़ें और फिर उन्हें उत्पाद डेटा में अर्धविराम से अलग किए गए फ़ील्ड के रूप में शामिल करें

torque_range;torque_increments;torque_accuracy

मैंने अपने मॉड्यूल से इस कोड को खींचा। यह एक विशेषता मान के आधार पर डिफ़ॉल्ट विशेषताओं के कुछ अधिक लोडिंग या छुपा रहा है और मॉड्यूल थोड़ा अधिक जटिल है। लेकिन तालिका में दिखाए गए डेटा को प्राप्त करने के लिए ये कुछ मुख्य कार्य हैं। उम्मीद है कि यह आपको निर्माण करने के लिए एक विचार देता है। यह Magento 1.9.2 का उपयोग कर रहा है

मॉड्यूल का सहायक:

public function findAttributes($product, $attributes)
{
    //determined by attribute with id to add additional attributes to the table
    //string needs to be ; separated in ADMIN
    $strattributes = $product->getResource()->getAttribute('grouped_attr_array')->getFrontend()->getValue($product);
    if ($strattributes) {
        $strattributes = explode(';', $strattributes, 5);
        foreach ($strattributes as $additionAttribute) {
            //make sure these are valid attributes
            if ($product->getResource()->getAttribute($additionAttribute)) {
                array_push($attributes, $additionAttribute);
            }
        }
    }
}

public function groupedAttrDump($groupedProduct, $attributes)
{
    $cells = [];
    foreach ($attributes as $attrCode) {
        $attrText = $groupedProduct->getResource()->getAttribute($attrCode);
        if($attrText){
            array_push($cells, $attrText->getFrontend()->getValue($groupedProduct));
        }
    }
    return $cells;
}

public function groupedAttrHeaders($currentProduct, $attributes)
{
    $theads = [];
    foreach ($attributes as $attrCode) {
        $headerText = $currentProduct->getResource()->getAttribute($attrCode);
        if($headerText){
            $headerText = $headerText->getStoreLabel();
            array_push($theads,$headerText);
        }

    }
    return $theads;
}

Groupedproduct.phtml में सहायक से डेटा प्राप्त करना

$attrrSetName = Mage::getModel("eav/entity_attribute_set")->load($_product->getAttributeSetId())->getAttributeSetName();
$tableAttributes = Mage::helper('groupedtable')->findAttributes($_product, $attrrSetName);

वें के

     <?php foreach (Mage::helper('groupedtable')->groupedAttrHeaders($_product, $tableAttributes) as $attrLabel ): ?>
        <th><?php echo $attrLabel ?> </th>
     <?php endforeach; ?>

टीडी की मेज

<?php foreach (Mage::helper('groupedtable')->groupedAttrDump($_associatedProduct, $tableAttributes) as $attr ):?>
        <td><?php if($attr != 'No'){ echo $attr; } ?></td>
   <?php endforeach; ?>

मैं स्टोर की उपलब्ध विशेषताओं के आधार पर उस विशेषता को चुनने का तरीका बनाना चाहता हूं। शायद यह करने के लिए बहुत बेहतर तरीका है। अभी तक नहीं मिला है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.