こんにちは、デフォルトのレイアウトで要素をフェッチしようとしていますが、ブロックの表示に関する CakePHP のドキュメントに従っているものは何も表示されず、エラーが見つかりませんでした。
マイ MenusController.php
<?php
class MenusController extends AppController{
public function beforeFilter(){
parent::beforeFilter();
$this->Auth->allow();
}
public function get_menu(){
if ($this->Auth->user()['role'] == 'admin'){
$this->set('dashboard_menu',$this->dashboard_menu_admin());
}
else
$this->set('dashboard_menu',$this->dashboard_menu_user());
}
private function dashboard_menu_admin(){
$dashBoardMenu = array(
array(
'elementName' => 'Usuarios',
'iconName'=> 'user',
'action' => 'users'
),
array('elementName' => 'Personal',
'iconName' => 'user',
'action'=>'personal'
),
array('elementName' => 'Resumen Semanal',
'iconName' => 'edit',
'action' => 'resumen'
),
array('elementName' => 'Estadisticas',
'iconName' => 'signal',
'action' => '#'
),
array('elementName' => 'Tareas',
'iconName' => 'check',
'action' => '#'
),
array('elementName' => 'Calendario',
'iconName' => 'calendar',
'action' => '#'),
array('elementName' => 'Nube',
'iconName' => 'cloud',
'action'=> '#')
);
return $dashBoardMenu;
}
private function dashboard_menu_user(){
$dashBoardMenu = array(
array(
'elementName' => 'Usuarios',
'iconName'=> 'user',
'action' => 'users'
),
array('elementName' => 'Resumen Semanal',
'iconName' => 'edit',
'action' => 'resumen'
),
array('elementName' => 'Estadisticas',
'iconName' => 'signal',
'action' => '#'
),
array('elementName' => 'Tareas',
'iconName' => 'check',
'action' => '#'
),
array('elementName' => 'Calendario',
'iconName' => 'calendar',
'action' => '#'),
array('elementName' => 'Nube',
'iconName' => 'cloud',
'action'=> '#')
);
return $dashBoardMenu;
}
}
View/Menus/get_menu.ctp で
<?php
$this->start('menu');
echo $this->element('menu/dashboard_menu',array('menuItems' => $dashboard_menu));
$this->end();
?>
view/layouts/default.ctp の一部
<div class="container-fluid" id="container">
<div class="row-fluid">
<?php if ($logged_in): ?>
<?php echo $this->fetch('menu'); //THiS IS NOT DISPLAYING ANYTHING ?>
<?php endif; ?>
<div class="span9" id="content">
<?php echo $this->Session->flash(); ?>
<?php echo $this->Session->flash('auth'); ?>
<?php echo $this->fetch('content'); ?>
</div>
</div>
</div>
start メソッドと end メソッドの間にエコー「何か」を出力しようとしていますが、何もありません。私はそれがフェッチされていないと思いますが、理由はわかりません
誰かが私を助けることができます。ありがとう。