我需要在 com_content/views/article/view.html.php 中进行一些更改
该文件包含一个类:
class ContentViewArticle extends JViewLegacy{
}
我如何覆盖此类,因为在某些类别上我需要以不同于现在的方式设置元描述?
我将核心源文件复制到: 模板/my_template_name/code/com_content/views/article/view.html.php
我做了一些更改,但不起作用。
我认为它没有使用新文件。 我正在使用 Joomla 2.5.7
您不需要覆盖view.html,只需覆盖com_content/views/article/tmpl/default.php。只需在
中复制一份即可/templates/your_template/html/com_content/article/default.php
并编辑副本。然后你就可以使用
$document = JFactory::getDocument();
$document->setMetaData(...
更改元字段。最终它们将由模板呈现,因此您不需要自己输出元数据。
您可以在组件或模板中的任何位置执行上述操作,但不能在模块中执行。
您无法对
view.html.php
文件进行模板覆盖 - 如果您要执行此操作,则必须编辑核心文件。不要忘记您可以在文章参数中设置文章的元描述(位于编辑/新文章视图的手风琴内)。
在进行这些更改之前,最后将您的 Joomla 版本更新到 2.5.9 - 因为您应该更新,但随着更新您将失去对
view.html.php
的更改