Magento लेआउट प्रणाली में दीप, निम्नलिखित कोड है कि विशिष्ट अपने ब्लाकों बनाने के लिए आवश्यक एक्सएमएल में अपने पैकेज लेआउट एक्सएमएल फ़ाइलें बारी है, और इसलिए अपने पेज बनाने के लिए प्रयोग किया जाता हैक्या डेटाबेस लेआउट अपडेट अभी भी Magento में उपयोग किए जाते हैं?
public function merge($handle)
{
$packageUpdatesStatus = $this->fetchPackageLayoutUpdates($handle);
if (Mage::app()->isInstalled()) {
$this->fetchDbLayoutUpdates($handle);
}
}
वहाँ fetchDbLayoutUpdates
की कोशिश करता दूसरी विधि डेटाबेस से अतिरिक्त XML अपडेट लोड करने के लिए एसक्यूएल इस
SELECT `update`.`xml` FROM `core_layout_update` AS `update`
INNER JOIN `core_layout_link` AS `link`
ON link.layout_update_id=update.layout_update_id
WHERE (link.store_id IN (0, '1'))
AND (link.area='frontend')
AND (link.package='default')
AND (link.theme='default')
AND (update.handle = 'default')
ORDER BY `update`.`sort_order` ASC'
की तरह कुछ दोनों core_layout_update
और core_layout_link
टेबल एक डिफ़ॉल्ट स्थापना में खाली हैं प्रश्नों के साथ।
तो, मैंने हमेशा यह माना है कि यह एक विरासत विशेषता है जो Magento के साथ मेरे समय की भविष्यवाणी करता है। किसी को भी करता है, तो इस सुविधा
Magento कोर Codebase
किसी भी अच्छी तरह से जाना/प्रमुख एक्सटेंशन
-
द्वारा कहीं भी प्रयोग किया जाता है पता है!
मैं क्यों सुविधा जगह में छोड़ दिया गया है (विरासत चिंताओं और नहीं क्या) देख सकते हैं, लेकिन मैं उत्सुक हूँ अगर यह कुछ है कि आधिकारिक तौर पर-ish दिया परित्यक्त है, या उपयोग किया तहत अगर यह सिर्फ बेहद है।
दिलचस्प थ्रेड के लिए पंक्ति है, किसी भी विचार क्यों यह उपयोगी बजाय xml फ़ाइलें हो सकता है? क्या इसका मतलब है कि डीबी लेआउट प्रविष्टियां फ़ाइल-आधारित ओवरराइड करती हैं? –
@ जोनाथन: नहीं, डीबी केवल अतिरिक्त हैंडल निर्देश जोड़ता है। हैंडल कभी ओवरराइड नहीं करते हैं, वे बस क्रम में लागू होते हैं। –