2011-12-17 1 views
8

내가 (view.html.php) 내 자신의 구성 요소보기 (프론트 엔드)가

(템플릿 Joomla없이 머리 부분을 표시하는 방법을
<?php defined('_JEXEC') or die('Restricted access'); ?> 
<div> 
ASFADSFDSF 
</div> 

, 스타일, 기타). 창에서 jquery onclick 메서드의이 부분을 호출하고 싶습니다.

답변

21

구성 요소를 표시하려면 url에 "tmpl = component"매개 변수 만 추가하십시오. 구성 요소의보기 이외에 뭔가를 표시해야하는 경우 사용자 지정이 가능합니다. 템플릿의 루트 폴더에 "component.php"파일을 만들고 필요한 항목을 포함시킵니다. 더 많은 템플릿이 같은 방식으로 수행 될 수 있습니다 - 템플릿의 루트 폴더에 "some_template.php"를 만들고 url에 "tmpl = some_template"매개 변수를 추가하십시오.

+0

감사합니다 어떤 뷰에서 다음
class com_whateverController() extends JController { function __construct() { // the following is not required if you call exit() in your view class (see below) ... JRequest::setVar('format','raw'); JFactory::$document = null; JFactory::getDocument(); // or //JFactory::$document = JDocument::getInstance('raw'); parent::__construct(); } function display() { $view = $this->getView('whatever', 'raw'); $view->display(); } } 

/! 고맙습니다! – Nips

+0

"_creating"component.php "템플릿의 루트 폴더에있는 파일"을 믿을 수 없습니다. – Ejaz

4

시작 편집

확인을 클릭하면 작동하지만 더 나은 방법을 찾았습니다. 컨트롤러에서 같이있는 경우 스크립트와 CSS를로드 할 수 있습니다, 부르 Usenakunov에 의해 제안 당신은, '구성 요소'에 '에게 tmpl'을 설정할 수 있습니다

if (JRequest::getVar('format') != 'raw') { 
    $url = JURI::current() . '?' . $_SERVER['QUERY_STRING'] . '&format=raw'; 
    header('Location: ' . $url); 
    // or, if you want Content-type of text/html just use ... 
    // redirect($url); 
} 

최종 편집 ... 할 .. 당신은 당신이 & 형식 = 원료 또는 구성 요소에 추가 '원시'형태의 뷰를 만들 수 있습니다 원시 출력을 만들려는 그러나합니다.

JRequest::setVar('tmpl','component'); 

...

불행하게도 나는 원시의 viewType가 제대로 렌더링하기 위해 찾을 수있는 유일한 기능 방법은 ... 뷰 클래스는 부모 :: 표시()를 호출 한 후 ...

당신의 controller.php에서

을 exit()를 호출하는

입니다/view.raw.php ...
class com_whateverViewWhatever extends JView 
{ 
    public function display($tpl = null) 
    { 
      parent::display(); 
      exit; // <- if you dont have this then the output is captured in and output buffer and then lost in the rendering 
    } 
}