如何在文章类别模块中获取 Joomla 文章的完整 HTML 内文?

问题描述 投票:0回答:4

在客户站点的首页上,我想显示一些带有图像和标题的文章示例。麻烦的是,文章对象在文章类别模块中显示之前从 introtext 中删除了所有 HTML。

有没有办法在保留所有 HTML 的情况下显示模块的介绍文本?

php joomla
4个回答
5
投票

在 3.2 版中,您可以通过将 introtext 显示选项设置为“隐藏”来绕过 _cleanIntrotext 方法。

在 /templates/your_template/html/mod_articles_category 中创建替代布局(或覆盖 default.php)并更改

<?php if ($params->get('show_introtext')) :?>
  <p class="mod-articles-category-introtext">
    <?php echo $item->displayIntrotext; ?>
  </p>
<?php endif; ?>

<p class="mod-articles-category-introtext">
  <?php echo $item->introtext; ?>
</p>

2
投票

我终于找到了答案。结果

~siteroot~/modules/mod_articles_category/helper.php
有一个
_cleanIntrotext
函数,可以从 introtext 中删除大部分 html。注释掉
str_replace
strip_tags
行解决了我的问题。

这不是解决这个问题的最好方法,因为我必须记得在升级 Joomla 时重新实现它。


1
投票

我修改了台词

$item->fulltext = $item->introtext;

$item->introtext = self::_cleanIntrotext($item->introtext);

and use fulltext for html an introtext for only text.

$item->displayIntrotext = $show_introtext ? self::truncate($item->introtext, $introtext_limit) : '';

$item->displayFulltext = $show_introtext ? self::truncate($item->fulltext, $introtext_limit) : '';

0
投票

复制模块并重命名。 注释掉或删除 helper.php 中的 _cleanIntrotext、str_replace 和 strip_tags 行。 您必须将原始模块名称的所有文件和实例替换为新模块名称。 为重命名的类添加 CSS。 可能看起来很复杂,但逻辑思维在大约一个小时左右的时间内为我完成了。 由于它现在是第三方模块,因此不会被 Joomla! 覆盖。更新。

© www.soinside.com 2019 - 2024. All rights reserved.