0

私は codeigniter の初心者です。ハイパーリンクをクリックして、コントローラー ページ (PageController.php) にリダイレクトしようとしました。その特定のページにリダイレクトできるかもしれませんが、ページのレイアウトは期待したものではありません。そのページは、routes.php でデフォルトのコントローラーとして設定したページです。ページにリダイレクトするハイパーリンクをクリックしていないときは、ページは問題なく、正しい形式になっています。これをローカルマシンでテストしました。誰かが私を助けてくれることを願っています。ありがとう!

ここに私のコードがあります:

PageController.php

    クラスPageControllerCI_Controller を拡張します
    {
        関数インデックス(){
            $this->loadPageHeader();
            $this->loadMenuHeader();
            $this->loadAdvertisingVideo();
            $this->loadMainContent();
            $this->loadSidebar();
            $this->loadPageFooter();
        }
        関数 loadPageHeader(){
            // ここにページ ヘッダーをロードしています...
        }
        関数 loadMenuHeader(){
            // ここにメニュー ヘッダーをロードしています...
        }
        関数 loadAdvertisingVideo(){
            // ここに何かをロード...
        }
        関数 loadMainContent(){

            // ページのメイン コンテンツをここにロードしています...
        }
        関数 loadSidebar(){
            // ここに読み込み中...
        }
        関数 loadPageFooter(){
            // ページフッターを読み込んでいます...
        }
    }



コントローラー ページへのリダイレクトを実行するハイパーリンクを次に示します。

<a href=<?php echo site_url('PageController');?>ホーム</a>
<a href=modules.php>モジュール</a>
<a href=aboutus.php>私たちについて</a>

4

2 に答える 2

1

ここに示す内容によって、このコントローラーのすべてをキャッチするルートを設定することができます。構成の routes.php ファイルに次の行を追加します。

$route['PageController(/:any)'] = "PageController";

次に、コントローラのインデックス メソッドで、該当する場合は uri セグメントをそのように解析します...

   function index(){
        $arg_1 = $this->uri->segment(1);
        $arg_2 = $this->uri->segment(2);
        //etc.

        $this->loadPageHeader();
        $this->loadMenuHeader();
        $this->loadAdvertisingVideo();
        $this->loadMainContent();
        $this->loadSidebar();
        $this->loadPageFooter();
    }

URL セグメントは、このコントローラーのすべてのリクエストを 1 つのメソッドで処理する場合に便利ですが、この場合は必要ないかもしれません。私はあなたのシナリオについて十分に知りません。私が何かを見逃していて、さらに質問がある場合は、お気軽にお問い合わせください。更新する場合があります。

于 2013-01-25T23:38:49.193 に答える
0

ルートの使用を見てください。たとえば、myfile.php でコントローラー myfile.php とクラス Myfile などを呼び出す場合は、/myfile/my_function などを呼び出したり、ルートにマップしたりできます。

于 2013-01-25T23:36:36.833 に答える