By admin |

drupal里面,有个arg函数,可以获得路径里面的相关参数.
比如当前路径是node/5,调用arg函数会有如下结果:
arg(0) : 返回 node;
arg(1) : 返回 5;
以此类推.

上面的情况,是针对路径没有alias的情况.
如果路径alias了,比如node/5,alias变成info.html,在这个页面调用arg函数会是什么结果呢?
关于这个,我亲自做过实验.
arg(1) 仍然返回 5.就是说arg返回的结果跟alias没关系.

下面讨论另外一个有趣的参数:
arg默认一般都是用一个参数.其实看arg函数原型,里面可以有两个参数.
arg($index,$path);只不过这个path默认就是当前路径了.
如果你要是用arg这个api,也很简单.
比如你自己的页面路径是product/apple/4.html
这样调用函数: arg(1,'product/apple/4.html');返回的结果就是apple.
所以arg是可以有两个参数的,我们可以用这个api来构建自己的应用.

下面来介绍另外一个函数:drupal_lookup_path.
这个api主要用来查找相关路径.
比如node/1 alias变成index.html,如何根据index.html找到其对用的drupal路径呢?用以上api即可实现
$path = drupal_lookup_path('source','index.html');
$path返回值就是node/1

其他更深入使用方法,参看官网介绍:
http://api.drupal.org/api/drupal/includes!path.inc/function/drupal_look…