2011-12-17 26 views
8

मैं (दृश्यपटल) अपने ही घटक में दृश्य (view.html.php) है

<?php defined('_JEXEC') or die('Restricted access'); ?> 
<div> 
ASFADSFDSF 
</div> 

कैसे Joomla टेम्पलेट के बिना यह प्रदर्शित करने के लिए (सिर अनुभाग, शैली, आदि)। मैं खिड़की में jquery onclick विधि के इस हिस्से को कॉल करना चाहता हूँ।

उत्तर

21

घटक को प्रदर्शित करने के लिए केवल यूआरएल में "tmpl = घटक" पैरामीटर जोड़ें। यदि घटक के दृश्य के अलावा कुछ प्रदर्शित करने की आवश्यकता है तो इसे अनुकूलित किया जा सकता है - टेम्पलेट के रूट फ़ोल्डर में "घटक.php" फ़ाइल बनाएं और इसमें जो भी हो, उसे शामिल करें। अधिक टेम्पलेट्स उसी तरह से किए जा सकते हैं - टेम्पलेट के रूट फ़ोल्डर में "some_template.php" बनाएं और url पर "tmpl = some_template" पैरामीटर जोड़ें। इसलिए

+0

धन्यवाद! Avesome! – Nips

+0

"_creating" घटक.php "टेम्पलेट के रूट फ़ोल्डर_ में फ़ाइल" पर विश्वास नहीं कर सकता "यह मेरे लिए कभी नहीं हुआ। – Ejaz

4

प्रारंभ संपादित

ठीक नीचे काम करता है, लेकिन मैं एक बेहतर तरीका मिल गया। अपने नियंत्रक में क्या ...

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

समाप्ति संपादित

आप Tmpl '' घटक 'पर सेट कर सकते हैं, के रूप में की तरह, बाबर Usenakunov ने सुझाव दिया है, जिसमें मामले स्क्रिप्ट और सीएसएस लोड किया जा सकता है, .. ।

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

आप कच्चे उत्पादन बनाना चाहते हैं लेकिन यदि आप & प्रारूप = कच्चे या अपने घटक में जोड़ने प्रकार के 'कच्चे' एक दृश्य बना सकते हैं ...

दुर्भाग्य से केवल कार्यात्मक तरह से मैं कच्चे के एक viewType सही ढंग से प्रस्तुत करना सुनिश्चित करने के लिए मिल सकता है बाहर निकलें() कॉल करने के लिए दृश्य कक्षा के बाद माता-पिता :: प्रदर्शन() कहता है ...

अपने controller.php में है ...

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

} 
तो विचारों में

/जो कुछ भी/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 
    } 
} 
संबंधित मुद्दे