Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento无法覆盖控制器的操作_Php_Magento_Magento 1.8 - Fatal编程技术网

Php Magento无法覆盖控制器的操作

Php Magento无法覆盖控制器的操作,php,magento,magento-1.8,Php,Magento,Magento 1.8,我需要重写代码/core/Mage/ProductAlert/controllers的AddController.php中的stockAction。所以我搜索了很多,看看如何继续,得到了这个: /etc/modules/Totem\u ProductAlert.xml /代码/local/Totem/ProductAlert/controllers/AddController.php 但该操作未被覆盖,且未创建Test.log 有人知道我在哪里搞砸了 谢谢。试试这个 <?xml vers

我需要重写代码/core/Mage/ProductAlert/controllers的AddController.php中的stockAction。所以我搜索了很多,看看如何继续,得到了这个:

/etc/modules/Totem\u ProductAlert.xml

/代码/local/Totem/ProductAlert/controllers/AddController.php

但该操作未被覆盖,且未创建Test.log

有人知道我在哪里搞砸了

谢谢。

试试这个

<?xml version="1.0"?>
<config>
  <modules>
    <Totem_ProductAlert>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </Totem_Custom>
  </modules>
</config>
config.xml

控制器


您的代码中存在以下问题:

Totem_ProductAlert.xml中存在语法问题。应该 be.p应该是大写字母。 符合事实的 地方的 魔导师
/code/local/Totem/ProductAlert/controllers/AddController.php是否包含对要覆盖的Mage核心文件的引用?i、 e.require_once Mage::getModuleDir'controllers','Mage_Product_Alert'.DS.'AddController.php';-你确定你的模块正在加载吗?清除缓存,添加骰子等等?是的,确实需要:需要一次Mage::getModuleDir'controllers',Mage\u ProductAlert'.DS.'AddController.php';缓存已禁用,如何确保已加载模块?它出现在系统>配置>高级>高级中,谢谢!在我的问题中,有一次我忘了复制粘贴require_,问题是代码池/代码池。谢谢
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
    <Totem_ProductAlert>
        <version>0.0.1</version>
    </Totem_ProductAlert>
</modules>

<frontend>
    <routers>
        <productalert>
            <args>
                <modules>
                    <Totem_ProductAlert before="Mage_ProductAlert">Totem_ProductAlert</Totem_ProductAlert>
                </modules>
            </args>
        </productalert>
    </routers>
</frontend>
</config>
class Totem_ProductAlert_AddController extends Mage_ProductAlert_AddController
{
  public function stockAction()
  {
    Mage::log('test', null, 'Test.log');
  }
<?xml version="1.0"?>
<config>
  <modules>
    <Totem_ProductAlert>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </Totem_Custom>
  </modules>
</config>
<?xml version="1.0"?>
<config>
  <modules>
    <Totem_ProductAlert>
      <version>0.1.0</version>
    </Totem_ProductAlert>
  </modules>
  <frontend>
    <routers>
      <productalert>
        <use>standard</use>
          <args>
            <module>Totem_ProductAlert</module>
            <frontName>productalert</frontName>
          </args>
      </productalert>
    </routers>
  </frontend>
  <global>
        <rewrite>        
            <totem_productalert_productalert_addcontroller>
                <from><![CDATA[#^/productalert/add/#]]></from> <!-- Mage_ProductAlert_AddController  -->
                <to>/productalert/productalert_add/</to> <!-- Totem_ProductAlert_ProductAlert_AddController  -->
            </totem_productalert_productalert_addcontroller>
        </rewrite>
    <helpers>
      <productalert>
        <class>Totem_ProductAlert_Helper</class>
      </productalert>
    </helpers>
  </global>
  <admin>
    <routers>
      <productalert>
        <use>admin</use>
        <args>
          <module>Totem_ProductAlert</module>
          <frontName>admin_productalert</frontName>
        </args>
      </productalert>
    </routers>
  </admin>
</config> 
    <?php
    require_once "Mage/ProductAlert/controllers/AddController.php";  
    class Totem_ProductAlert_ProductAlert_AddController extends Mage_ProductAlert_AddController{
     public function stockAction(){
        Mage::log('test', null, 'Test.log');
     }
   }