所以我正在使用com_content组件视图, 我需要加载相关的相关项目 那个正在观看的人。 有可能吗?
这是我到目前为止所做的:
$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 :(得分: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();