1

CodeIgniter のインストールでは、ルート ファイルは現在次のとおりです。

<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

//routes
$route['about']              = 'page/view/about';
$route['(:any)']             = 'page/view/$1';
$route['default_controller'] = "page/view";

私の質問は$route、新しいページを作成するたびに新しい呼び出しを行う必要がありますか、または自動的に行う方法はありますか? 私のpageコントローラーは私の静的ページ用になります... homeaboutcontactfaqなど

各静的ページを指定する必要がありますか?

これは、コードの登録部分に到達したときにも発生する可能性があります。ユーザーに独自のルートを自動的に与えるにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

ページごとに手動でルートを設定することを避ける 1 つの方法は、ページ コントローラーを作成し、すべての uri をこのコントローラーにルーティングすることです。

Routes.php:

// Default controller
$route['default_controller'] = "page/index";

// Page controller catch all
$route['(:any)'] = 'page/view/$1';

routes.php ファイルの順序は重要であり、これらはファイルの最後の 2 行である必要があります。他のコントローラー (つまり、ニュース/ブログ/製品/その他) がある場合、それらのルートはこれら 2 つのルートの上にある必要があります。

Page.php

class Page extends CI_Controller {

    public function __construct()
    {
        parent::__construct();      
    }

    public function index()
    {
         // This will be where your load your top page (homepage)
    }

    public function view($uri)
    {       
         // This will be where you load all other content pages (about/info/contact/etc)
         echo $uri;
    }   
}

明らかにこれは非常に基本的なことですが、ページの自動ルーティングを実現する方法のアイデアが得られます。URI がわかったら、それを使用してそのページに関する情報を csv/database/textfile から取得し、その URI に適したビューをロードできます。

于 2013-10-17T02:40:27.090 に答える