2009-08-09 14 views

cevap

7

Evet, varsayılan denetleyici bulunan PagesController, şudur: Bu kontrolöre değişiklikler yapmak istiyorsanız

cake/libs/controller/pages_controller.php 
+6

:

bu sayfayı ziyaret edin Route::connect() hakkında daha fazla bilgi almak için. Kek/libs/controller/pages_controller.php dosyası çekirdek kaynağın bir parçasıdır ve kaynağı güncellerken çekirdek dosyalarında yapılan tüm değişikliklerin üzerine yazılır. Rotayı değiştirmek (Tarik'in cevabı) konuyu konfigürasyonla özetler ve geçerli bir seçenektir. Bununla birlikte, CakePHP, en iyi uygulama meselesi olarak konfigürasyon ethos üzerinde bir sözleşme yürütür, bu doğru cevap olarak işaretlenmesi gereken Hectors çözümdür. – Strixy

23

Eğer varsayılan kopyalama önerilir

cake/libs/controller/pages_controller.php to app/controller/pages_controller.php

Bunun nedeni, uygulamanızı güncelleştirirken herhangi bir dosyanın üzerine yazılabileceği "pasta" klasörünün içindeki hiçbir şeyi değiştirmemenizdir. son cakephp sürümü ile. ve ayrıca, bir eylem tüm eylemleri bağlamak aynı yapılandırma dosyasında aşağıdaki kodu kullanmak istiyorsanız

Router::connect('/', array('controller' => 'requests', 'action' => 'index', 'home')); 

:

+4

CakePHP 2.1 ve üstü sürümlerde, PagesController.php, app/Controller klasörüne (çekirdek klasör yerine) ve artık çekirdek kaynağının bir parçasına dahil edilmemiştir. – Strixy

13

Böyle aşağıdaki gibi Route::connect() fonksiyon argümanları değiştirerek varsayılan davranışını değiştirebilir :

Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display')); 
Elbette argümanları kendi ihtiyaçlarınıza göre değiştirmelisiniz.

Bu yapılandırma, app/config/routes.php'un altında bulunur. Bu cevap tür tehlikeli olduğunu düşünüyorum, ancak bu Google'da ilk sonuç olarak, ben 3 yaşında bir cevap açıklamak düşündüm http://api.cakephp.org/class/router#method-Routerconnect

İlgili konular