2016-12-19 1 views
0

나는 모바일과 데스크톱을위한 2 개의 서로 다른 사이트를 가지고있다. (매우 큰 차이로 인해 응답 할 수 없기 때문에 다른 뷰를로드 할 수 없다), 그리고 그들의 URL은 같다. 이미 Codeigniter에 모바일 사이트가 있습니다. 데스크톱 버전으로 만들 필요가 있습니다.어떻게 사용자 에이전트를 기반으로 컨트롤러를로드 할 수 있습니까?

Is their any way so that i can load different controllers in router based on useragent, or any other way to solve this.

라우팅 규칙 전에 useragent 라이브러리를로드하려고 시도했지만 오류가 발생했습니다.

내가 routes.php에 뭘하려 :

$this->load->library('user_agent'); 
$this->load->helper('url'); 
if ($this->agent->is_mobile()) 
{ 
    $device = ""; 
} 
else 
{ 
    $device = "desktop/"; 
} 

오류 : 당신은 사용자 에이전트를 확인 후 _remap() 기능을 사용할 수 있으며 두 경우에 동일한 URL을 유지합니다

A PHP Error was encountered Severity: Notice Message: Undefined property: CI_Router::$load Filename: config/routes.php Line Number: 52 Backtrace: File: /var/www/html/abc.com/application/config/routes.php Line: 52 Function: _error_handler File: /var/www/html/buzz.in/index.php Line: 315 Function: require_once

+0

을 확인하고 요청을 경로를 BaseController를 사용하고 그것을 시도하십시오. – kishor10d

+0

컨트롤러를로드하기 전에 수표를 실행할 수있는 그런 식으로 codeigniter 후크를 사용한다고 말하면 – killstreet

+0

모두에게 도움을 청합니다. 후크가 나를 위해 완벽하게 작동했습니다. – ghost

답변

0

(모바일/데스크톱).

_remap() documentation

또는 당신이 다시 매핑 기능을 사용하고 위와 같이 사용하거나 baseController를 사용할 수있는 것처럼 @ kishor10d ...

1

에 의해 명시된 바와 같이 당신은 BaseController에서 확인할 수 있습니다,하지만 난 갈 것 CodeIgniter 후크.

다음으로 모바일이 데스크톱과 다르게 데이터를 처리하는 이유가 궁금합니다. 내 경험에 난 단지보기를 변경하지 기능하지만, 어쨌든 루트 대신이

https://www.codeigniter.com/user_guide/general/hooks.html

관련 문제