2009-06-17 10 views
5

में कस्टम विशेषताओं को दिखाएं मुझे नीचे दी गई छवि में दिखाए गए "उत्पाद नाम" के स्थान पर एक कस्टम विशेषता का मूल्य दिखाने के लिए एक तरीका खोजने की आवश्यकता है।Magento - समूहित उत्पाद तालिका

Grouped products table http://www.magentocommerce.com/images/uploads/grouped_prod_front.gif

मैं /app/design/frontend/default/defaultx/template/catalog/product/view/type/grouped.php

कोड के नीचे काम नहीं करता है के साथ काम कर रहा हूँ (कस्टम विशेषता सालाना है):

<?php if (count($_associatedProducts)): ?> 
<?php foreach ($_associatedProducts as $_item): ?> 
    <tr> 
     <td><?php echo $this->htmlEscape($_item->getYearmade()) ?></td> 

किसी भी मदद की सराहना की जाएगी।

संपादित करें: तो उत्तर काफी सरल साबित हुआ। आप देखते हैं कि मैं ऊपर उल्लेख करने में विफल रहा था कि वास्तव में आउटपुट था ... लेकिन यह केवल एक संख्या थी (उदाहरण: 52)। यह उस कस्टम विशेषता मान के लिए आईडी था (यह कस्टम विशेषता का ड्रॉपडाउन प्रकार था)।

तो सारांश
में इस प्रकार का पाठ के कस्टम विशेषताओं के लिए काम करता है:

echo $this->htmlEscape($_item->getYearmade()) 

लेकिन कस्टम विशेषता (मुझे लगता है कि) के अन्य सभी प्रकार के लिए, निम्न प्रयोग किया जाना चाहिए:

echo $this->htmlEscape($_item->getAttributeText('yearmade')) 

मुझे नीचे एलन स्टॉर्म द्वारा प्रदान किए गए सबसे उत्कृष्ट उत्तर के बिना यह पता नहीं चला होगा। धन्यवाद महोदय।

+0

जो अभी भी उत्तर प्रदान करते हैं, ध्यान दें कि यह प्रश्न 3yrs पहले पोस्ट किया गया था। तब से Magento codebase विकसित हुआ है, इसलिए स्पष्ट रूप से आपके परिणाम अलग होंगे। –

उत्तर

3

सभी Magento मॉडल में "getData" विधि उपलब्ध है, जो कुंजी/मान जोड़े के php-array को वापस कर देगी। अपने grouped.phtml फ़ाइल के शीर्ष पर इस प्रयास करें (बाद $ _product परिभाषित किया गया है)

print('<pre>');print_r($_product->getData());print('</pre>'); 

आप उत्पादन निम्न तरह दिखता है देखना चाहिए।

Array 
(
    [store_id] => 1 
    [entity_id] => 3437 
    [entity_type_id] => 4 
    [attribute_set_id] => 27 
    [type_id] => grouped 
    [sku] => 
    [category_ids] => 
    [created_at] => 2009-04-16 03:37:51 
...  

तो, आप गुणों की एक सरणी पकड़ सकते हैं और केवल कुंजी खींच सकते हैं। आप Magento की सुविधा/जादू getX और setX विधियों का भी उपयोग कर सकते हैं। सभी Magento मॉडल पर, आप एक विधि नाम का ऊंट मामले संस्करण के आधार पर फोन करके डेटा सरणी में किसी भी संपत्ति का उपयोग कर सकते,

$created_at = $_product->getCreatedAt(); 
$_product->setCreatedAt($date); 

तो, जो कुछ भी अपने कस्टम विशेषता नाम यह है कि आप प्राप्त करने में सक्षम होना चाहिए उपर्युक्त का उपयोग करके, और यदि आप सुनिश्चित नहीं हैं कि getData() द्वारा लौटाए गए सरणी की सामग्री केवल print_r या var_dump करें।

अंत में, यदि कस्टम विशेषता से संबंधित उत्पादों में से एक सरल उत्पाद पर है, तो आप करेंगे कुछ अधिक की तरह

$_associatedProducts[0]->getCreatedAt(); 
+0

मुझे उपरोक्त कोड के साथ कस्टम विशेषताओं को प्रतीत नहीं होता है। क्या मैं कुछ गलत कर रहा हूँ? मेरे पास "product_type" नामक एक कस्टम श्रेणी है और मैं grouped.phtml पृष्ठ पर इसका मान दिखाना चाहता हूं। – Landitus

+0

आप उत्पाद ऑब्जेक्ट कैसे बना रहे हैं? –

0

ver से चाहता है। 1.3। और 1.4 में भी आपको $ _item$ _product का उपयोग करना चाहिए, मेरे लिए यह समूह योग्य तालिका में भी ठीक काम करता है।

उदाहरण:

<?php echo $_item->getAttributeText('your attribute'); ?> 
-1

वाले प्लग इन वास्तव में आसानी से अपने समाधान का समाधान कर सकते हैं।आप यहां प्लगइन पा सकते हैं जो उत्पाद विकल्प लेता है और उन्हें ग्रिड में प्रदर्शित करता है: http://www.magemechanics.com/product-grid-options.html

1

मुझे एक ही समस्या थी।

  1. आप grouped.phtml app/design/frontend/base/default/template/catalog/product/view/type/grouped.phtml

  2. आइटम जाओ पता लगाने चाहिए, उदाहरण के $_item[units]

  3. तालिका में एक सेल जोड़ें और पेस्ट गूंज $_item['units'];

  4. सभी Thats:)

संबंधित मुद्दे