/** * 插件顯示內容裏生成訪問插件的url * @param string $url url * @param array $param 參數 * @author 麥當苗兒 <zuojiazi@vip.qq.com> */ function addons_url($url, $param = array()){ $url = parse_url($url); $case = C('URL_CASE_INSENSITIVE'); $addons = $case ? parse_name($url['scheme']) : $url['scheme']; $controller = $case ? parse_name($url['host']) : $url['host']; $action = trim($case ? strtolower($url['path']) : $url['path'], '/'); /* 解析URL帶的參數 */ if(isset($url['query'])){ parse_str($url['query'], $query); $param = array_merge($query, $param); } /* 基礎參數 */ $params = array( '_addons' => $addons, '_controller' => $controller, '_action' => $action, ); $params = array_merge($params, $param); //添加額外參數 return U('Home/Addons/execute', $params); }
OneThink的插件URL生成存在一點定位問題,在其餘應用模塊裏調用這個插件生成URL需進行修正。php
修正方式是在return的U函數內帶上Home,強制定位到Home應用模塊內。函數