2014-03-06 2 views
1

저는 PHP 프레임 워크를 사용하여 처음으로 스파게티 코드 작성을 배제하고 지금까지는 훌륭합니다. 나는 Code Igniter를 사용하고 있으며 "Dashboard.php"라는 이름의 기본 컨트롤러를 가지고있어 잘로드되고 완벽 해 보인다.하위 폴더에있는 컨트롤러에는 내용이 없습니다.

일부 조직을 만들려고 할 때 "Devices/.php"를 "Controllers/Devices"하위 폴더에 배치 한 다음 텍스트를로드하는 "http://domain.com/devices/devices"에서 액세스했지만 images/css/etc. 를 찾을 수 없다.

"장치"컨트롤러의 내용은 내 "대시 보드"와 동일하므로 텍스트가 왜로드되는지 이해할 수 없습니다. "devices.php"파일을 루트 Controllers 디렉토리로 옮기면 문제가 없습니다.

다음
class Devices extends CI_Controller 
{ 

    public function index() 
    { 
     $data['page_title'] = 'Device Portal'; 

     $this->load->view('meta'); 
     $this->load->view('sidebar'); 
     $this->load->view('userbar'); 
     $this->load->view('header'); 
     $this->load->view('devices/content'); 
     $this->load->view('footer'); 
    } 

} 

은 "Sidebar.php"보기입니다 ...

<!-- Left side content --> 
<div id="leftSide"> 
    <div class="logo"><a href="index.html"><img src="assets/images/logo.png" alt="" /></a></div> 

    <div class="sidebarSep mt0"></div> 

    <!-- Search widget --> 
    <form action="" class="sidebarSearch"> 
     <input type="text" name="search" placeholder="search..." id="ac" /> 
     <input type="submit" value="" /> 
    </form> 

    <div class="sidebarSep"></div> 

    <!-- General balance widget --> 
    <div class="genBalance"> 
     <a href="#" title="" class="amount"> 
      <span>General balance:</span> 
      <span class="balanceAmount">$10,900.36</span> 
     </a> 
     <a href="#" title="" class="amChanges"> 
      <strong class="sPositive">+0.6%</strong> 
     </a> 
    </div> 
+0

질문에 images/css/etc가 포함 된보기 중 하나를 포함 할 수 있습니까? – Samutz

+0

예, "sidebar.php"를 추가했습니다.보기 –

답변

0

당신은 귀하의 의견에 이미지/CSS/등을 연결할 때 상대 경로를 사용하지 않도록해야합니다. 이 페이지 http://domain.com/devices/devices에서 assets/images/logo.png (상대 경로)를 사용하는 경우 예를 들어

는, 브라우저는 브라우저 대신 http://domain.com/assets/images/logo.png를 찾습니다 페이지 http://domain.com/devices와 동일한 이미지 경로를 사용 http://domain.com/devices/assets/images/logo.png

을 찾습니다.

도메인 내의 페이지, 이미지 등에 URL을 지정할 때 URL helper 함수를 사용하여 URL의 형식을 자동으로 지정하십시오. 이 같은 URL을

<script type="text/javascript" src="./assets/js/jquery.js"></script> 
<img src="assets/images/logo.png" alt="" /> 

를 대신 생성 :

는이 같은 URL을 작성하지 않도록 할

<script type="text/javascript" src="<?php echo base_url('assets/jquery.js'); ?>"></script> 
<img src="<?php echo base_url('assets/images/logo.png'); ?>" alt="" /> 

출력됩니다 어떤 :

<script type="text/javascript" src="http://domain.com/assets/js/jquery.js"></script> 
<img src="http://domain.com/assets/images/logo.png" alt="" /> 
+1

정말 고마워요. 이제는 할 일이 많이 생겨서 그 모든 것을 바꾸십시오 :) –

0

CodeIgniter의에서 BASE_URL를 사용() 함수를 사용하여 에셋을 인쇄합니다.

<img src="<?php echo base_url('assets/images/logo.png');?>" alt="" />

이 기능은 자동으로 URL 전에 도메인을 생성합니다.

관련 문제