drupal path alias 和drupal path auto module 的逻辑简单总结
来源:互联网 发布:js checkbox onchange 编辑:程序博客网 时间:2024/06/08 00:39
我刚才测试了drupal path alias 的运行逻辑。
drupal 的系统(默认)路径的格式是node/nid,taxonomy/term/tid,user/uid ...,如果需要自定义路径的话,可以在编辑页面里填写 user alias 来添加一个自定义的路径。在渲染页面时,drupal会在 url_alias 表里面 通过系统路径和语言 找到相应的alias,并显示出来。
为了方便统一的管理url alias,可以用path auto,path auto 的运行逻辑是( 用content举例 )当为某个content type建立一个pattern 后,当保存这个type 的 content时,会按照所选择的语言和这个content type得到 pattern,并且自动按照这个pattern生成url alias,pattern 只在这个时候起到作用。如果一个文章的语言是Language neutral,就会用Default path pattern for Life。在代码里, Pattern for all language neutral Life paths 这个配置被过滤了,没有用
sites/all/modules/pathauto/pathauto.module
function pathauto_pattern_load_by_entity(){
...
if ($language != LANGUAGE_NONE) {
$variables[] = "pathauto_{$entity}_{$bundle}_{$language}_pattern";
}
...
}
BULK UPDATE 的逻辑是取到所有没有 path alias 的nodes,然后按照每个node的language和type找到pattern,如果有pattern的话,就按照这个生成一个url alias,并不会按照node的type找到所有语言的pattern,然后分别生成alias。
drupal 的系统(默认)路径的格式是node/nid,taxonomy/term/tid,user/uid ...,如果需要自定义路径的话,可以在编辑页面里填写 user alias 来添加一个自定义的路径。在渲染页面时,drupal会在 url_alias 表里面 通过系统路径和语言 找到相应的alias,并显示出来。
为了方便统一的管理url alias,可以用path auto,path auto 的运行逻辑是( 用content举例 )当为某个content type建立一个pattern 后,当保存这个type 的 content时,会按照所选择的语言和这个content type得到 pattern,并且自动按照这个pattern生成url alias,pattern 只在这个时候起到作用。如果一个文章的语言是Language neutral,就会用Default path pattern for Life。在代码里, Pattern for all language neutral Life paths 这个配置被过滤了,没有用
sites/all/modules/pathauto/pathauto.module
function pathauto_pattern_load_by_entity(){
...
if ($language != LANGUAGE_NONE) {
$variables[] = "pathauto_{$entity}_{$bundle}_{$language}_pattern";
}
...
}
BULK UPDATE 的逻辑是取到所有没有 path alias 的nodes,然后按照每个node的language和type找到pattern,如果有pattern的话,就按照这个生成一个url alias,并不会按照node的type找到所有语言的pattern,然后分别生成alias。
0 0
- drupal path alias 和drupal path auto module 的逻辑简单总结
- 在drupal创建简单的module
- drupal module 开发的例子
- Drupal 7.14 <= Full Path Disclosure Vulnerability
- drupal 的简单模板修改
- Drupal Module - Gmap
- Drupal Module - Location
- Drupal Module - Rules
- Drupal Module - imagefield
- Drupal Module - Taxonomy redirect
- drupal一些module
- Drupal search module
- drupal useful addition module
- drupal install module
- drupal
- drupal
- drupal
- Drupal
- Android上实现仿IOS弹性ListView
- struts Action只执行一次问题
- Android -- SparseArray<E>详解
- eXtremeDB高可用版(HA)嵌入式数据库
- Spring与Hibernate集成:编程式事务和声明式事务的区别
- drupal path alias 和drupal path auto module 的逻辑简单总结
- 学习 Boost:bind/Boost::functions closure as delegate in C++
- 深度辨析 Java 中的 finally 语句块
- qeePHP学习 使用websetup生成
- oracle count()查询速度优化
- android安全学习笔记(三)
- redis安装与测试
- qeePHP学习 qeePHP基本设置
- PHP用户的常用的MySQL管理工具介绍