0

Magento インストールで新しいストアをセットアップしようとしています。これは、インストール時の 2 番目の Web サイト / ストアであり、別のドメインと別のフォルダーでホストされています。データベースは同じです。

すべての指示に従って、新しいストアを構成およびセットアップしました。古いストアからレイアウト、デザイン、スキン ファイルを変更せずにコピーしました。理論的には、両方のストアが同じコードを実行しています。ブラウザーで新しいストアに移動すると、次のエラーが表示されます。

警告: call_user_func_array() は、パラメーター 1 が有効なコールバックであることを想定しています。クラス 'Mage_Wishlist_Helper_Data' には、/httpdocs/app/code/core/Mage/Core/Model/Layout.php の 323 行目にメソッド '' がありません

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(配列, 配列) 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(配列) 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

Magento でウィッシュリストのリンクを削除するのは面倒で、エラーが発生する可能性があります。あなたができることは、この回答に従って、空白のテンプレートをウィッシュリストのリンクに設定して、エラーが発生しないようにすることです(コードについては、回答の下部を参照してください)。

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

于 2013-01-17T18:38:07.773 に答える
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ブロックを非表示にすることである場合、これは行で表現されます

<remove name="wishlist_link"/>

それならなぜ、私には冗長に見える action config 行をコメントアウトしないのですか?

冗長性は、1.3x と 1.4x の 2 つの古い Magento バージョンを提供しようとする試みから生じる可能性があります。1.3x ではアクション構成が有効だった可能性がありますが、現在の Magento バージョンではそうではないようです。

于 2013-01-17T21:48:42.680 に答える