这很奇怪,但我还没有通过谷歌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
只显示简介文本,但它也包含AFTER内容阅读更多。
我应该使用什么属性只包括BEFORE阅读更多之前的内容,而不包括其他内容?
我不希望$this->item->introtext
内容受到文章选项中Show Intro Text
参数的影响。预计只有$this->item->text
关心它。我说得对吗?
注意:$this->item->fulltext
按预期工作,仅输出阅读更多之后的内容。
如果禁用文章选项中的Show Intro Text
参数(所有3个变量),则返回阅读更多之后的文本。这真的应该被视为一个bug。
更明智的做法是,根据文章参数,使用一个仅返回介绍文本的变量(在任何情况下)、一个只返回全文的变量(无论在任何情况中)和一个包含/排除介绍文本的参数:Show Intro Text
您所需要做的就是添加一个模板覆盖。您需要制作此文件的副本:
/JOOMLA INSTALL/components/com_content/views/article/tmpl/default.php
对你想要的代码进行任何更改,然后上传到这里:
/JOOMLA INSTALL/templates/flexibility/html/com_content/article/default.php
就这么简单。
在Joomla 3.3.0中,它正如您所期望的那样工作:
<div id="introtext"><?php echo$this->item->introtext; ?></div>
<div id="fulltext"><?php echo $this->item->fulltext; ?></div>
(在templates/your_template_name/html/com_content/article/default.php中)