Bắt đầu chỉnh sửa
OK để các công trình bên dưới, nhưng tôi đã tìm thấy một cách tốt hơn. Trong điều khiển của bạn làm ...
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);
}
End Sửa
Bạn có thể đặt 'tmpl' thành 'thành phần', theo đề nghị của Babur Usenakunov, trong trường hợp kịch bản và css có thể được nạp, giống như .. .
JRequest::setVar('tmpl','component');
Tuy nhiên, nếu bạn muốn tạo ra liệu bạn có thể thêm & format = sống hoặc trong thành phần của bạn làm cho một cái nhìn kiểu 'thô' ...
Thật không may cách duy nhất chức năng tôi có thể tìm thấy để làm cho một viewType của render thô một cách chính xác là để gọi exit() sau khi lớp xem cuộc gọi cha mẹ :: display() ...
trong controller.php của bạn ...
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();
}
}
sau đó trong views/bất cứ điều gì/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
}
}
Cảm ơn bạn! Avesome! – Nips
Không thể tin rằng "_creating" component.php "tập tin trong thư mục gốc của template_" nó không bao giờ xảy ra với tôi. – Ejaz