2010-05-04 99 views
1

我有一個kohana v3應用程序。指向此應用的2個子域。如果應用程序使用subdomain2.example.com調用,我必須設置kohana使用不同的模板?kohana v3:爲不同的子域使用不同的模板

此刻所有呼叫(從subdomain1和subdomain2)使用標準模板:「模板/默認」

謝謝!

丹尼爾

回答

2

首先你得子域名從$_SERVER['SERVER_NAME']

list($subdomain) = explode('.', $_SERVER['SERVER_NAME'], 2); 

然後選擇使用基於子域的哪一個範本:

// Replace this with a switch() statement if you want to choose another way 
$this->template = 'templates/'.$subdomain; 

上述代碼應放置在Controller::before()方法調用parent::before()之前。這假設您正在使用Controller_Template或其擴展名。

0

可能有人能幫助我:kohana v3: using different templates for different subdomains

danzzz,有幾個方式...(我沒有時間去細講..所以我給一個快速去這裏..)A)使用URL重寫來將bla.site.com映射到site.com/bla(和www.bla.com + bla.com to bla.com/www)...使用第一個參數作爲觸發器...然後在堆棧頂部加載一個不同的模塊,這樣它就可以覆蓋任何來自下層模塊的任何東西 - 假定任何可覆蓋的東西都保存在模塊中,否則,您可以將其用作任何觸發器,其中代碼... 和B)真的是一樣的瘦g,但使用該參數作爲視圖名稱或類似的...每當我有這樣的事情,我傾向於離開我的應用程序文件夾爲空,並有一個應用程序模塊靠近模塊堆棧的頂部..這樣,我可以加載更高級別的「皮膚」模塊,並讓級聯FS執行所有艱難的工作...請注意,如果您對應用程序進行了更改,「皮膚」模塊等將需要一組嚴格的規則和界面,你需要知道所有的皮膚仍然工作...

+0

IRC刻痕和格式化剝離;)啊很好 - 希望它仍然是有道理的任何人閱讀它.. – Kiall 2010-05-04 11:28:48

相關問題