拡張しようとしています: Mage_Catalog_Model_Product_Visibility
Visibility.php ファイルで以下を変更しています。
public function getVisibleInSiteIds()
{
return array(self::VISIBILITY_IN_SEARCH, self::VISIBILITY_IN_CATALOG, self::VISIBILITY_BOTH);
}
の中へ:
public function getVisibleInSiteIds()
{
return array(self::VISIBILITY_IN_SEARCH, self::VISIBILITY_IN_CATALOG, self::VISIBILITY_BOTH, self::VISIBILITY_NOT_VISIBLE);
}
Not Visible に設定されている古い製品は、引き続き直接 URL から表示されます (デフォルトでは、Magento は 404 を表示します)。
コアファイルを変更してこれをテストしたところ、動作しました。しかし、少し拡張機能を作成したいのですが、今のところ機能させることができません。これは私がこれまでに行ったことです:
app/etc/modules/CustomCode_InvisibleProducts.xml
<?xml version="1.0"?>
<config>
<modules>
<CustomCode_InvisibleProducts>
<active>true</active>
<codePool>local</codePool>
</CustomCode_InvisibleProducts>
</modules>
</config>
アプリ/コード/ローカル/CustomCode/InvisibleProducts/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<CustomCode_InvisibleProducts>
<version>0.1.0</version>
</CustomCode_InvisibleProducts>
</modules>
<global>
<models>
<customcode_invisibleproducts>
<class>CustomCode_InvisibleProducts_Model</class>
</customcode_invisibleproducts>
<catalog>
<rewrite>
<product_visibility>CustomCode_InvisibleProducts_Model_Catalog_Product_Visibility</product_visibility>
</rewrite>
</catalog>
</models>
</global>
</config>
アプリ/コード/ローカル/CustomCode/InvisibleProducts/モデル/カタログ/製品/Visibility.php
class CustomCode_InvisibleProducts_Model_Catalog_Product_Visibility extends Mage_Catalog_Model_Product_Visibility
{
.....
何も起こっていない/変化していないように見えるため、モデルを正しく拡張していません。
助けてくれてありがとう!