2010-07-17 26 views
5

içinde adlandırılmış bağımsız değişkenler için yapılandırma ayarlarını yapılandırır. Cake uygulamasında bir "complet_projects" denetleyicim var. Dizin eylemi hiçbir argüman almaz ve bazı projeleri listeler. Farklı sayfalar Ben url en böyle yapmak istiyorum example.com/completed_projects/index/page:23 vbCakePHP

tarafından erişilebilir:

example.com/portfolio/page23 

Açıkçası ben bunun için bazı yolları yapmak gerekir.

Router::connect('/portfolio/:page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('named'=>'num', 'page'=>'page', 'num'=>'[0-9]+')); 

Ben de tekrar tekrar değiştirerek denedim ama bunların hiçbiri iyi çalışıyor: Ayrıca

Router::connect('/portfolio/page:num', array('controller' => 'completed_projects', 'action' => 'index'), array('pass'=>'page:num', 'num'=>'[0-9]+')); 

ve: Ben birçoğu gibi denedim.

CakePHP 1.3 kullanıyorum. Herhangi bir yardım takdir edilecektir. Kumandanızda olarak

cevap

1
Router::connect('/portfolio/page:page_num', 
    array('controller'=>'completed_projects', 'action'=>'index'), 
    array('page_num'=>'[\d]+') 
); 

, erişim PAGE_NUM ile:

$this->params['page_num']; 
+0

Bu eylem (23) gibi PAGE_NUM geçer ama adlandırılmış parametreli sayfası gibi geçirilmesini istiyorum: 2 geçirilir. Yine de yardım etmeyi düşündüğün için teşekkürler. –

+0

Özür dileriz, ihtiyaçlarınıza uyacak şekilde cevabı güncelledik, umarım :) – Oscar

+0

Tekrar teşekkürler Oscar. Lütfen bu (veya herhangi bir) değişkenin sayfalandırma için nasıl kullanıldığını açıklar mısınız? Denetleyicide yalnızca geçirilen bir değişken almak şart değildir. Bunun, sayfalandırma için kullanılabileceği şekilde argüman olarak adlandırılmasını istiyorum (sayfa: 33 gibi). Bu mümkün mü? –