2014-04-10 2 views
0

에서 다른 함수에서보기로드 문제입니다 :CodeIgniter는 - 컨트롤러 여기

내가 www.mysite.com/quizz를 호출 할 경우, 내 'quizz'페이지를로드합니다.

public function index() 
{ 
     $this->load->helper('quizzsettings'); 
     $data['questions'] = getSettings(); 
     $this->load->view('head'); 
     $this->load->view('quizz', $data); 
} 

: 나는 (동일한 코드를 포함) www.mysite.com/quizz/start를 호출하는 경우,보기 때문에 깨진 링크로 엉망 그러나

(이미지, CSS는, ...) 여기

내용입니다 나는 (www.mysite.com/quizz/start를) 다른 함수를 호출하면 레이아웃이 실패 : 알다시피이 잘되어야합니다 있도록

public function start() 
{ 
     $this->load->helper('quizzsettings'); 
     $data['questions'] = getSettings(); 
     $this->load->view('head'); 
     $this->load->view('quizz', $data); 
} 

는 CodeIgniter의가, www.mysite.com/class/method 같은 URL을 읽고, 권리?

+0

_The 뷰 up_ 엉망이있어 설치에 정확해야 할 파일의 경로를 변경? 그들이 엉망이 된 경우 그럼 이미지와 CSS에 대한 URL을 소스 뭐죠. 네트워크 콘솔의 오류를 참조하십시오. –

+0

상대 경로를 사용하고 있습니까? –

답변

1

절대 경로을 사용하여 CSS, JS 및 이미지를 호출하려고합니다. 상대 경로를 사용하고있는 것 같습니다. 아직 작성하지 않은 경우 공통 헤더보기를 만들고 base_url()을 사용하는 것이 가장 좋습니다. 예를 들어

<!-- Load CSS --> 
<link type="text/css" rel="stylesheet" href="<?php echo base_url(); ?>css/style.css" /> 

<!-- Load JS --> 
<script type="text/javascript" src="<?php echo base_url(); ?>js/script.js"></script> 

은 분명히

+0

새 사용자로서 해결할 수없는 질문이 있습니다./여기에 있습니다. "알았어요. . 내 js에 사용했지만 내 CSS에는 사용하지 않았고 CSS 용으로 추가 했으므로 괜찮습니다. 내 뷰에 이미지의 base_url()을 추가하면 수정되었습니다. 올바른 방법을 보여 주셔서 감사합니다!) " – Sebastien

1

귀하의 방법에서는 $this->function();으로 전화 할 수는 있지만 이는 권장하지 않습니다. 당신이 말하고있는 깨진 코드는 잘 읽혀진 HTML이지만, 파일을 제대로 호출하지 않기 때문에 images/css 등이 깨졌습니다.

"깨진"HTML 샘플을 게시 할 수 있습니까? (브라우저에서보기 소스 또는 브라우저의 90 %에서 ctrl+U' or 명령 + U` 사용)

보기의 HTML과 이미지 및 CSS 파일을로드하는 방법을 검토하고 설정해야합니다.

룩업 코드 작성자 URL 도우미 (문서에서 URI 도우미 일 수 있으며, 기억하지 못할 수도 있습니다.) 및 사용법을 설명하는 간단한 site_url() 함수가 있습니다 ... site_url (' 컨트롤러/메소드 ') 또는 site_url ('3rdparty/jQuery/jQuery.min.js ') - 제어기 메소드와 파일 모두에서 잘 작동하는 좋은 해킹이며 소프트웨어 설치 위치에 신경 쓸 필요가 없습니다.

+0

이 방법으로 js/css를 호출하면 모두 head.php에 저장됩니다. 이 이미지는이 방법이라고 : 내 페이지 표준 방식 (/ quizz) 호출 할 때 '' 의미가 있습니다,하지만 난 함수를 호출하는 경우 (/ quizz/기능) . 제 전망에서 어디에서나 base_url()을 사용해야합니까? – Sebastien

+0

아마도 head_phl에서 head_phl()을 사용하여 내 css를 호출했기 때문에 해결책이 아닐지 모르지만 소스를 분석 할 때 http : // localhost : 8888/sanofi/** quizz/** css/style 링크를 사용하십시오. css'. ** 퀴즈/** 경로에 추가 된 이유는 모르겠지만 그것을 제거하면 작동합니다 ... – Sebastien

+0

위에서 지적했듯이 base_url()을 사용하여 리소스에 대한 절대 경로를 만들어야합니다 . 그렇게하면 어디에서 부르는지는 중요하지 않습니다. – Chococroc