【環境情報】
・baserCMSのバージョン:5.1.0-dev
・レンタルサーバー名:local docker
・使用テーマ:
・PHPスキル(自己評価):C
独自プラグインにて、BcBaser統合ヘルパを利用する場合、
有効化済み独自プラグイン内に、統合ヘルパクラスを準備して、関連付け用のメソッドを実装して、
任意のテンプレートに、$this->BcBaser->hoge()を設置すれば、あとは勝手にヘルパー及びメソッドが読み込まれる。
という認識で合ってますか?
で、今のところ、
そのように書いたつもりなんですが、could not be found. とのことで、読み込まれないです。
ちなみに、
https://baserproject.github.io/5/plugin/helper_extension
// /plugins/YourPluginName/src/View/Helper/YourPluginNameBaserHelper.php
class YourPluginName extends Helper implements BcPluginBaserHelperInterface
{
}
これのクラス名は、正確には、以下ですよね?
// /plugins/YourPluginName/src/View/Helper/YourPluginNameBaserHelper.php
class {YourPluginName}BaserHelper extends Helper implements BcPluginBaserHelperInterface
{
}
akasky
2
こんにちは!
差し支えなければ、具体的にどのファイルが「could not be found. 」になるか
教えていただけると、回答を得やすいかもしれません。
念の為、統合へルパの具体例を挙げるとすると、
Testという名前の独自プラグインを作って統合へルパを作る場合は、
みたいな感じにのフォルダ構成になりますね。(Plugin.phpなど必須ファイルは省略してます)
Helperの中身は、公式に載っている情報を真似てみると下記のようになるかと思います。
<?php
namespace Test\View\Helper;
use BaserCore\View\Helper\BcPluginBaserHelperInterface;
use Cake\View\Helper;
class TestBaserHelper extends Helper implements BcPluginBaserHelperInterface
{
public $helpers = ['BcBlog.Blog'];
public function methods(): array
{
return [
'getHoge' => ['Blog', 'posts'],
];
}
}
これを例えばテーマのtemplates/layout/default.phpにて
$this->BcBaser->getHoge('news');
みたいに呼び出せるかと思います。
ご返信ありがとうございます。
結論から申し上げると、
こちらに記載されてる内容で問題なく動きました。統合されました。
エラーの原因は、単純に読み込んでたelementでタイプミスしてただけでした、orz
「いいね!」 1