0

私は FuelPHP にかなり慣れていないので、テンプレートの上部にナビゲーション バーを表示しようとしています。メニュー構造を含むデータベースはすでに利用可能です。

GitHub でこの見栄えの良いクラスを見つけました。

https://github.com/KrisOzolins/NavBuilder/blob/master/navbuilder.php

navbuilder.php ファイルをクラス ディレクトリに追加して動作させようとしています: Fuel/app/classes

そして、https://github.com/KrisOzolins/NavBuilderの指示からのサンプル コードを私の Fuel/views/welcome/index.php ファイルに入力しました。

$menu = NavBuilder::factory()->build()->render();
echo $menu;

その前に、クラスの tablesetup の $default_setting を変更して、データベース テーブルを反映させました。

これは私が得たものです:

ErrorException [ Fatal Error ]:
Call to a member function render() on a non-object

私が言ったように、私は FuelPHP にかなり慣れていません。私もMVCのアプローチを初めて把握しています。

4

1 に答える 1

0

コードをざっと見てみると、リンクを取得するための DB クエリが結果を生成しない場合、build() は NavBuilder のインスタンスではなく NULL を返すことがわかります。

したがって、これを軽減するには次のようにします。

$menu = NavBuilder::factory()->build();
if ($menu)
{
    echo $menu->render();
}
于 2013-12-17T21:08:50.760 に答える