मुखपृष्ठ Magento 1.9 पर उत्पाद दिखाएं


23

बस Magento 1.9 स्थापित किया है और पहली बाधा पर गिर गए हैं। मैंने एक उत्पाद बनाया है और मुखपृष्ठ पर उत्पाद प्रदर्शित करने के लिए पिछले संस्करणों के सुझावों का उपयोग किया है लेकिन निम्नलिखित संदेश प्राप्त कर रहा हूं

घातक त्रुटि: लाइन 180 getSortedChildren()पर एक गैर-ऑब्जेक्ट पर एक सदस्य फ़ंक्शन को कॉल करेंapp/design/frontend/rwd/default/template/catalog/product/list.phtml

कोई मदद कृतज्ञता प्राप्त की।

मुखपृष्ठ के सामग्री अनुभाग में मेरे पास ...

<div class="page-title"> 
    <h2>Our Latest Products</h2> 
</div> 
<p>{{block type="catalog/product_list" category_id="3" template="catalog/product/list.phtml"}}</p>

क्या आप उत्पादों को जोड़ने के लिए उपयोग किए गए कोड के साथ अपना जवाब अपडेट कर सकते हैं?
Sander Mangel

नमस्ते, मैंने वैसा ही उपयोग किया है जैसा मैं संस्करण 8 के लिए करता हूं। मुखपृष्ठ के सामग्री अनुभाग में ... <div class = "page-title"> <h2> हमारे नवीनतम उत्पाद </ h2> </ div> < p> {{ब्लॉक प्रकार = "कैटलॉग / प्रोडक्ट_लिस्ट" श्रेणी_आईडी = "3" टेम्पलेट = "कैटलॉग / उत्पाद / सूची.phtml"}} </ p>
रुफस

जवाबों:


24

समस्या यह है कि नए rwd डिज़ाइन में उत्पाद सूची के लिए दो बाल ब्लॉक हैं:

<block type="core/text_list" name="product_list.name.after" as="name.after" />
<block type="core/text_list" name="product_list.after" as="after" />

और टेम्पलेट में ही यह देखने के लिए चेक नहीं हैं कि क्या ये लोड होने और उपयोग किए जाने से पहले मौजूद हैं या नहीं।

एक त्वरित निर्धारण एक अलग टेम्पलेट का उपयोग करना होगा जो मुख्य टेम्पलेट की एक प्रति है लेकिन निम्नलिखित संपादन के साथ:

<?php
$_nameAfter = $this->getChild('name.after');
// New if here
if($_nameAfter):
    $_nameAfterChildren = $_nameAfter->getSortedChildren();
    foreach($_nameAfterChildren as $_nameAfterChildName):
        $_nameAfterChild = $this->getChild('name.after')->getChild($_nameAfterChildName);
        $_nameAfterChild->setProduct($_product);
        ?>
        <?php echo $_nameAfterChild->toHtml(); ?>
    <?php endforeach; ?>
<?php endif; ?>

<?php
//set product collection on after blocks
$_afterChildren = $this->getChild('after');
if ($_afterChildren):
    $_afterChildren = $this->getChild('after')->getSortedChildren();
    foreach($_afterChildren as $_afterChildName):
        $_afterChild = $this->getChild('after')->getChild($_afterChildName);
        $_afterChild->setProductCollection($_productCollection);
    ?>
    <?php echo $_afterChild->toHtml(); ?>
<?php endforeach; ?>
<?php endif; ?>

name.afterटेम्पलेट में दो बार होता है, लेकिन afterसिर्फ एक प्रकट होता है। ध्यान देने वाली एक अंतिम बात यह है कि डिफ़ॉल्ट rwd css उत्पाद सूची के क्रिया अनुभाग को cms पृष्ठों पर छिपाता है।


क्या आप यह बता सकते हैं कि इस कोड को rwd थीम में किस फ़ाइल में जोड़ना है?
भार्गव मेहता

क्या फ़ाइल जोड़ने से मदद मिलेगी, साथ ही लाइनें भी। उपरोक्त सूची में कोड से मेल नहीं खाता है। phtml
फिलिप

हाय फिलिप यह हो सकता है कि Magento के सबसे हाल के संस्करण ने इस समस्या को ठीक कर दिया है।
डेविड मैनर्स

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