0

我正在尝试在 magento 安装上设置新商店。它是安装的第二个网站/商店,托管在不同的域和不同的文件夹中。数据库是一样的。

我按照所有说明配置和设置新商店。我从旧商店复制了布局、设计和皮肤文件而没有更改它们。理论上,两家商店都在运行相同的代码。在浏览器中访问新商店时,出现以下错误:

警告:call_user_func_array() 期望参数 1 是一个有效的回调,类 'Mage_Wishlist_Helper_Data' 在第 323 行的 /httpdocs/app/code/core/Mage/Core/Model/Layout.php 中没有方法 ''

0 [内部函数]: mageCoreErrorHandler(2, 'call_user_func_...', '/var/www/vhosts...', 323, Array) 1 /httpdocs/app/code/core/Mage/Core/Model/Layout .php(323): call_user_func_array(Array, Array) 2 /httpdocs/app/code/core/Mage/Core/Model/Layout.php(213): Mage_Core_Model_Layout->_generateAction(Object(Mage_Core_Model_Layout_Element), Object(Mage_Core_Model_Layout_Element)) 3 /httpdocs/app/code/core/Mage/Core/Model/Layout.php(209): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element)) 4 /httpdocs/app/code/core/Mage/Core/Model/Layout .php(209): Mage_Core_Model_Layout->generateBlocks(Object(Mage_Core_Model_Layout_Element)) 5 /httpdocs/app/code/core/Mage/Core/Controller/Varien/Action.php(343): Mage_Core_Model_Layout->generateBlocks() 6 /httpdocs /app/code/core/Mage/Core/Controller/Varien/Action.php(270): Mage_Core_Controller_Varien_Action->generateLayoutBlocks() 7 /httpdocs/app/code/core/Mage/Cms/controllers/IndexController.php(60): Mage_Core_Controller_Varien_Action->loadLayout() 8 /httpdocs/app/code/core/ Mage/Core/Controller/Varien/Action.php(418): Mage_Cms_IndexController->defaultIndexAction() 9 /httpdocs/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php(253): Mage_Core_Controller_Varien_Action- >dispatch('defaultIndex') 10 /httpdocs/app/code/core/Mage/Core/Controller/Varien/Front.php(176): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http)) 11 /httpdocs/app/code/ core/Mage/Core/Model/App.php(340): Mage_Core_Controller_Varien_Front->dispatch() 12 /httpdocs/app/Mage.php(627): Mage_Core_Model_App->run(Array) 13 /httpdocs/index.php(81 ): 法师::运行('我的网站','网站')

我禁用了管理 > 配置 > 客户下的愿望清单和管理 > 配置 > 高级 > 高级中的模块输出。

此外,我的 local.xml 具有以下内容:

        <!-- Removes 'Wishlist' link - Default position: 20 -->
        <!-- for Magento 1.3.x -->
        <action method="removeLinkByUrl"><url helper="wishlist/"/></action>

        <!-- for Magento 1.4.x -->
        <remove name="wishlist_link"/>

有什么想法或建议吗?

4

3 回答 3

0

我尝试以多种方式删除链接......最后我一起摆脱了顶级链接并硬编码了我想要的链接。

将此添加到 local.xml 并删除 top.links 部分以将其从站点中删除:

 <reference name="root"> 
        <remove name="top.links" />
    </reference>
于 2013-01-17T22:34:08.877 回答
0

好像是配置线

<action method="removeLinkByUrl"><url helper="wishlist/"/></action>

是不正确的。

这里发生的是 Mage_Page_Block_Template_Links 类型的块调用它的函数 removeLinkByUrl($url)。参数 $url 由另一个函数生成,该函数由 hepler 类 Mage_Wishlist_Helper_Data 提供。缺少函数的名称:而不是 "wishlist/" 应该是 "wishlist/someFunctionThatGetsAUrl" 。由于没有提供函数名,所以系统找不到并抛出此错误

如果目标是隐藏 wishlink 块,用 line 表示

<remove name="wishlist_link"/>

那么为什么不注释掉action config行,这对我来说似乎是多余的?

冗余可能来自尝试为两个较旧的 Magento 版本(1.3x 和 1.4x)提供服务。在 1.3x 中,动作配置可能是有效的,但在您当前的 Magento 版本中似乎并非如此。

于 2013-01-17T21:48:42.680 回答
0

在 Magento 中删除愿望清单链接很痛苦,并且可能导致错误。你可以做的是按照这个答案为愿望清单链接设置一个空白模板,这样就不会导致错误(代码见答案的底部):

https://stackoverflow.com/a/4424679/823549

于 2013-01-17T18:38:07.773 回答