मैंने एक बीस्पोक मॉड्यूल विकसित किया है जो साइट पर लोगों की एक श्रृंखला को सूचीबद्ध करता है। प्रत्येक व्यक्ति का अपना URL (एक bespoke Magento कंट्रोलर होता है, जो व्यक्ति मॉडल पर मूल CRUD करता है) और मुझे इन सार्वजनिक URL को Google साइटमैप XML फ़ाइल में फीड करना होगा।
अगर मैं कर सकता हूँ मैं Magento की अपनी साइटमैप पीढ़ी और क्रोन का उपयोग करना चाहता हूं।
Mage_Sitemap_Model_Observerपहले से ही से सभी साइटमैप रिकॉर्ड खींचती sitemapsमेज और एक-एक करके उनके कॉल generateXml()तरीके।
$collection = Mage::getModel('sitemap/sitemap')->getCollection();
/* @var $collection Mage_Sitemap_Model_Mysql4_Sitemap_Collection */
foreach ($collection as $sitemap) {
/* @var $sitemap Mage_Sitemap_Model_Sitemap */
try {
$sitemap->generateXml();
}
catch (Exception $e) {
$errors[] = $e->getMessage();
}
}
मुझे लगता है कि मुझे अपने नए साइटमैप को sitemapsतालिका में जोड़ने की आवश्यकता है जिसे तब मेरे कस्टम मॉडल रिकॉर्ड के लिए मेरी (अलग) XML फ़ाइल बनाने के लिए कहा जाएगा। हालाँकि, मैं नहीं जानता कि कैसे मैगेंटो को My_Module_Model_Sitemapकेवल मेरे बजाय मेरे विस्तारित का उपयोग करने के लिए कहा जाए Mage_Sitemap_Model_Sitemap, जिसके उत्तरार्ध में मुझे मुख्य साइटमैप के रूप में सभी समान श्रेणियों, उत्पादों और सीएमएस पृष्ठों को सूचीबद्ध करने वाली एक्सएमएल फ़ाइल मिलेगी।
sitemapsतालिका एक है sitemap_typeस्तंभ, लेकिन यह संदर्भित कभी नहीं किया गया है में Magento जहाँ तक मैं बता सकता हूँ codebase।
मैं Mage_Sitemap_Model_Sitemapअपनी generateXml()विधि के लिए अधिलेखित करते समय मैगेंटो के इनबिल्ट साइटमैप इंजन का उपयोग कैसे कर सकता हूं ? या मुझे अपने स्वयं के प्रयोजनों के लिए एक वैकल्पिक साइटमैप प्रणाली का निर्माण करना चाहिए?
Mage_Sitemap_Model_Sitemapऔर मुझे एक और साइटमैप देता है जिसमें उत्पाद, श्रेणियां, सीएमएस पृष्ठ शामिल हैं - यह एक विस्तारित संस्करण का उपयोग नहीं करता है। मुझे यकीन नहीं है कि यह कैसे करना है यह बताने के लिए।
Mage_Sitemap_Model_Sitemapसाइट को फिर से लिखना , और श्रेणी और उत्पाद कॉल के तहत अपने मॉडल में जोड़ना। जल्द ही प्रगति के साथ अपडेट होगा।
Mage_Sitemap_Model_Sitemapवर्ग का विस्तार करना चाहते हैं औरgenerateXml()अधिकार को अधिलेखित करना चाहते हैं ? आपने क्या प्रयास किया है