Yii-kindediter-模板编辑,插入预定义变量

来源:互联网 发布:城中大盗 知乎 编辑:程序博客网 时间:2024/06/06 13:04

1.修改YIi扩展目录下的Kdeditor.php 文件,把中的js对象声明放到方法外面

$js=<<<EOFvar editor_$this->id;KindEditor.ready(function(K) { editor_$this->id = K.create('#$this->id', $properties_string);});EOF;

2.视图文件代码

<li class="c_f"><span class="tit">模板变量:</span><div class="cont f_l"><?php foreach($templateVar as $key=>$val){?><span class="template_var" val="<?php echo $val?>"> <?php echo $key?> </span><?php }?></div></li> 
<script type="text/javascript">$('.template_var').bind('click',function(){var str = $(this).attr('val');editor_EmailTemplates_zee_content.insertHtml(str);//editor_EmailTemplates_zee_content js编辑器对象名称});</script>

3.模型文件,后期处理

/** * 获取模板变量 */public function getVarUbb($type=null){if($type==null){return array('{username}'=>'{username}','{url}'=>'{url}','{sitename}'=>'{sitename}',);}}/** * 模板变量替换 */public function replaceVarUbb($str){$str = str_replace('{username}','<?php echo $params["username"]; ?>',$str);$str = str_replace('{url}','<?php echo $params["url"]; ?>',$str);$str = str_replace('{sitename}','<?php echo Yii::app()->name; ?>',$str);return $str;}/** * 模板保存后的操作 * 写入模板文件 */protected function afterSave(){$templatePath = Yii::app()->mailer->pathViews;$templatePath = str_replace('application','',$templatePath);$templatePath = str_replace('.','/',$templatePath);$templatePath = Yii::app()->basePath.$templatePath.'/';$templatePath = $templatePath.$this->zee_filename.'.php';$handle = fopen($templatePath, "wb");fwrite($handle, $this->replaceVarUbb($this->zee_content));fclose($handle);}


4.效果图


原创粉丝点击