Answers:
欢迎来到Magento.StackExchange!
不幸的是,没有现成的模块可以为您完成此任务。
我强烈建议您重新考虑此选项。您的用户并不愚蠢(无论他们的行为多么愚蠢)-多年的电子商务分析表明,几乎80%的用户中,达到404的用户将在几秒钟内点击现场搜索栏。尽力通过更好的分类来完善您的网站搜索(阅读:关键字填充)。
Google索引不会永远存在。如果您担心404,请考虑整理404页面本身。为遇到404错误的人提供5-10%的折扣券,以增加您的转化潜力。或者,更好的是,不要禁用产品页面。而是禁用购买功能(例如,设置为缺货),并提供链接到相关页面/类别的静态块/链接。
我不在乎,只给我代码,因为互联网:
最简单的方法是用观察者编码一个模块,该模块将为您处理这个问题:
config.xml中的事件指定:
<global>
<events>
<controller_action_postdispatch_catalog_product_view>
<observers>
<yourmodule_capcpv>
<class>YourCompany_YourModule_Model_Observer</class>
<method>catalogProductViewPostdispatch</method>
</yourmodule_capcpv>
</observers>
</controller_action_postdispatch_catalog_product_view>
</events>
</global>
应用/代码/本地/YourCompany/YourModule/Model/Observer.php:
<?php
class YourCompany_YourModule_Model_Observer
{
public function catalogProductViewPostdispatch($observer)
{
$controller = $observer->getEvent()->getControllerAction();
$product = Mage::registry('current_product');
if($product->getStatus()!=Mage_Catalog_Model_Product_Status::STATUS_ENABLED){
$action->getResponse()->setRedirect(/* your redirect URL here with Mage::getUrl() */);
}
}
}