0
我有一個非常基本的應用程序,它使用大部分功能的插件。我希望允許每個插件定義一些自定義菜單和菜單項,將所有這些菜單收集到一個地方(可能是AppController :: initialize),並創建一個數組,該數組將傳遞給main-menu.php元素,該元素將呈現完整的菜單。如何在插件中添加設置
我所做的到目前爲止是在插件
# plugins/TestPlugin/config/menus.php
return [
'menus' => [
[
'header' => 'TestPlugin',
[
'title' => 'Click me!',
'href' => './',
],
[
'title' => 'Click me too!',
'href' => './',
]
]
]
];
負載的配置定義菜單:
# plugins/TestPlugin/config/bootstrap.php
use Cake\Core\Configure;
Configure::load('TestPlugin.menus', 'default' , true);
而讀取變量:
# src/Controller/AppController.php
public function initialize()
{
parent::initialize();
$plugin_menus = Configure::read('menus);
但如果我有更多的一個插件,menus
正在被覆蓋。
我不確定這是否是最好的方法。我試圖實現的是多個模塊更改(附加到)相同的配置變量
我的問題是我用'Configure :: read('menus')加載插件的導航;'它會覆蓋任何其他插件的'$ menu'變量。所以我正在尋找一種方法來加載'plugins/TestPlugin/menus.php'文件,該文件返回一個'$ menus'數組,而不覆蓋任何已經存在的'$ menus'變量。 – karivolas
你已經錯過了我在答案中使用'array_merge'。以便您可以以多維方式鍵入數組以適應您的額外導航數據。 –