ฉันได้พัฒนาโมดูล 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()
ขวาหรือไม่ คุณลองทำอะไร