Kek PHP Yönlendirme sorunu

1 Cevap php

Pastadan bazı özel yönlendirme yapmak gerekiyor, ama bana hayatı için bilemiyorum.

I /shop bir dükkan denetleyicisi var, url formatı olacak:

/shop/:category/:sub_category/:product_slug

Yönlendirme ben url sadece /shop/cakes bu dükkanın kategorisi eylem giderdim Örneğin eğer farklı bir eylem url her parçası göndermeniz gerekir.

Ancak url /shop/cakes/macaroons veya /shop/cakes/fairy o dükkan denetleyicisi alt kategori eylem giderdim olsaydı.

Ve /shop/cakes/macaroons/pistachio dükkan denetleyicisi ürün eylem gitmek için yine aynı.

Nasıl yönlendirme bu konuda gitmek istiyorsunuz? Ile başlayan bir şey

Router::connect('/shop/:category/:sub_category/:product_slug' ...

Yoksa kapalı bir yol işareti miyim? Teşekkürler.

1 Cevap

: Bu sırayla üç yolları, gerekir

Router::connect(
    '/shop/:category/:sub_category/:product_slug',
    array('controller'=>'shops','action'=>'product'),
    array('pass'=>array('product_slug'))
);
// Dispatches to ShopsController::product( $product_slug )
/*
 * Reverse route: 
 *     array(
 *         'controller'=>'shops','action'=>'product',
 *         'category'=>$some_category', 'sub_category'=>$some_sub_category
 *         'product_slug'=>$some_product_slug
 *     )
 */

Router::connect(
    '/shop/:category/:sub_category',
    array('controller'=>'shops','action'=>'subcategory'),
    array('pass'=>array('sub_category'))
);
// Dispatches to ShopsController::subcategory( $sub_category )
/*
 * Reverse route: 
 *     array(
 *         'controller'=>'shops','action'=>'product',
 *         'category'=>$some_category', 'sub_category'=>$some_sub_category
 *     )
 */

Router::connect(
    '/shop/:category',
    array('controller'=>'shops','action'=>'category'),
    array('pass'=>array('category'))
);
// Dispatches to ShopsController::category( $category )
/*
 * Reverse route: 
 *     array(
 *         'controller'=>'shops','action'=>'product',
 *         'category'=>$some_category'
 *     )
 */