我有一个自定义库(在application \ libraries中)我可以称之为正常,但是我想通过控制器从模型传递数据: 在控制器中:
$MenuData['daily'] = $this->bookmarks_model->getDaily();
$this->load->library('MyMenu');
$menu = new MyMenu;
$data['menu'] = $menu->ShowMenu($MenuData);
在MyMenu库中:
function ShowMenu($Params)
{
$CI =& get_instance();
$CI->load->helper('url');
$CI->config->item('base_url');
//More Code here
$menu .= "<li><a href='#'>Daily</a>";
$menu .= " <ul>";
foreach($daily as $row) :
$menu .= "<li><a href='" . $row->url . "' target='_blank'>" . $row->short_title . "</a></li>";
endforeach;
$menu .= " </ul> ";
$menu .= " </li>";
//More Code here
}
return $menu;
但是我得到一个未定义的变量错误和每个的无效参数。 任何帮助非常感谢!
答案 0 :(得分:1)
抱歉,但可能只是我。这个.=
意味着在已经在变量中找到的字符串的末尾连接,但是之前你还没有使用它。这一行应该是这样的:
$menu .= "<li><a href='#'>Daily</a>";
是:
$menu = "<li><a href='#'>Daily</a>";
答案 1 :(得分:1)
您正在将多维数组($MenuData
)传递给该函数,然后尝试将MD数组中的第二级数组($MenuData['daily']
)之一传递给foreach循环,而不引用第一级。而不是:
foreach($daily as $row) :
尝试:
foreach($Params['daily'] as $row) :
或者在你的foreach循环声明一个变量来保存第二级数组之前:
$daily = $Params['daily']
foreach($daily as $row):