Benim bütün sitesi apps / view / düzenleri / default.ctp belirtilen default.ctp düzeni kullanıyorsa, nasıl homepage.ctp kullanımı ve default.ctp kullanarak sitenin kalanı bırakın sadece ana sayfa düzenini nasıl değiştiririm?
Lütfen /app/controller/
dir içine /cake/libs/controller/pages_controller.php
kopyalayın ve aşağıdakilerden birini yapın:
display()
to switch the layout if 'home' is requested:if ($page == 'home') $this->layout = 'homepage';
$this->layout
set ve /app/config/routes.php
için yeniden rota /
rota olan bir home()
yöntemi (veya ancak sizin gibi adlandırılmış) oluşturun Bu yeni yöntemi kullanın.Edit:
In summary, you need some custom method in which you'll set $this->layout = 'homepage'
, that's all. You can do this in any of your controllers at any point, reusing the PagesController
is just the most convenient and conventional way to do it in Cake.
Yukarıdaki sorunun cevabı artık güncel olan, ancak doğru bir yaklaşım verir.
CakePHP modern versiyonları, kontrolör o zaten mevcut yapmak ister ve bir:
/app/Controller/PagesController.php
Ben sadece $this->render()
komutundan önce (yaklaşık hat 73), "loggedoff" adında bir şablon vardı, aşağıdaki gibi bu ekledi.
$this->layout = 'loggedoff';