我试图为网上商店生成一个菜单。我已经为它写了一个方法。
Slim说“第53行的未定义变量。我用 *
标记了这一行课程菜单{
function generate_menu() {
$menu = 'ul';
$catergory = Model::factory('category')->find_many();
***foreach ($category as $item) {***
$menu .= '<li>';
$menu .= '<a href = "' . $item->link . '">' . $item->title . '</a>';
$menu .= '</li>';
$count = Model::factory('sub_category')->where('category_title', $item->title)->count();
if ($count >= 0) {
$sub_catergory = Model::factory('sub_category')->where('category_title', $item->title)->find_many();
$menu .= '<ul>';
foreach ($sub_catergory as $sub_catergory) {
$menu .= '<li>';
$menu .= '<a href = "' . $sub_category->link . '">' . $sub_category->title . '</a>';
$menu .= '</li>';
}
$menu .= '</ul>';
}
}
$menu .= '</ul>';
return $menu;
}
}
有人可以告诉我如何将此功能传递给苗条的PHP中的模板吗?
这是我试图将返回的$ menu变量传递给。
的获取请求$app->get('/', function () use ($app) {
$site_info = Model::factory('Site_info')->where('id', '1')->find_one();
$app->render('front_page.php', array(
'site_name' => $site_info->site_name,
'site_slogan' => $site_info->site_slogan,
'domain' => $site_info->domain
));
});
如果数据库请求什么也没有返回,有人可以指出我正确的方向返回巴黎吗?
答案 0 :(得分:1)
我创建菜单的方法:
Class Menu {
function generate_menu() {
$menu = '<ul>';
$category = Model::factory('category')->find_many();
foreach ($category as $item) {
$menu .= '<li>';
$menu .= '<a href = "' . $item->link . '">' . $item->title . '</a>';
$menu .= '</li>';
$count = Model::factory('sub_category')->where('category_title', $item->title)->count();
if ($count >= 0) {
$sub_category = Model::factory('sub_category')->where('category_title', $item->title)->find_many();
$menu .= '<ul>';
foreach ($sub_category as $value) {
$menu .= '<li>';
$menu .= '<a href = "' . $value->link . '">' . $value->title . '</a>';
$menu .= '</li>';
}
$menu .= '</ul>';
}
}
$menu .= '</ul>';
return $menu;
}
}
之后我将方法输出分配给变量并将其传递给模板:
$app->get('/', function () use ($app) {
$site_info = Model::factory('Site_info')->where('id', '1')->find_one();
$category_menu = Menu::generate_menu();
$app->render('front_page.php', array(
'site_name' => $site_info->site_name,
'site_slogan' => $site_info->site_slogan,
'domain' => $site_info->domain,
'menu' => $category_menu
));
});