我正在为我的项目使用Codeigniter。 我需要这样的URL结构:按类别Codeigniter路由产品,类别和子类别
种例如
主要产品页面
example.com/language-prefix/products/
选择产品.com/language-prefix/products/category
选择产品按类别和子类别:根据类别和子类别
example.com/language-prefix/products/category/sub-category
选择specifict产品:
example.com/language-prefix/products/category/sub-category/product-name
或只在类别
example.com/language-prefix/products/category/product-name
的问题是 - 什么将是一个很好的解决方案?由于问题从这里开始:
example.com/language-prefix/products/category/what-ever
什么有史以来可以是产品或子类,以及如何决定 - 应该返回哪些数据和视图?
在我的数据库表结构中,我有产品和类别之间的多对多关系。这意味着,比一个产品可以分配到多个类别。每个类别都有一个自我推荐的外键(父母)。
也许我需要对产品类别添加一些限制吗?或者指定一个主要类别或什么?
我有几个想法:
- 保持的类别/子类别和产品每路线DB例如:
/产品/手表/换男人/ /products/watches/for-men/rolex-abc-whatever-product
依此类推,等等。但是,我感觉可能会很慢。
- 请对产品控制器的简单路线 - >方法的视图(),以及在该方法中走线槽全部通过段和当它涉及到
/产品/分类/什么有史以来
如果存在这样的产品,如果属实,则返回product_view和数据,如果没有,检查是否有这样的子类,如果有,则返回,然后第一次检查产品网格或返回404(如果没有)。
我认为一个简单的解决方案,可以只保留所有类别和子类别/产品后/添加类别-ID喜欢
example.com/language-prefix/products/1-watches
example.com/language-prefix/products/2-for-men
但我希望有更好的解决方案这一点。
我也找不出这样的:
example.com/language-prefix/products/category/sub-category/product-name
我需要用名字返回产品产品名称并检查它是否是这两类这样的网址,例如下:
example.com/language-prefix/products/hello-kity/bla-bla/product - 名称
不会返回该产品。
任何更好/其他解决方案?
我只是不明白这行后面的最后一部分“我也不知道这个......”,请详细说明一下。你的意思是不会返回那个产品? –
任何想法隐藏浏览器网址的语言前缀? –