Magentoでカスタムヘルパーモジュールを作成しようとしていますが、ページから呼び出すと次のエラーが発生します。
Warning: include(Mage/SEO/Helper/Data.php) [function.include]: failed to open stream: No such file or directory in /home/strailco/1stclassholidays.com/html/lib/Varien/Autoload.php on line 93
テンプレートから、以下を使用してヘルパーモジュールを呼び出しています。
<?php echo Mage::helper('SEO')->getFullProductUrl($product); ?>
ヘルパーモジュールは次の場所に設定されています。
/app/code/local/SEO/Fullurl/Helper/Data.php
/app/code/local/SEO/Fullurl/etc/config.xml
Data.phpは関数を呼び出します:
<?php
class getFullProductUrl {
public function getFullProductUrl( $product )
{
}
config.xmlを次のように設定しています:
<?xml version="1.0"?>
<config>
<global>
<helpers>
<SEO>
<class>getFullProductUrl</class>
</SEO>
</helpers>
</global>
</config>
問題はconfig.xmlの設定方法にあると思いますが、これを行う正しい方法を見つけるのに苦労しています。
私はあなたが与えることができるどんな助けでも非常に素晴らしいでしょう。私はこれに数日間取り組んできましたが、うまくいきません。
どうもありがとう
ジェイソン
最初の問題はconfig.xmlです。使用しているクラスをMagentoに伝える必要があります。
_...Other Stuff...
<global>
...Other Stuff...
<helpers>
<SEO>
<class>SEO_Fullurl_Helper</class>
</SEO>
</helpers>
...Other Stuff...
</global>
...Other Stuff...
_
次に、_app/code/local/SEO/Fullurl/Helper/Data.php
_に次のようなヘルパーが必要です。
_class SEO_Fullurl_Helper_Data extends Mage_Core_Helper_Abstract
{
function getFullProductUrl( $product )
{
}
}
_
次に、echo Mage::helper('SEO')->getFullProductUrl($product);
を実行できます
モジュールをapp/etc/modules /SEO_Fullurl.xmlに追加する手順を見逃していました
<?xml version="1.0"?>
<config>
<modules>
<SEO_Fullurl>
<active>true</active>
<codePool>local</codePool>
</SEO_Fullurl>
</modules>
</config>
これが誰かの助けになることを願っています。非常に簡単な間違いです。