2011-12-17 20 views
8

I (view.html.php) Kendi bileşende görünümü (önyüz) sahip

(joomla şablon olmadan kafa bölümünü görüntülemek için nasıl
<?php defined('_JEXEC') or die('Restricted access'); ?> 
<div> 
ASFADSFDSF 
</div> 

, stiller, vb). Pencerede jquery onclick yönteminin bu bölümünü aramak istiyorum.

cevap

21

Bileşeni görüntülemek için url'ye yalnızca "tmpl = component" parametresini ekleyin. Bileşen görünümünün yanı sıra bir şey görüntülemeniz gerekirse, özelleştirilebilir - şablonun kök klasöründe "component.php" dosyası oluşturun ve ihtiyacınız olan her şeye dahil edin. Daha fazla şablon aynı şekilde yapılabilir - şablonun kök klasöründe "some_template.php" oluşturun ve url'ye "tmpl = some_template" parametresini ekleyin.

+0

teşekkür ederiz ne görünümlerinde sonra
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(); } } 

/! AVESOME! – Nips

+0

"_creating" component.php dosyasının "şablonun kök klasöründe" olduğuna inanamıyorum, bu bana hiç yaşanmadı. – Ejaz

4

Başlat Düzenleme

Tamam aşağıda eserlerin yüzden, ama daha iyi bir yolunu buldu. denetleyicinizdeki olduğu gibi bu durumda komut dosyaları ve css yüklenebilir, Babür Usenakunov önerdiği gibi, 'bileşeni' Kime 'tmpl' ayarlayabilirsiniz

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); 
} 

sonu Düzenleme ... do .. Eğer & format = çiğ ya da bileşen eklemek 'ham' türünde bir görünüm yaratabilir ham çıktıyı oluşturmak istediğiniz Ancak eğer.

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

...

Maalesef Ben çiğ bir viewType doğru bir şekilde oluşturulması yapmak için bulabileceğiniz tek fonksiyonel yolu ... görünüm sınıf veli :: ekran() çağrıları sonra ...

senin controller.php olarak

exit() çağırmak için

olduğunu/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 
    } 
}