在IntroText中维护K2模块格式

时间:2013-12-14 02:35:04

标签: html formatting blogs joomla-extensions joomla3.0

所以基本上我已经在Joomla上安装了K2!基于网站,我打开了类别视图的IntroText。有一个Master类别,Master,其中所有其他类别都是子类别,这就是你必须将IntroText应用于多个类别的原因,因为K2很挑剔 - 在主类别中设置你想要的所有选项并从子类别中调用它们。 / p>

我的特殊问题是在IntroText中丢失HTML格式,因此所有博客文章看起来都像一块文本(红线表示段落应该从哪里开始,即<p>标记): Mein Probleim

它应如下所示: No problemo

我尝试更改主类别中类别视图选项中的几乎所有设置都无济于事,因为IntroText所在的页面是K2类别页面。我还尝试转换开启 HTML格式(默认情况下已关闭),然后排除pbr标记被删除,无效。

经过一些谷歌搜索,我找不到答案,但我承认有一两个我没有尝试(主要是修改PHP文件,我会尝试,如果答案实际上有一些反馈)。所以,如果有人有任何建议或想法,请告诉我,我将不胜感激。如果需要,我可以提供更多详细信息,但目前网站处于脱机状态。如果您希望在网站设置上有更多的说明,我可以帮忙,但我相信我已经添加了所有相关的K2详细信息。

编辑:我还尝试在/~siteDir~/public_html/modules/mod_articles_category/helper.php中注释掉这些行以解决问题,但也无法解决问题。

 $introtext = str_replace('<p>', ' ', $introtext); 
 $introtext = str_replace('</p>', ' ', $introtext); 
 $introtext = strip_tags($introtext, '<a><em><strong>');

EDIT2:我试图删除整个_cleanIntrotext函数及其$item->introtext = self::_cleanIntrotext($item->introtext);的调用,但这也无效......这意味着什么在其他地方也剥离了IntroText?

1 个答案:

答案 0 :(得分:1)

为了在K2内容模块中保留introtext的初始格式,您需要使用两个编辑器创建项目。一个用于introtext,一个用于全文。您还需要在introtext中包含特定数量的单词。这是必要的,因为您在模块设置中无法限制后面的文本字数,因为默认情况下,字数会删除所有html标记以避免破坏页面代码,因为 Introtext字数限制< / strong>字段状态:Introtext word limit Leave blank to diasble. If you enable this option, all html tags from the text will be cleaned up to make sure the html structure of the site does not brake.。因为你事先并不总是知道哪个<p>或其他标签会被打开,所以留下它是一件好事。我这样做了,它对我有用;该模块保留了所有初始格式。因此,总之为了保持格式完整,请将模块的Introtext字限制留空,并在创建文章时单独存储introtext和fulltext。如果您需要更多信息,请告诉我。

修改

同样适用于类别列表。正如我在您的网站上看到的那样,您已在类别设置中设置了introtext的限制。因此,您应该检查哪个类别-parent或child-设置了限制并将其删除。转到Components>K2>Categories点击以修改具有限制的类别(-ies),如果将鼠标悬停在字段标题上,则应该在Item view options in category listings>Introtext word limit中,您将看到有关标记剥离的相同警告工具提示之前提到的。

要将项目创建设置为使用两个编辑者,请转到Componets>K2>Parameters>Advanced>Use one editor window for introtext & fulltext将其设置为No。这样,您的项目就会有两个独立的编辑器。但是,这不是强制性的,如果您不需要,只需单击编辑器下的按钮,即可在文本的任何位置添加Read more个中断。