at this article 솔루션을 구현했습니다.URL에 언어 매개 변수를 추가하는 CakePHP
"beforeFilter
"및 "_setLanguage
"은 정상적으로 작동합니다. URL에 language 매개 변수가 있으면 쿠키/세션 변수를 성공적으로 설정할 수 있습니다. 컨트롤러간에 사용하십시오.
그 해결책은 url()
기능을 AppHelper
에 추가하는 것을 포함합니다.
class AppHelper extends Helper {
function url($url = null, $full = false) {
if(!isset($url['language']) && isset($this->params['language'])) {
$url['language'] = $this->params['language'];
}
return parent::url($url, $full);
}
}
그러나보기 파일에는 HtmlHelper
을 사용하지 않고 작성된 URL이 많이 있습니다. 이 같은 :
그래서 AppHelper :: url 솔루션 내 문제를 해결하지 않는 것 같습니다. URL에 언어 접두어를 추가하는 것이 더 좋은 대안은 무엇입니까?
나는이 같은 전역 변수를 정의하는 생각 :
// myfile.ctp
<a href="<?php echo URLprefix; ?>/mypage/">click me plase<a>
를하지만 좋은 방법을하지 않는 것 :
// AppController::_beforeFilter()
if ($this->request->params['language'] != "")
{
Configure::write('URLprefix', '/'.$this->request->params['language']);
} else {
Configure::write('URLprefix', '');
}
는 다음과 같이보기 파일을 변경합니다. URL에 프리픽스를 추가하는 더 좋은 방법이 있습니까? 아니면 직접 모든 링크에 추가해야합니까?
관련 :
Adding a prefix to every URL in CakePHP
CakePHP 2.x i18n route
CakePHP 2.1 URL Language Parameter