从数据库瘦身PHP功能菜单

时间:2012-09-15 16:28:48

标签: php slim idiorm

我试图为网上商店生成一个菜单。我已经为它写了一个方法。

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
        ));
    });

如果数据库请求什么也没有返回,有人可以指出我正确的方向返回巴黎吗?

1 个答案:

答案 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
        ));
    });