0

カテゴリに基づいてページ分割された製品リストを作成する関数 productList の RSS フィードを生成する必要があります。関数のプロトタイプは

public function productList($category){}

この関数は Products コントローラーにあります。RSS フィードの生成方法に関するチュートリアルを見てきました。チュートリアルでは、関数のプロトタイプは

public function index(){}

関数に引数がありません。チュートリアルでは、RSS フィードを生成するためのリンクは ですapp_name/Products/index.rss。関数 productList にはパラメーターがあるため、このタイプのリンクは私の場合は不可能です。選択したカテゴリ (そのカテゴリの最新の 15 製品) に基づいて RSS を生成したいと考えています。Cakephp でパラメーターを使用して関数の RSS を生成するにはどうすればよいですか。1 つの方法は、セッションでパラメーターを設定し、引数を渡さないことです。つまり、$category をセッションに入れて、関数プロトタイプが次のようになるようにします。

public function productList()

次に、別の関数を使用して RSS フィードを生成し、別の関数を使用して出力を生成する必要があります。セッションを使用せずに、同じ関数 productList を使用して RSS フィードを生成する方法はありますか。私を案内してください。前もって感謝します

4

1 に答える 1

0

私が知っている2つのオプション:

1] URLで名前付きパラメータを使用example.com/controller/productList/category:2/.rss します。たとえば、カテゴリはproductListアクションで次のようにアクセスできます$this->params['named']['category'] == 2


routes.php2]ルーティングを介して実行します。たとえば、次のようにルートを定義します

Router::connect('/engines', array('controller'=>'c', 'action'=>'productList', 'engines');
Router::connect('/gears',   array('controller'=>'c', 'action'=>'productList', 'gears');

parseExtensionexample.com/engines.rss url の場合、 productList('engines') を呼び出します

于 2013-02-22T15:00:49.767 に答える