我一直试图让joomla全文在标签中呈现。标签正在运行。我无法呈现文章内容。这就是我现在所处的位置。
这是helper.php
public static function getArticle($articleId)
{
JModelLegacy::addIncludePath(JPATH_SITE.'/components/com_content/models', 'ContentModel');
$model = JModelLegacy::getInstance('Article', 'ContentModel', array('ignore_request' => true));
$article = $model->getItem((int) $articleId);
$fullarticle = $item->fulltext;
$itemsHtml = '<div>'. $fullarticle .'</div>';
return $itemsHtml;
}
这是在default.php
...code...
else if ($list_of_tabs['use'][$i][0] == 'article'){
echo '<div class="tab-pane '.$active.'" id="'.$i.$rid.'">'.
modJpTabsHelper::getArticle($list_of_tabs['article'][$i], $params) .
'</div>';
}
...code...
如果您需要更多信息。不要犹豫。
答案 0 :(得分:2)
你想要实现什么:写自己的Joomla!扩展名在选项卡中显示文章,或者您只需要显示您的J!选项卡中的文章?
如果它是后者,那么已经有一些很好的和免费的(例如在#34;免费熊&#34;)附加组件中为此而写。
答案 1 :(得分:1)
您正在尝试使用MVC的模型部分作为渲染的东西。 您应该使用MVC系统 - 使用控制器来收集模型和视图,然后您可以通过控制器使用附加视图渲染模型。
所以你使用的东西(我没有测试过 - 你需要纠正它)。
$filter=array('id' => $i->query['id']);
$options=array('filter_fields' => $filter,'ignore_request' => true);
$ctl = new ContentModelController();
$view = $ctl->getView( 'Article');
$model = $ctl->getModel( 'Article','',$options);
您可能需要在应用程序中设置params,例如..
$model->setState('params', JApplication::getInstance('site')->getParams());
然后继续
$view->setModel( $model, true );
$result = $view->display();
确保你有JLoader :: import'ed任何类/类路径 - j。如果找不到它们,往往会无声地失败,这很难追查。
对不起,这只是一个部分解决方案 - 但希望它可能会让你走上正轨。
答案 2 :(得分:0)
问题在于:
$fullarticle = $item->fulltext;
模型中的文章对象是变量$ article而不是$ item:
$article = $model->getItem((int) $articleId);
因此,从文章对象获取属性全文应该是:
$fullarticle = $article->fulltext;