ฉันได้พัฒนาโมดูล bespoke ซึ่งแสดงรายการของคนในเว็บไซต์ แต่ละคนมี URL ของตัวเอง (ตัวควบคุม Magento ซึ่งทำหน้าที่ CRUD ขั้นต้นในรุ่นบุคคล) และฉันต้องป้อน URL สาธารณะเหล่านี้ลงในไฟล์ XML ของ Google Sitemap
ฉันต้องการใช้แผนผังไซต์ของ Magento และ cron ถ้าทำได้
การMage_Sitemap_Model_Observerดึงข้อมูล Sitemap ทั้งหมดจาก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();
}
}
ฉันคิดว่าฉันต้องเพิ่ม Sitemap ใหม่ของฉันในsitemapsตารางซึ่งจะถูกเรียกให้สร้างไฟล์ XML (แยก) ของฉันสำหรับบันทึกโมเดลที่กำหนดเองของฉัน อย่างไรก็ตามฉันไม่รู้วิธีบอก Magento ให้ใช้ส่วนขยายMy_Module_Model_Sitemapแทนที่จะเป็นเพียงMage_Sitemap_Model_Sitemapส่วนหลังซึ่งจะให้ไฟล์ XML ที่ฉันแสดงรายการหมวดหมู่ผลิตภัณฑ์และหน้า CMS เดียวกันกับแผนผังไซต์หลักทั้งหมด
sitemapsตารางมีsitemap_typeคอลัมน์ แต่นี้จะไม่อ้างอิงในวีโอไอพี codebase เท่าที่ผมสามารถบอกได้
ฉันจะใช้เครื่องมือสร้างแผนผังเว็บไซต์ของ Magento ในขณะที่เขียนทับMage_Sitemap_Model_Sitemapเพื่อให้มีgenerateXml()วิธีการของตัวเองได้อย่างไร หรือฉันต้องสร้างระบบ sitemap สำรองเพื่อจุดประสงค์ของฉันเองที่นี่?
Mage_Sitemap_Model_Sitemapและทำให้ฉันมีแผนผังไซต์อีกอันที่บรรจุผลิตภัณฑ์หมวดหมู่หน้า CMS - มันไม่ได้ใช้เวอร์ชันขยายของฉัน ฉันไม่แน่ใจว่าจะบอกได้อย่างไรว่าทำเช่นนั้น
Mage_Sitemap_Model_Sitemapไซต์และเพิ่มโมเดลของฉันเองภายใต้หมวดหมู่และการโทรผลิตภัณฑ์ จะอัปเดตในไม่ช้าด้วยความคืบหน้า
Mage_Sitemap_Model_Sitemapชั้นเรียนและเขียนทับgenerateXml()ขวาหรือไม่ คุณลองทำอะไร