FROM: http://www.yeeach.com/2007/10/13/pligg-%e9%9b%86%e6%88%90wysiwyg-%e7%bc%96%e8%be%91%e5%99%a8tinymce/

由于在自己的个人站点上用pligg来作为网摘工具,因此希望在摘录时候能够直接能够把内容及格式保留下来,而不是单纯的文字介绍,因此用tinymce(用空再试fckeditor)来替代pligg本身的textarea,记录一下集成过程:

 

1、下载tinymce

http://tinymce.moxiecode.com/download.php

2、上传安装tinymce安装包

上传tinymce到服务器pligg安装目录的3rdparty下并解压

tar zxvf tinymce_2_1_2.tgz

cp -r tinymce/jscripts/tiny_mce/ .

3、启用pligg的html标识支持

在pligg的“后台管理”->“设定配置”->”Submit”中设定“HTML tags to allow”的值为如下内容:

<br><font><img><p><a><strong><ul><li><ol><u><em><span><pre><h1><h2><h3><hr><embed>
4、确认pligg采用的模板文件

查看一下templates/templates.tpl,确认使用的模板为yget

<a href = “{$my_pligg_base}/settemplate.php?template=yget“>yget</a><br/>

5、修改pligg的模板文件pligg.tpl

修改pligg的模板文件templates/yget/pligg.tpl,在 {checkForJs} 后添加如下的内容

{if $pagename eq "submit" || $pagename eq "editlink"}
  <script language="javascript" type="text/javascript" src="{$my_pligg_base}/3rdparty/tiny_mce/tiny_mce.js"></
script>
{/if}
6、修改pligg的模板文件submit_step_2.tpl和comment_form.tpl和editlink_edit_center.tpl
修改pligg的模板文件templates/yget/submit_step_2.tpl,templates/yget/editlink_edit_center.tpl,在以上几个文件头的 {config_load file="/libs/lang.conf"} 后添加如下的内容
{literal}
    <script language="javascript" type="text/javascript">
        tinyMCE.init({
            mode : "exact",
            elements : "bodytext,summarytext",
            theme : "advanced",
            plugins : "advimage,advlink,emotions,iespell,insertdatetime,preview,media,visualchars,xhtmlxtras",
            theme_advanced_buttons1 : "bold,italic,underline,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,insertdate,inserttime,|,forecolor,backcolor,|,hr,removeformat,formatselect",
            theme_advanced_buttons2 : "link,unlink,image,media,|,undo,redo,cleanup,|,code,preview",
            theme_advanced_buttons3 : "",
            theme_advanced_toolbar_location : "top",
            theme_advanced_toolbar_align : "left",
            theme_advanced_path_location : "bottom",
            height:"350px",
            width:"550px",
            extended_valid_elements : "a[name|href|target|title|onclick],img[class|src|border=0|alt|title|hspace|vspace|width|height|align|onmouseover|onmouseout|name],hr[class|width|size|noshade],font[face|size|color|style],span[class|align|style]",
            browsers : "msie,gecko,opera,safari"
        });
    </script>
{/literal}

主要注意的几个参数:

  • width及height元素:要修改tinyMCE wysiwyg的输入框大小,可以修改height和width值。
  • elements元素: elements : “bodytext,summarytext” 是指对<textarea name=”bodytext”..>和<textarea name=”summarytext” ..>这样的元素起作用;

tinymce的一些参数说明:

  • mode: textareas/specific_textareas/exact

textareas: 替换当前页的所有textarea为编辑器

specific_textareas: 不是很明白(特定的textarea??),要配合 textarea_trigger使用

exact: 替换指定ID的div或者textarea为编辑器,要配合elements使用。

  • theme: advanced/simple

    advanced: 高级模式,功能比较多一点。(默认)

    simple: 基本模式,只有基本的功能。

  • plugins: advhr/advimage/advlink/contextmenu/emotions/flash/autosave/style/layer/iespell/insertdatetime/paste/preview/print/save/noneditable/spellchecker/searchreplace/table/zoom/directionality/fullscreen/fullpage/inlinepopups/fullpage

    这些是自带的一些插件,看名字基本上都能明白它的功能。在网站上还有一些其它功能的插件,可以自己去下,放在插件目录下就可以了。

    (”-”加上可以让MCE不试图从插件目录加载这个插件,如plugins : “table,contextmenu,paste,-externalplugin”)

  • language: en/zh_cn/zh_cn_utf8……

    设置使用的语言,网站上也有的下,需要注意的是中文简体和繁体都有两种uft8的,要确定你使用的页面的编码。

    (eg:language : “en”)

  • width:

    height:

    设置编辑器的宽度和高度

具体可以参看http://wiki.moxiecode.com/index.php/TinyMCE:Index

7、参考资料:

http://forums.pligg.com/pligg-mods/5124-mod-tinymce-editor-story-submission-step-2-a.html

http://forums.pligg.com/pligg-mods/853-wysiwyg-editor.html