2012-08-11 43 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