7

这很奇怪,但我没有通过谷歌搜索找到一个非常好的解决方案joomla style intro text

我想要当前的输出:

<div class="item-content">
    <p>Intro Text</p>
    <p>Full Text</p>
</div>

替换为:

<div class="item-content">
    <div class="introtext"><p>Intro Text</p></div>
    <div class="fulltext"><p>Full Text</p></div>
</div>

我确信 Joomla 本身应该为 introtext 声明这样一个类,或者至少应该有一个可配置的选项。

我不想要的:

  • Joomla 1.x 或 Joomla 1.5 解决方案
  • 一种手动方式,直到没有基于扩展的解决方案(这更奇怪!)

在{THIS}回答后更新

现在我遇到了$this->item->introtext,$this->item->fulltext和的问题$this->item->text

我希望$this->item->introtext只显示 introtext,但它也包含 AFTER READ MORE的内容。

我应该使用什么属性来仅包含 BEFORE READ MORE内容,而不是其他任何内容?

我不希望$this->item->introtext内容受Show Intro Text文章选项中的参数影响。预计只$this->item->text关心它。我对吗?

注意: $this->item->fulltext按预期工作,仅在READ MORE之后输出内容。


在文章选项中禁用Show Intro Text参数的情况下,所有 3 个变量,在READ MORE之后返回文本。这确实应该被视为一个错误。

最好有一个变量只返回介绍文本(在任何情况下),一个变量只返回全文(在任何情况下),以及一个根据文章参数包含/排除介绍文本的变量:Show Intro Text

4

2 回答 2

3

您需要做的就是添加一个模板覆盖。您需要制作此文件的副本:

/JOOMLA INSTALL/components/com_content/views/article/tmpl/default.php

对您想要的代码进行任何更改,然后在此处上传:

/JOOMLA INSTALL/templates/flexibility/html/com_content/article/default.php

就那么简单。

于 2012-09-01T18:05:35.730 回答
1

在 Joomla 3.3.0 中,它就像您预期的那样工作:

<div id="introtext"><?php echo$this->item->introtext; ?></div>
<div id="fulltext"><?php echo $this->item->fulltext; ?></div>

(在模板/your_template_name/html/com_content/article/default.php 中)

于 2014-05-27T19:06:52.297 回答