Php Joomla:从标记模块访问文章属性

Php Joomla:从标记模块访问文章属性,php,joomla,Php,Joomla,所以我有一个模板,为了设计我的博客,我使用了模板文件夹中html/folder中的blog.php和blog_items.php。所以现在我正在研究标签搜索,它现在不在com_内容中,而是在com_标签中。因此,我创建了一个文件夹com_tags,它里面有一个tag文件夹,因为我希望帖子在tag搜索和common blog视图中看起来一样,所以我只是将blog_item.php复制到我的新文件夹中,将其重命名为default_item。我对包含default_items.php中的文件没有问题,

所以我有一个模板,为了设计我的博客,我使用了模板文件夹中html/folder中的blog.php和blog_items.php。所以现在我正在研究标签搜索,它现在不在com_内容中,而是在com_标签中。因此,我创建了一个文件夹com_tags,它里面有一个tag文件夹,因为我希望帖子在tag搜索和common blog视图中看起来一样,所以我只是将blog_item.php复制到我的新文件夹中,将其重命名为default_item。我对包含default_items.php中的文件没有问题,但是$this->item似乎与com_内容组件中的不同。所以,我的代码,特别是当使用像

生成许多错误,例如,$this->item->title未设置。因此,在使用print\r进行调查后,我创建了一个简单的解决方案:

$params = JComponentHelper::getParams('com_content');
$this->params=$params;
$this->item->params=$params;
$this->item->title=$this->escape($this->item->core_title);
$this->item->state=$this->escape($this->item->core_state);
$this->item->publish_up=$this->escape($this->item->core_publish_up);
$this->item->publish_down=$this->escape($this->item->core_publish_down);
$this->item->images=$this->escape($this->item->core_images);
$this->item->introtext = $this->item->text;

但是这样的解决方法不会让我得到,例如,文章的点击率,因为没有core_hits变量,而且这段代码看起来很愚蠢。我应该如何正确地做到这一点?

放置这些内容的位置不是在组件文件夹中,而是在模板的html文件夹中。您的两个选择是执行您所做的操作,或者只是将
$this->item
引用更改为标记中使用的名称。如果您想使用现有的JLayout,那么您所做的一切都很好,只是您不应该逃逸,这将导致一堆双重逃逸的事情。您可以使用关联数组使其更美观,并在
foreach
中进行赋值。确保对列名匹配非常小心。您可以在
##u内容u类型
中的文章数据中找到正确的一对一匹配项。事实上,您只需解码json即可。在处理com_标记时,我使用了模板的html文件夹。因此,我无法像在com_内容组件中那样访问项目的属性?当然,只需将文章中的代码更改为标签布局中使用的代码。模型是不同的,因为没有类别,但在标记视图中查看默认的_项布局。例如,您需要添加$item->core_body,然后您需要执行math-y部分来设置行和列。最好的模型是在标签视图中。