codeigniter 中的自定义路由

2024-07-03

我想将 codeigniter 用于我正在从事的电子商务项目,但我认为我需要一些自定义路由,并且我不确定这是否可行。我希望能够使用这个网址:

http://myecommsite.com/store/mens http://myecommsite.com/store/mens

默认情况下,在 CI 中,这将调用 store 类中的 mens 函数。我真正想要的是它调用商店类中的通用函数并输入“mens”作为参数。原因是该网站需要有男士、女士和儿童部分。

这可能吗?

另外,当我进一步了解时......即

http://myecommsite.com/store/mens/category1/category2 http://myecommsite.com/store/mens/category1/category2

我如何让 Ci 与此一起工作?


简单定义一个自定义route http://codeigniter.com/user_guide/general/routing.html in application/config/routes.php

比如你的网址http://myecommsite.com/store/mens http://myecommsite.com/store/mens

$route['store/(:any)'] = "store/customfunction/$1";

这样,所有请求都将映射到您的“customfunction”方法,该方法采用参数“mens”

您可能还想考虑__重映射() http://codeigniter.com/user_guide/general/controllers.html函数,它覆盖方法(与覆盖整个 URI 的路由相反)引用手册:

如果您的控制器包含名为 __remap() 的函数,它将始终 无论您的 URI 包含什么内容都会被调用。它覆盖了 URI 确定调用哪个函数的正常行为, 允许您定义自己的函数路由规则。

因此,您可以在控制器存储中使用 __remap() 函数,任何内容都将被重定向到该函数。方法名称后面的任何段都会作为第二个参数传递到 __remap() 中,您可以将此数组与call_user_func_array() http://php.net/manual/en/function.call-user-func-array.php.
这对于您的第二个 URI 示例可能会派上用场。可能是这样的

function __remap('mymethod',$array = array())
{
  return call_user_func_array('mymethod',$array);
}

在您的方法“mymethod”中,您选择数组元素并执行您需要执行的操作

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

codeigniter 中的自定义路由 的相关文章

随机推荐

  • 使用 matplotlib 更改特定范围值的线条样式

    我需要重现这种类型的图 分叉图 我尝试按照以下给出的示例进行操作更改 matplotlib line style mid graph https stackoverflow com questions 9284877 change matp
  • 使用 4.0 框架和 Visual Studio 2010 为 ASP Classic 构建 COM 互操作库

    在阅读了许多不同的文章后 没有找到任何特别有说服力的内容可以帮助我逐步完成整个过程 因此我来寻求帮助 场景 我的一个客户只精通以下领域的开发ASP经典版 http en wikipedia org wiki Active Server Pa
  • 仅将任务 ID 存储在数组中

    我正在创建一个程序 该程序将在我的工作场所使用 Asana 自动执行某些功能 但有点卡住了 我能够向工作区提交多个任务并检索每个任务的 ID 但想知道如何仅获取响应的 ID 部分并将其存储到 C 中的数组或列表中 来自 GET 的响应 ta
  • 比较浮点型和双精度型

    include
  • 在 Python 中使用列表理解在嵌套 for 循环中进行枚举

    我想创建一个字典 将三个组的所有组合映射到一个整数 是否可以在单线 and 不使用任何进口 使用 itertools 可以通过以下方式完成 colours red green blue shapes circle square triang
  • 使用 Jquery 创建多步骤模态

    我想用它创建一个多步骤模式 https github com ngzhian multi step modal 我这个 div 带有动态生成的类 modal content append div class div 现在我想将一个输入变量附
  • 如何删除java文件中以特定字符串开头和结尾的特定行?

    我有一个文件 abc txt 其行为 abc txt Ethernet 1 1 Ethernet 1 2 interface 3 abs mod jjj kkkk ll abs mod interface 6 interface 7 我想删
  • 从列表中查找特定项目的数量

    我有一个List
  • Kubernetes - Ingress-nginx 路由错误(无法将前端连接到后端)

    这里需要一些认真的帮助 提前致谢 我正在尝试部署一个基于微服务的 Java 应用程序 我可以在浏览器上访问前端服务 webapp 但无法将其与后端 身份验证服务 连接 因此显示身份验证失败 HTML 登录表单表单指向 login refer
  • XML解析Golang

    设想 我有一个正在尝试解析的 XML 结构 我不知道如何设置一个结构 其中 xml 属性的值包含文本和更多嵌套值 所有其他属性都已正确设置 我不确定是否需要获取源的值并创建一个单独的解析器来检索元素的值
  • Python 类型提示、可索引对象

    我的函数需要接受一个对象 可以通过索引从中提取数据 即 AList或具有定义的实例 getitem method 我可以使用哪种类型来暗示此参数的类型 更新 据我所知目前还没有这样的类型 我尝试自己制作一个 class IndexableC
  • Python 检查类型的规范方法是什么?

    如何检查对象是否属于给定类型 或者它是否继承自给定类型 如何检查对象是否o属于类型str Beginners often wrongly expect the string to already be a number either exp
  • System V 和 Posix 信号量之间的差异

    使用 System V 和 Posix 信号量之间有何权衡 From O Reilly http www linuxdevcenter com pub a linux 2007 05 24 semaphores in linux html
  • document.getElementById("xxxxx").innerHTML 根本不起作用?

    我在尝试将字符串变量的值写入 DOM 中特定元素的特定 div 时遇到问题 假设游戏 十 document getElementById game innerHTML game 不写信给 div div 问题是下面的代码我有一个脚本 在该脚
  • 有没有办法从 php 中的沙箱中执行 php 代码

    我想从 php 执行一个 php 脚本 该脚本将使用不同的常量和已定义的类的不同版本 是否有一个沙箱 php module 我可以 sandbox script php run in a new php environment 代替 inc
  • 使用Prometheus读取csv文件

    我有 csv 格式的数据 我想将该数据添加到 prometheus 中 请帮助我 是否存在任何出口商或 API 等 您需要一个导出器 通过 HTTP 以 Prometheus 格式公开 CSV 文件中的数据 以便 Prometheus 可以
  • 这是合法的 C/C++ 吗? `int* p = (int[]) {1,2,3} ;`

    我的这个回答 https stackoverflow com a 8855343 428857生成了一些评论 声称以下构造不是合法的 C C void f int a f int 1 2 3 4 0 see 这个ideone链接 http
  • 我们如何分析损失与历元图?

    我正在训练一个语言模型 每次训练时都会绘制损失与历元的关系 我附上了其中的两个样本 显然 第二个表现出了更好的表现 但是 从这些图表来看 我们什么时候决定停止训练 提前停止 我们可以从这些图表中理解过度拟合和欠拟合还是我需要绘制额外的学习曲
  • 所有子集高效实施

    我需要获取 0 n 1 的所有子集 其中不包含 E 中的任何集合 天真的实现 from itertools import combinations n 4 E 0 1 c for k in range 1 n 1 for c in comb
  • codeigniter 中的自定义路由

    我想将 codeigniter 用于我正在从事的电子商务项目 但我认为我需要一些自定义路由 并且我不确定这是否可行 我希望能够使用这个网址 http myecommsite com store mens http myecommsite c