通过单个查询或覆盖规则更改所有产品的自定义设计

时间:2015-08-04 20:05:48

标签: magento

我注意到一些先前的开发人员遵循了不好的方式,并为所有使用的产品添加了客户设计。所以现在有1000个产品,如果不可能mannualy编辑所有产品并将自定义主题值更改为null,那么主题可以使用默认主题为整个magento。

我可以通过phpmyadim或任何简单的方式来执行此操作,例如模块覆盖,请帮我修复它.......................... ...............

1 个答案:

答案 0 :(得分:0)

您可以编写一个设置脚本来遍历每个产品并删除自定义设计并保存。由于您只有1000种产品,因此不会太糟糕 如果你想通过观察者这样做,你可以观察事件controller_action_predispatch并编写观察者代码,如:

$request = Mage::app()->getRequest();
$currentRequest = $request->getModuleName() . '/' . $request->getControllerName() . '/' . $request->getActionName();
if(in_array($currentRequest, array('catalog/product/view')) {
    // override product custom theme theme with normal theme
    $area = Mage::getSingleton('core/design_package')->getArea();
    Mage::getDesign()
        ->setArea($area)
        ->setTheme('yourthemename');
}