私は少し混乱した問題があります...下記のコードでわかるように、私はarray
を持っています。これには他の配列が含まれています。ユーザーの役割に応じてユーザーのナビゲーションを作成します。ナビゲーションアイテムは継承され、ここに私の問題があります。最低のロールEXPERT
にあるキー'dokumenty'
の値を、REPORTER
とREFERENT
のロールでは表示しないでください。EDITOR
で再び表示する必要があります。だから私は'dokumenty'
の値を削除しようとしたEXPERT
とREPORTER
のコードを共有していますが、それは私にarray_merge()
でエラーを投げました...私はどのように'dokumenty'
キーで行を削除するのがうれしいです。私はかなり長いのでreturn
全体を共有すべきではないと思います。配列内の連想配列からキーと値を削除
return array(
AuthRoleEnum::EXPERT => array(
'prehled' => array('order' => 1, 'href' => ':Dashboard:Default:default', 'label' => 'Prehled', 'ico' => 'fa fa-th-list'),
'pozemky' => array('order' => 3, 'href' => '#', 'label' => 'Pozemky', 'ico' => 'fa fa-flag-o', 'nodes' => array(
array('order' => 1, 'href' => ':Land:List:default', 'label' => 'Seznam pozemku', 'ico' => 'fa fa-flag-o'),
array('order' => 2, 'href' => ':Land:List:selected', 'label' => 'Muj vyber', 'ico' => 'fa fa-flag-o'),
)),
'mapa' => array('order' => 4, 'href' => ':Map:Default:default', 'label' => 'Mapa', 'ico' => 'fa fa-globe'),
'dokumenty' => array('order' => 8, 'href' => '#', 'label' => 'Dokumenty', 'ico' => 'fa fa-newspaper-o', 'nodes' => array(
array('order' => 12, 'href' => ':ExpertReview:ContractsList:default', 'label' => 'Posudky', 'ico' => 'fa fa-folder'),
)),
),
AuthRoleEnum::REPORTER => array(
'dokumenty' => null,
'workflow' => array('order' => 20, 'href' => ':Construction:List:workflow', 'label' => 'Workflow', 'ico' => 'fa fa-cubes'),
),
AuthRoleEnum::REFERENT => array(
'stavby' => array('order' => 2, 'href' => ':Construction:List:default', 'label' => 'Stavby', 'ico' => 'fa fa-road', 'nodes' => [
['order' => 1, 'href' => ':Construction:List:default', 'label' => 'Seznam staveb', 'ico' => 'fa fa-road']
]),
'kontakty' => array('order' => 9, 'href' => ':Contact:List:default', 'label' => 'Kontakty', 'ico' => 'fa fa-user', 'nodes' => []),
'dokumenty' => array('order' => 8, 'href' => '#', 'label' => 'Dokumenty', 'ico' => 'fa fa-newspaper-o', 'nodes' => array(
array('order' => 9, 'href' => ':Document:List:default', 'hrefArgs' => array('landId' => null), 'label' => 'Seznam dokumentu', 'ico' => 'fa fa-newspaper-o'),
)),
),
AuthRoleEnum::EDITOR => array(
'alarmy' => array('order' => 5, 'href' => '#', 'label' => 'Alarmy', 'ico' => 'fa fa-bell-o', 'nodes' => array(
array('order' => 6, 'href' => ':Alarm:List:default', 'label' => 'Seznam alarmu', 'ico' => 'fa fa-bell-o', 'class' => 'alarm-menu-field')
)),
'dokumenty' => array('order' => 8, 'href' => '#', 'label' => 'Dokumenty', 'ico' => 'fa fa-newspaper-o', 'nodes' => array(
array('order' => 10, 'href' => ':InsertionCadastral:GenerateInsertion:list', 'label' => 'Pozadavky na vklad do KN', 'ico' => 'fa fa-cloud-upload'),
array('order' => 11, 'href' => ':Document:GenerateDocx:firstStep', 'label' => 'Generovani dokumentu', 'ico' => 'fa fa-pencil-square', 'class' => 'show-in-modal'),
array('order' => 12, 'href' => ':ExpertReview:ContractsList:default', 'label' => 'Posudky', 'ico' => 'fa fa-folder'),
)),
'fronta' => array('order' => 15, 'href' => ':Queue:List:default', 'label' => '', 'ico' => 'fa fa-circle', 'class' => 'queue-menu-field'),
'pozemky' => array('order' => 3, 'href' => '#', 'label' => 'Pozemky', 'ico' => 'fa fa-flag-o', 'nodes' => array(
array('order' => 3, 'href' => ':Land:Comment:list', 'label' => 'Parcely s poznamkou', 'ico' => 'fa fa-flag-o'),
array('order' => 4, 'href' => ':BuildingObject:List:default', 'label' => '_T_MAIN_MENU_TITLE_BUILDING_OBJECT', 'ico' => 'fa fa-building')
)),
),
AuthRoleEnum::ADMIN => array(
'stavby' => array('order' => 2, 'href' => ':Construction:List:default', 'label' => 'Stavby', 'ico' => 'fa fa-road', 'nodes' => [
['order' => 2, 'href' => ':Construction:UserActivity:default', 'label' => 'Aktivita uzivatelu', 'ico' => 'fa fa-user']
]),
'system' => array('order' => 10, 'href' => '#', 'label' => 'System', 'ico' => 'fa fa-cog', 'nodes' => array(
array('order' => 4, 'href' => ':Setting:UserConstruction:default', 'label' => 'Sprava opravneni uzivatelu a staveb', 'ico' => 'fa fa-building-o'),
array('href' => ':Setting:User:default', 'label' => 'Uzivatelske ucty', 'ico' => 'fa fa-list')
)),
'alarmy' => array('order' => 5, 'href' => '#', 'label' => 'Alarmy', 'ico' => 'fa fa-bell-o', 'nodes' => array(
array('order' => 7, 'href' => ':Alarm:Edit:add', 'label' => 'Pridani alarmu', 'ico' => 'fa fa-pencil-square', 'class' => 'show-in-modal')
)),
),
AuthRoleEnum::SUPERADMIN => array(
'kontakty' => array('order' => 18, 'href' => '#', 'label' => 'Kontakty', 'ico' => 'fa fa-user', 'nodes' => array(
array('href' => ':Contact:List:default', 'label' => 'Kontakty', 'ico' => 'fa fa-folder'),
array('href' => ':ExpertReview:Contact:default', 'label' => 'Posudkari', 'ico' => 'fa fa-folder')
)),
'system' => array('order' => 11, 'href' => '#', 'label' => 'System', 'ico' => 'fa fa-list', 'nodes' => array(
array('href' => ':Setting:Selection:default', 'label' => 'Ciselniky', 'ico' => 'fa fa-list'),
array('href' => ':Setting:System:edit', 'label' => 'Zakladni parametry', 'ico' => 'fa fa-list', 'class' => 'show-in-modal', 'dataredirect' => 'false'),
array('href' => ':Setting:ConstructionGeneratedSelections:default', 'label' => 'Sablony generovanych dokumentu', 'ico' => 'fa fa-list'),
array('href' => ':Setting:ConstructionInsertedSelections:default', 'label' => 'Sablony vkladanych dokumentu', 'ico' => 'fa fa-list'),
array('href' => ':Setting:WsUsers:default', 'label' => 'Uzivatele webovych sluzeb', 'ico' => 'fa fa-credit-card'),
array('href' => ':Setting:UserLog:default', 'label' => 'Kompletni log', 'ico' => 'fa fa-h-square'),
array('href' => 'changeDebugMode!', 'label' => $debugModeLabel, 'ico' => 'fa fa-gears'),
array('href' => ':Setting:Changelog:list', 'label' => 'Changelog', 'ico' => 'fa fa-gears'),
)),
)
);
エラー私は'dokumenty' => null,
を試しながら:
array_merge(): Argument #1 is not an array search
私はすでにこれを試しましたが、うまくいきませんでした。だから私は私の質問と私はこのソリューションを使用するときに得るエラーに完全な復帰を追加します。 – HS1993
@ HS1993たぶんあなたはnullの代わりにarray()を与えて、空の配列であることを確認して、答えの最後に置いた他の質問へのリンクをチェックしてください。 – Road2PreSchool
私もこれを試しましたが、私はこのエラーメッセージを受け取りました: '未定義インデックス:ノード' – HS1993