2012-05-09 8 views
14

मैं अपने कस्टम विशेषताओं और मूल्य के साथ Magento के स्तरित नेविगेशन का उपयोग कर रहा हूं। अगर मैं कीमत से फ़िल्टर करता हूं तो यह काम करता है; लेकिन जब अपने कस्टम के आधार पर फ़िल्टर जिम्मेदार बताते हैं यह पता चलता है:Magento स्तरित नेविगेशन "आप एक सहसंबंध नाम 'mycustomattribute' को एक से अधिक बार परिभाषित नहीं कर सकते हैं"

आप एक संबंध नाम 'mycustomattribute' ट्रेस एक बार से अधिक

को परिभाषित नहीं कर सकते हैं:

#0 /home/coloresh/public_html/ColoreSG.com/lib/Varien/Db/Select.php(281): 
Zend_Db_Select->_join('inner join', Array, 'metal_idx.entit...', Array, NULL) 
#1 /home/coloresh/public_html/ColoreSG.com/lib/Zend/Db/Select.php(336):   Varien_Db_Select->_join('inner join', Array, 'metal_idx.entit...', Array, NULL) 
#2 /home/coloresh/public_html/ColoreSG.com/lib/Zend/Db/Select.php(315): Zend_Db_Select->joinInner(Array, 'metal_idx.entit...', Array, NULL) 
#3 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Catalog/Model/Resource/Layer/Filter/Attribute.php(70): Zend_Db_Select->join(Array, 'metal_idx.entit...', Array) 
#4 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Catalog/Model/Layer/Filter/Attribute.php(94): Mage_Catalog_Model_Resource_Layer_Filter_Attribute->applyFilterToCollection(Object(Mage_Catalog_Model_Layer_Filter_Attribute), '49') 
#5 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php(91): Mage_Catalog_Model_Layer_Filter_Attribute->apply(Object(Mage_Core_Controller_Request_Http), Object(Mage_Catalog_Block_Layer_Filter_Attribute)) 
#6 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php(73): Mage_Catalog_Block_Layer_Filter_Abstract->_initFilter() 
#7 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Catalog/Block/Layer/View.php(136): Mage_Catalog_Block_Layer_Filter_Abstract->init() 
#8 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Block/Abstract.php(238): Mage_Catalog_Block_Layer_View->_prepareLayout() 
#9 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Model/Layout.php(456): Mage_Core_Block_Abstract->setLayout(Object(Mage_Core_Model_Layout)) 
#10 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Model/Layout.php(472): Mage_Core_Model_Layout->createBlock('catalog/layer_v...', 'catalog.leftnav') 
#11 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Model/Layout.php(239): Mage_Core_Model_Layout->addBlock('catalog/layer_v...', 'catalog.leftnav') 
#12 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Model/Layout.php(205): Mage_Core_Model_Layout->_generateBlock(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element)) 
#13 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Model/Layout.php(210): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element)) 
#14 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Controller/Varien/Action.php(344): Mage_Core_Model_Layout->generateBlocks() 
#15 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Catalog/controllers/CategoryController.php(146): Mage_Core_Controller_Varien_Action->generateLayoutBlocks() 
#16 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Controller/Varien/Action.php(419): Mage_Catalog_CategoryController->viewAction() 
#17 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(250): Mage_Core_Controller_Varien_Action->dispatch('view') 
#18 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 
#19 /home/coloresh/public_html/ColoreSG.com/app/code/core/Mage/Core/Model/App.php(354): Mage_Core_Controller_Varien_Front->dispatch() 
#20 /home/coloresh/public_html/ColoreSG.com/app/Mage.php(683): Mage_Core_Model_App- >run(Array) 
#21 /home/coloresh/public_html/ColoreSG.com/index.php(87): Mage::run('', 'store') 
#22 {main} 
+0

कृपया, यह reedit। – WojtekT

+0

बस किया। क्षमा करें – Sam

उत्तर

27

ऐसा इसलिए है क्योंकि सूची/layer_view मॉड्यूल को दो बार बुलाया गया था। आप अपनी एक्सएमएल फाइलों के माध्यम से 'type = "catalog/layer_view"' खोज सकते हैं। जिस ब्लॉक की आपको आवश्यकता नहीं है उसे हटाएं। या फिर किसी अन्य वर्ग

