zoukankan      html  css  js  c++  java
  • drupal 代码实现URL重写

    开启了url_alter后,将实现两个HOOK,hook_url_inbound_alter与hook_url_outbound_alter,作用是重写URL,第三方URL重写模块都需要实现它。


    以下是实现例子:

    /*
     * 伪地址转原地址 (url_alter)
     */
    function example_url_inbound_alter(&$path, $original_path, $path_language)
    {
        if (preg_match('|^article(/.*)|', $path, $matches)) {
            $path = 'node'. $matches[1];
        }
    }
    
    /*
     * 原地址转伪地址 (url_alter)
     */
    function example_url_outbound_alter(&$path, &$options, $original_path)
    {
        if (preg_match('|^node(/.*)|', $path, $matches)) {
            $path = 'article' . $matches[1];
        }
    }
    

    PS: 实现hook_url_inbound_alter时不知为何会调不出实现函数,可能因为HOOK过早加载,没有把module加载完全。所以我的做法是写在URL重写模块中,例如subpath_alias

  • 相关阅读:
    2020-08-20
    2020-08-19
    2020-08-14
    2020-08-13
    使用numpy实现机器学习模型
    分治法学习
    2020-08-09
    2020-08-02
    四月是你的谎言下载
    新博客
  • 原文地址:https://www.cnblogs.com/catcat811/p/2035111.html
Copyright © 2011-2022 走看看