2012-08-11 76 views
0

我想,這大概是新手的問題,但我笨是新手:)笨:深層次的論點

那麼這裏的問題是,我試圖讓店面類別和子類別(動態生成的) ,主要的問題是,我可以在我的控制器中用_remap函數設置不同的選項到主類別。但是,如果我想要深入一些,則應用相同的_remap函數,並將其卡在那裏。

例如,主類別uri是http://project.com/store/fruits/,但對於子類別,當然是http://project.com/store/fruits/apples

我想對第三段應用不同的視圖,並且仍然能夠使用_remap函數控制主類別(水果)。

我想一遍遍地使用一個控制器,但我認爲,複製和粘貼所有子類別(其中數百個,僞裝)的相同功能內容一定是瘋狂的。

也許有一些方法可以做到這一點,但我無法找到如何...幫助這裏! :)

/羅布

回答

0

謝謝,jco爲你付出的努力,但實際上,我發現_remap()函數可以很好地滿足我的需求。

我使用兩個參數 - $ first_level和$ next_levels創建了public _remap()函數,然後我控制了這些$ next_levels給出信息後的所有內容。

0

不知道你爲什麼會需要_remap功能。 如果「商店」是您的控制器,您可以將每個頂級類別設置爲商店內的功能。通過(通過剩餘的URI)傳遞給每個函數的是子類,這些子類可以被捕獲並在數據庫中查找以獲取所需的信息。事情是這樣的:

Function fruits(){ 
    $sub1 = $this->uri->segment(3); // this will be apples, etc... 
    ... 
    // if it's empty - call viewX 
    // else call db lookup for $sub1 data here and pass to viewY 
} 

或者......如果你使用的.htaccess,你可以重新路由是這樣的:

RewriteCond %{REQUEST_FILENAME} store.* 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^store/([a-zA-Z]+)/([a-zA-Z]+)$ store/someFunction/cat=$1&subcat=$2 [L] 

這是用於說明目的 - 它需要修改你的環境中工作。

+0

此外 - 不確定你的意思是「我想對第三部分應用不同的視圖」。你是說你會創造「數百」的意見 - 每個子類別都有一個?爲什麼?你不是每個主要類別都需要一個視圖嗎?爲什麼「蘋果」頁面看起來不同於「橘子」頁面?只是想知道你在做什麼。 – jco 2012-08-11 23:46:37

+0

你知道,商店是一個控制器,「水果」是第一級類別(第二部分),以及我可以使「蔬菜」作爲第一級類別(第二部分)。但是,如果我必須製作fruits()函數,然後使用vegetables()函數等,對於主類別的內容是相同的,不同的函數腳本將會有所不同。我必須加載不同的視圖和其他子類別的東西。 – Rozkalns 2012-08-12 07:37:10

+0

hmm。如果您擔心頂級類別(第二部分)會變得多且重複功能,那麼爲什麼不使用.htaccess將所有「存儲」調用重新路由到處理所有情況的另一個函數呢?這樣,一個函數就可以讀取類別和子類別並根據需要進行解析。 – jco 2012-08-12 16:06:16