+0

एफवाईआई: मेरे मामले में, मेरी कक्षा में एक कस्टम '_getCount()' विधि थी जो सभी फ़िल्टरिंग तर्क को 'लागू()' के रूप में कर रही थी ताकि मैं स्तरित नेविगेशन मेनू में मूल्य गणना प्रदान कर सकूं। यह किसी अन्य फ़िल्टर (या फ़िल्टर नहीं) को लागू करते समय काम करता है लेकिन जैसे ही मैंने अपना कस्टम फ़िल्टर लगाया, तर्क को डुप्लिकेट किया गया। इस समस्या में भाग लेने के लिए ब्लॉक को डुप्लिकेट नहीं किया जाना था। –

4

मैं <block type="catalog/layer_view" name="catalog.leftnav" after="currency" template="catalog/layer/view.phtml"/> दो बार किया था। एक पंक्ति हटा दी और इसे ठीक किया।

0

मेरे लिए Dubbo के जवाब सही था के प्रकार बदलने के लिए, लेकिन अधिक विशेष रूप से मुझे पता चला कि Magento एंटरप्राइज छू लेती है enterprise_search.xml फ़ाइल

+0

मैं एंटरप्राइज़ का भी उपयोग कर रहा हूं, और अपने कस्टम उत्पाद विशेषता ** रंग ** के साथ एक समान समस्या में चल रहा हूं। किसी भी मौके पर आप इस मुद्दे को हल करने के लिए उठाए गए कदमों पर विवरण प्रदान कर सकते हैं? किसी भी तरह की सहायता का स्वागत किया जाएगा। –

+0

फिक्स यहां पाया जा सकता है: http://aceph.tumblr.com/post/21851233473/magento-you-cannot-define-a-correlation-name –

0

यह एक ही समस्या का कारण बनता है में catalog_category_layered xml नोड।

नोट:: जब एक संग्रह का निर्माण दो बार प्रकार के लिए एक ही विशेषता -adding बुला setCollection ($ this-> getMyCollection); टेम्पलेट पर मेरी त्रुटि हुई, क्योंकि 'रंग' को सॉर्ट ऑर्डर में डिफ़ॉल्ट सॉर्ट ऑर्डर के रूप में पहले ही जोड़ा गया था।

समाधान:

$this->getRequest()->setParam('order',''); 

अन्यथा ब्लॉक बढ़ाने और अपने विशेष जरूरतों के लिए setCollection() विधि ओवरराइड: इसे ठीक करने के एक त्वरित तरीका अनुरोध से डिफ़ॉल्ट सॉर्ट क्रम को दूर करने के बाद मान प्राप्त है।

1

मेरा मामला मुझे ब्लॉक पर सवारी करना है, जो स्थानीय.एक्सएमएल और catalog.xml से टाइप = "कैटलॉग/लेयर_व्यू" टाइप करें और मेरे संशोधित प्रकार = "कैटलॉग/लेयर_व्यू" ब्लॉक डालें। सुनिश्चित करें कि केवल एक ब्लॉक है जिसमें टाइप = "कैटलॉग/लेयर_व्यू" है।

0

आप में से कोई भी जो Magento एंटरप्राइज़ संस्करण में इस समस्या को हल करने का कोई तरीका ढूंढ रहे हैं, जांचें कि क्या आपका catalog.xml या local.xml टेम्पलेट कैटलॉग खोज स्तरित नेविगेशन है या नहीं। यदि आपके पास यह है, तो एंटरप्राइज़ थीम से अपनी वर्तमान थीम में search.xml को ओवरराइड करें और इसमें सभी ब्लॉक संदर्भ खाली करें।

0

एक उद्यम के निर्माण पर एक समान मुद्दा था, इसलिए किसी और को इसकी आवश्यकता है कि के लिए पोस्टिंग - निकला मैं यह काम करने के लिए आदेश में निम्न का इस्तेमाल किया था:

<remove name="enterprisecatalog.leftnav" /> 
संबंधित मुद्दे