我正在開發基於cms的Yii應用程序。我最近完成了後端的頁面,現在可以從數據庫中獲取頁面。如何爲Yii請求的動態頁面設置站點/域控制器
問題始於獲取請求的URL並呈現動態佈局。
什麼是去了解這一點的最好方法是什麼?就像使用起始站點/域控制器一樣,我該如何設置它?
使用CMenu進行渲染的模板效果很好。該菜單顯示在前端。以下是我目前使用的/ home和/ company/products菜單鏈接的示例。它使用乾淨的網址。
<ul id="yw0">
<li class="active"><a href="/home">Home</a></li>
<li><a href="/about_us">About us</a></li>
<li><a href="/company">Company</a></li>
<ul>
<li><a href="/company/products">Products</a></li>
<li><a href="/company/services">Services</a></li>
</ul>
<li><a href="/contact">Contact</a></li>
</ul>
但是,這是一個點。該佈局需要從後端的特定頁面動態加載。每個頁面可以有不同的佈局。數據庫中有一列。因此,例如url:「http://example.com/home」需要加載'protected/views/layouts/main.php'
目前鏈接如:「http://example.com/company/products」不會去任何地方。這很明顯,因爲這些鏈接不存在並且是動態創建的。
我想我需要做兩件事情:
- 來撥打startController每個請求到達,並且將處理的頁面和佈局的加載。
- 和兩個一些設置與乾淨的Url。?
就是這樣。
我可以想象它沒有太多的工作。但它讓我頭疼。
尤其是乾淨的網址。他們一直對我感到困惑。
index.php?r =站點/索引將轉到siteController和動作索引。
但這不是我想要的。我也嘗試設置'urlManager',但它去了一個控制器和一個動作。像page/default/view/id /。但我不想去一個動作,而只是從數據庫加載(下一個)所請求的頁面(具有不同的佈局)的開始控制器。
我需要設置乾淨的URL某處配置文件main.php
希望它很容易明白我想實現。任何幫助是極大的讚賞。
感謝您的答覆。事情是在控制器中設置代碼的佈局並不是真正的動態。但主要問題是我如何做一個啓動控制器。一個入口控制器。和乾淨的網址。我再次嘗試過網址管理器。現在它轉到:yiitest/frontend/index.php/home。正如你可以看到它使用數據庫中的主頁URL。但我得到 錯誤404 無法解決請求「家」。 但是如何以及在哪裏設置入口控制器。 「protected/controllers /」中的SiteController和pageController不會被調用。 編輯:對不起,第一次使用stackoverflow – Minahalmon 2013-03-07 11:14:17