1

コントローラーからモデルを呼び出そうとしています。これにより、ビューからデータが生成され、コンテンツとして保存されてコントローラーに返されます。コントローラーは、データをテンプレートに追加します。

何が起こっているのかという$content = $this->load->view('left/profile', $c_data);と、データを変数に保存する代わりに印刷しているということです$content

これが私のコードです:

コントローラ:

function index($page = '1-Welcome to')
{
        if (!$this->tank_auth->is_logged_in()) {
            //display non-login page
            redirect('/auth/login/');
        } else { 
    //user information
        $user['user_id'] = $this->tank_auth->get_user_id();
        $user['username'] = $this->tank_auth->get_username();
    //general page data
        $main['title'] = $this->page_model->make_title(ucfirst($page));
    //template data
        $template['head'] = $this->load->view('templates/head', $main, TRUE); 
    //get left content
        $c_data['make_profile'] = $this->left_model->make_profile($user);

    //combine into one variable
        $data['template'] = $template;
        $data['page'] = $page;
        $data['user'] = $user;
        $data['left'] = $c_data;
        print_r($data);
        $this->load->view('main_template', $data);
        }
}

焦点を合わせる$c_data['make_profile'] = $this->left_model->make_profile($user);

ここはmake_profile

public function make_profile($user)
{
    $user_id = $user['user_id'];
    $query = $this->db->query(" SELECT location FROM user_profiles AS up 
                                INNER JOIN avatars AS a
                                ON up.avatar_id = a.id
                                WHERE user_id='$user_id'");
    $c_data['avatar_loc'] = $query->row_array();
    $content = $this->load->view('left/profile', $c_data);
    $content .= "hello";
    return $content;
}

そして、これが私のプロフィールビューです:

<div id="profile">
    <div id='avatar'><img src="<?php echo $avatar_loc['location'] ?>" alt="avatar_user"/></div>
    <div id="profile_pop"></div>
</div>

なぜそれが機能しないのか分かりますか?ありがとう

4

1 に答える 1

5

ビューからのデータを文字列として返します。

$this->load->view('left/profile', $c_data, TRUE);

こちら(ページ下部)をお読みください。

于 2012-07-17T20:05:30.080 に答える