私は、サイト上の一連の人々をリストする特注のモジュールを開発しました。各人には独自のURL(Personモデルで基本的なCRUDを行う特注のMagentoコントローラー)があり、これらの公開URLをGoogleサイトマップXMLファイルにフィードする必要があります。
可能な場合は、Magento独自のサイトマップ生成とcronを使用します。
はMage_Sitemap_Model_Observer
既にsitemaps
テーブルからすべてのサイトマップレコードを取得し、1つずつ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ファイルを生成するために呼び出される必要があると思います。ただし、MagentoにMy_Module_Model_Sitemap
単にの代わりに自分の拡張を使用するように指示する方法がわかりませんMage_Sitemap_Model_Sitemap
。
sitemaps
テーブルには、持っているsitemap_type
列を、これは私の知る限りとしてMagentoのコードベースで参照されることはありません。
を上書きしながら、Magentoの組み込みサイトマップエンジンを使用Mage_Sitemap_Model_Sitemap
して独自のgenerateXml()
メソッドを作成するにはどうすればよいですか?または、ここで自分の目的のためだけに別のサイトマップシステムを構築する必要がありますか?
Mage_Sitemap_Model_Sitemap
、製品、カテゴリ、CMSページを含む別のサイトマップを提供します-私の拡張バージョンは使用しません。どうやってそれを伝えるかわからない。
Mage_Sitemap_Model_Sitemap
サイト全体を書き直し、カテゴリと製品コールの下に自分のモデルを追加することに取り組んでいます。近日中に進捗状況が更新されます。
Mage_Sitemap_Model_Sitemap
クラスを拡張して上書きしたいgenerateXml()
ですか?何を試しましたか?