0

メイン ビュー

<table width="1100" border="1" align="center">
  <tr><?php $this->load->view('header_view'); ?></tr>
  <tr><?php $this->load->view('menu_view'); ?></tr>
  <tr>
    <td colspan="2"  id="content">
      <?php
            $a = ($_GET['pages/']);
            switch($a)
        {
                case "home":
                  require("pages/home");
                  break;
                case "about":
                  require("pages/about");
                  break;
         }
         ?>
    </td>
    <?php $this->load->view('rightMenu_view'); ?></tr>
  <tr><?php $this->load->view('footer_view'); ?></tr>
</table>

menu_view

 <div id="menu">
    <ul>
        <li><a href="pages/home">Home</a></li>
        <li><a href="pages/about">About</a></li>
        <li><a href="pages/staff">Staff</a></li>
        <li><a href="pages/chat">Chat</a></li>
        <li><a href="pages/championat">Championat</a></li>
        <li><a href="pages/contact">Contact</a></li>
    </ul>
</div>

pages_controller

class Pages extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->helper('html');
        $this->load->helper('url');
        $this->load->helper('form');
    }
    public function index()
    {
        $this->load->view('main_view');
    }
    public function home() { echo "Hello"; }
    public function about() { echo "Hello about"; }
}

メニューの他のオプションに切り替えてtd id="content"、コンテンツの列のみを変更したい。しかし、うまくいきません。

エラーはスイッチにあると思います。

私は似たようなことをしましたが、フレームワークを使用したことはありません

4

1 に答える 1

0

第一に、テーブルを書式設定方法として使用するのはセマンティック HTML ではありません。それを避けるのが最善です。

codeigniter には $this->input->get('variablename'); があります。これは $_GET() よりも少し安全で、GET が設定されていない場合は FALSE を返します。

URL の get 呼び出しには、URL に ?name1=value1 が必要です。これを使用していないため、おそらく機能していません。

CI では、コントローラー メソッドでパラメーターを使用できます。それを調べて、Pages::index メソッドにスイッチを入れることができます。

于 2014-02-22T11:15:11.157 に答える