【问题标题】:Set page title in Joomla! 3 from a module在 Joomla 中设置页面标题! 3 从一个模块
【发布时间】:2015-10-05 21:23:31
【问题描述】:

我有一个现有的模块,我使用 {loadposition custom_position} 从一篇文章中显示它。文章链接到一个菜单项。我希望能够从此模块设置自定义页面标题,覆盖菜单项设置的页面标题。

我尝试过使用

$document = JFactory::getDocument();
$document->setTitle('Set your title here');

但它没有设置页面标题。

是否可以在模块内设置页面标题,或者只能在组件内完成。

【问题讨论】:

  • 你在模块中的链接周围做了什么路由?您可能可以使用自定义路由器并设置选项。
  • stackoverflow.com/q/24865448/1983389 的问题与此类似,并且有使用 JavaScript 的替代答案。

标签: joomla joomla3.0 joomla-extensions


【解决方案1】:

你写的代码是正确的,但是你改了之后可能其他模块/插件在改标题。

您可能希望在设置后立即回显标题,例如

$document = JFactory::getDocument();
$document->setTitle('Set your title here');
echo "<h1>" . JFactory::getDocument()->getTitle() . "</h1>";

如果正确,您需要寻找稍后更改它的其他模块/插件。

【讨论】:

  • 谢谢弗朗西斯科。你说的对。 echo 语句返回的标题是我设置的。因此它必须在以后被覆盖,可能是由我用来显示文章的 com_content 覆盖。我仍然需要弄清楚是否有办法阻止 com_content 覆盖标题。
  • 我担心你不能。一种方法是为此编写一个插件并使其在正确的时间执行,但这需要更多的工作。
【解决方案2】:
  1. 您可以创建“隐藏菜单”;
  2. 在此菜单中创建页面链接;
  3. 在没有任何代码行的情况下更改菜单项中的页面标题...

【讨论】:

  • 谢谢马克斯。这将设置一个静态页面标题,但我希望从模块中动态设置页面标题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-08-13
  • 1970-01-01
  • 1970-01-01
  • 2017-12-14
  • 2013-03-20
  • 2010-09-10
相关资源
最近更新 更多