Joomla教程 - K2 - 怎样在Extra Fields中使用编辑器

thumb-joomla-tutorial-viiiix本来呢,是打算找块大点的时间专注完整的念叨一下K2这东东,比如从一个项目案例的角度细细的讲述使用方法啊,窍门啊,一些常见bug的处理啊,模板覆盖啊巴拉巴拉的。可是来,一是发现这样的时间很难找,二是总在想相对“大”的目标,就总不想去做这件事情,好像“构思”和“计划”已经成为自己逃避做事的借口了。我发现这样不好。

所以呢,事情少想,废话少说了,有什么说什么吧,最多到后面汇总一下丢到专题里去。今天我们来看看怎样在K2的Extra Fields中使用所见即所得编辑器。关于“什么是K2”以及一些基本的东东我就8念叨了,官方描述、demo及下载都在这里,将来要说的话是将来的事了。

其实话说K2的Extra Fields功能还是蛮强大的,可以预先定义好使用文本域啊或是下拉列表啊或是链接文字啊等等;只是在应用时总是觉得如果能够有编辑器就好了,那样就可以放图片啦脚本代码啦。之前搜了好久,最后找到一个解决办法(要做核心hack);我们需要修改两个文件。

首先找到下面这个文件

Joomla根路径/administrator/components/com_k2/models/extrafield.php

在164行,将原来的:

$output='<textarea name="K2ExtraField_'.$extraField->id.'" rows="10" cols="40">'.$active.'</textarea>';

替换为:

$editor =& JFactory::getEditor();
$output = $editor->display("K2ExtraField_".$extraField->id."", $active, '550', '400', '60', '20', false);

然后找到下面这个文件

Joomla根路径/administrator/components/com_k2/models/item.php

在462行,将原来的:

$variables = JRequest::get('post');

替换为:

$variables = JRequest::get('post',JREQUEST_ALLOWRAW);

现在我们可以新创建一个Extra Field,为它选择textarea类型,然后到某个内容项目的编辑页面中点击Extra Field标签,可以发现这个新的Extra Field已经是所见即所得编辑器来。搞定。大家平安夜快乐!


收藏与分享