1

私は CodeIgniter を初めて使用し、ルーティングを理解するのに苦労しています。「/SimplePie1」に移動すると、404 ページが見つかりませんというエラーが表示されます。私のルーティングが問題なのですか、それともコントローラーまたはビューを台無しにしましたか? ありがとう。

私のコントローラー:

class Feeder extends CI_Controller {

    public function index()
    {
        $this->load->library('rss');
        $feed = $this->rss;
        $feed->set_feed_url('http://www.theverge.com/rss/frontpage');
        $success = $feed->init();
        $feed->handle_content_type();

        $this->load->view('feed_view', array('feed' => $feed));
    }
}

私の見解:

<?php include_once('header.php'); ?>
<?php include_once('navbar.php'); ?>

<?php foreach($feed as $item) : ?>
    <br />
    <a href="<?php echo $item['permalink']; ?>"><?php echo $item['title']; ?></a>
<?php endforeach; ?>

<?php include_once('footer.php'); ?>

私のルート:

$route['default_controller'] = "homeController";
$route['feed_views'] = "SimplePie1";
$route['404_override'] = '';
4

2 に答える 2

3

次のコードの意味

$route['feed_views'] = "SimplePie1";

次にコントローラーを起動するfeed_viewsと、デフォルトでメソッドが呼び出されるため、問題は次のとおりです。名前のコントローラークラスはありますか? そうでない場合は、見つからないというエラーが表示されます。urlSimplePie1indexSimplePie1404

そうあるべきだと思う

$route['feed_views'] = "Feeder";

そのため、Feeder/index(クラス/メソッド) にマップされます。詳しくはドキュメントをご覧ください。

于 2013-09-24T16:39:56.337 に答える
0

正確に何をしようとしていますか?

デフォルトのコントローラーが feeder であると仮定すると、「/feeder」はデフォルトのコントローラーだけをルートなしで feed_view をロードする index 関数をロードします。

ルートでは、route.phpで言及したようなビュー名ではなく、コントローラーとそのメソッドを書き換えます。

URIルーティングの確認

于 2013-09-24T16:43:10.360 に答える