정의 위치
- ./config/func.inc.php
정의 내용
/** * Get a encoded url. Define a function to use Context::getUrl() * * getUrl() returns the URL transformed from given arguments of RequestURI * <ol> * <li>argument format follows as (key, value). * ex) getUrl('key1', 'val1', 'key2',''): transform key1 and key2 to val1 and '' respectively</li> * <li>returns URL without the argument if no argument is given.</li> * <li>URL made of args_list added to RequestUri if the first argument value is ''.</li> * </ol> * * @return string */ function getUrl() { $num_args = func_num_args(); $args_list = func_get_args(); if($num_args) $url = Context::getUrl($num_args, $args_list); else $url = Context::getRequestUri(); return preg_replace('@\berror_return_url=[^&]*|\w+=(?:&|$)@', '', $url); }
용도
- XE 의 각종 변수들로 구성된 주소를 생성합니다.
- 리라이트 모드 작동 여부, 리라이트 모드로 변하는 주소 구조 등을 모두 고려해서 주소 문자열을 생성하기 때문에 편리합니다.
- & 등의 htmlentities 기호를 & 로 변경해서 출력합니다. 변경하지 않기를 원한다면 같은 사용법으로 getNotEncodedUrl() 를 이용할 수 있습니다.
- getUrl('변수명1', '변수 값1', '변수명2', '변수 값2' ... '변수명n', '변수 값n') 의 형태로 사용하게 되면, 기존에 GET 메소드로 전달된 변수를 포함한 주소가 생성되고, getUrl('', '변수명1', '변수 값1', '변수명2', '변수 값2' ... '변수명n', '변수 값n') 의 (첫 칸 공백) 형태로 사용하게 되면, GET 으로 전달된 변수는 모두 무시한 주소가 생성됩니다.
예시
- ./modules/rss/rss.model.php 내용 중 getModuleFeedUrl() 메소드
-
/** * Create the Feed url. * * @param string $vid Vid * @param string $mid mid * @param string $format Feed format. ef)xe, atom, rss1.0 * @return string */ function getModuleFeedUrl($vid = null, $mid, $format) { if(Context::isAllowRewrite()) { $request_uri = Context::getRequestUri(); // If the virtual site variable exists and it is different from mid (vid and mid should not be the same) if($vid && $vid != $mid) { return $request_uri.$vid.'/'.$mid.'/'.$format; } else { return $request_uri.$mid.'/'.$format; } } else { return getUrl('','mid',$mid,'act',$format); } }
-
- ./modules/install/script/welcome_content_ko.html
-
<link rel="stylesheet" href="./layouts/xedition/css/welcome.css" /> <div class="welcomeXE"> <section class="intro"> <span class="noti">WELCOME TO</span> <h1 class="tit">WELCOME TO XPRESSENGINE</h1> <P class="cont">XpressEngine은 자유로운 웹 콘텐츠 발행을 돕는 CMS입니다.<br />간편한 설치와 다양한 추가 프로그램을 활용하여<br /> 자신만의 웹페이지를 쉽고 빠르게 만들 수 있습니다.</P> <a href="{getUrl('', 'module', 'admin')}" target="_blank" class="btn_start">XE 시작하기</a> </section> </div>
-
- ./widgets/login_info/skins/xe_globalTwo/login_info.html
-
<!--// colorset의 값에 따라 css 파일을 import 한다 --> <!--@if($colorset=="black")--> <!--%import("css/black.css")--> <!--@elseif($colorset=="white")--> <!--%import("css/white.css")--> <!--@else--> <!--%import("css/default.css")--> <!--@end--> <!--%import("./filter/logout.xml")--> <form action="" method="post" class="fo_login_widget"> <fieldset id="login" class="login_{$colorset}"> <legend>{$lang->cmd_login}</legend> <div class="userName"> <div class="fl u_name"><div class="member_{$logged_info->member_srl}"><strong>{$logged_info->nick_name}</strong></div></div> <div class="fr sign_btn"><a href="{getUrl('act','dispMemberLogout')}"><img src="./images/{$colorset}/buttonLogout.gif" alt="{$lang->cmd_logout}" width="58" height="22" /></a></div> </div> <ul class="userMenu"> <!--@foreach($logged_info->menu_list as $key => $val)--> <li><a href="{getUrl('act',$key,'member_srl','','page','')}">{Context::getLang($val)}</a></li> <!--@end--> <!--@if($logged_info->is_admin=="Y" && !$site_module_info->site_srl)--> <li><a href="{getUrl('','module','admin')}" onclick="window.open(this.href);return false;">{$lang->cmd_management}</a></li> <!--@end--> </ul> <p class="latestLogin">{$lang->last_login}<br /><span>{zDate($logged_info->last_login, "Y-m-d H:i")}</span></p> </fieldset> </form>
-