Catalog > Google Sitemap
Magento の機能をオーバーライドして、sitemap.xml ファイル (バックエンド)を作成しようとしています。私のオーバーライドの考え方は、すべての製品およびカテゴリ URL をサイトマップに含める必要はないということです。製品またはカテゴリのカテゴリ パスを含めて含めるかどうかを決定する必要があります。
これが私がしたことです。これをモジュールの config.xml に追加しました。
...
<global>
...
<models>
...
<sitemap>
<rewrite>
<sitemap>Company_Module_Model_Sitemap</sitemap>
</rewrite>
</sitemap>
...
</models>
...
</global>
...
クラスCompany_Module_Model_Sitemap
は適切にオーバーライドされていますが、目標を達成するにはリソース モデルもオーバーライドする必要があることが判明したため、config.xml ファイル (models-tag の間) に以下を追加しました。
<sitemap_resource>
<rewrite>
<sitemap>Company_Module_Model_Sitemap_Resource_Catalog_Category</sitemap>
</rewrite>
</sitemap_resource>
Now it starts to go wrong.. It somehow won't even load the backend grid anymore, navigating to the backend page of Google Sitemap yields the following error:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'sitemap_id' in 'order clause'
Curently, the only content of the Company_Module_Model_Sitemap_Resource_Catalog_Category class is the following:
class Company_Module_Model_Sitemap_Resource_Catalog_Category
extends Mage_Sitemap_Model_Resource_Catalog_Category { }
So finally, my question: how to correctly override the Mage_Sitemap_Model_Resource_Catalog_Category
class in Magento?