1

Fuelphp を使用して、StackOverflow でこのような URL システムを使用して特定のページにアクセスできるようにしたいと考えています。

望ましい動作: -stackoverflow.com/questions -> 多くの質問があるページ -stackoverflow.com/questions/1982 -> 特定の質問があるページ

これが私のコントローラーです:

class Controllers_Images extends Controller_Template
{
   public function action_index($id=null)
   {
      if($id)
      {
         //Use Model_Image to find specific image
         //Create appropriate view
      }
      else
      {
         //Use Model_Image to find many images
         //Create appropriate view
      }
   }
}

「汎用」ページにアクセスできますmysite.com/images/-これは関数にルーティングされaction_indexます。で「特定の」ページにアクセスできますmysite.com/images/index/1。私がやりたいのはindex、この場合もスキップできるようにすることmysite.com/images/1です。現在、404 が表示されています。ルーティングを設定するにはどうすればよいですか?

4

1 に答える 1

2

もう少し突っ込んだ後、うまくいく解決策を思いつきました:

class Controllers_Images extends Controller_Template
{
   public function action_index()
   {
      //Use Model_Image to find many images
      //Create appropriate view
   }
   public function get_id($id)
   {
      //Use Model_Image to find specific image
      //Create appropriate view
   }
}

routes.php

return array(
   'images/(:num)'=>'images/id/$1',
   //other routing stuff...
);

この設定により、「mysite.com/images/1」という URL は、「mysite.com/images/id/1」が代わりに使用されたかのように、選択された画像を適切に表示するようになりました。大したことではありませんが、より優れたインターフェースであり、これは重要です!

于 2014-03-28T22:31:12.227 に答える