2015-02-21 4 views
0

Так что я работаю с видом компонента com_content, , и мне нужно загрузить связанные объекты, связанные с тот, который просматривается. Можно ли это сделать?Render joomla компонент внутри такой же вид

Это то, что я до сих пор:

$com = JPATH_SITE.DS.'components'.DS.'com_content'; 

if (!class_exists('ContentController')) require($com.DS.'controller.php'); 
$config['base_path'] = $com; 
$cont = new ContentController($config); 

JRequest::setVar('view', 'categories'); 

$lang =& JFactory::getLanguage(); 
$lang->load('com_content', JPATH_SITE); 

$cont->display(); 

Я не знаю, если это именно то, как его должно быть, но ждать какой-либо помощи, если это возможно.

Благодаря

ответ

0

Вот решение, для тех, кто в моей ситуации:

// Path to wanted component 
$com = JPATH_SITE.DS.'components'.DS.'com_content'; 

// Include controller, if its not already include 
if (!class_exists('ContentController')) require($com.DS.'controller.php'); 

// Inform controller of its base path 
$config['base_path'] = $com; 
// Init controller 
$cont = new ContentController($config); 

// Get wanted view 
$view =& $cont->getView('category', 'html'); 
// Add path to wanted template 
$view->addTemplatePath(JPATH_SITE.DS.'templates'.DS.'ja_wall'.DS.'html'.DS.'com_content'.DS.'category'); 

// Adding needed params to load info 
JRequest::setVar('view', 'category'); 
JRequest::setVar('layout', 'blog'); 
JRequest::setVar('Itemid', '102'); 
JRequest::setVar('id', $this->item->catid); 

// Get and load language 
$lang =& JFactory::getLanguage(); 
$lang->load('com_content', JPATH_SITE); 

// Render page 
$cont->display();