我正在开展一个项目,我们正在从Expression Engine(EE)网站迁移内容,并且我试图了解EE的程序路由逻辑和数据库关系结构。我之前从未使用过Expression Engine。
有没有办法以编程方式确定哪些内容可用于哪些网址?
从I've gathered开始,EE的网址如下所示
http://example.com/index.php/template-group/template-name/slug
slug
标识内容的一部分,EE使用网址的前两部分(template-group
/ template-name
)。我不清楚的是系统如何(如果有的话)决定使用哪些模板组和模板用于特定内容。
答案 0 :(得分:4)
通过默认(即,没有运行任何插件或第三方代码来更改路由,并且没有安装本机页面模块或第三方结构模块),URI的第一段将始终调用模板组,第二段将调用该组中的模板。如果我有,请说:
http://www.example.com/group1/my-awesome-thing
ExpressionEngine将在group1
内查找名为my-awesome-thing
的模板,并渲染该模板中的任何内容。
如果该模板包含 指定{exp:channel:entries}
的{{1}}循环,那么EE会做更多魔术并检查URI - 是第三个段是slug还是保留的类别字?是分页还是归档段? - 并相应地显示内容。内置路由解析器还有更多功能:James Smith创建了一个很棒的原理图,可以在这里找到:http://www.jamessmith.co.uk/articles/expressionengine_url_schematic