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

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

		$js=<<<EOF
		var 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.效果图

Yii-kindediter-模板编辑,插入预定义变量_第1张图片

你可能感兴趣的:(jquery,模板编辑,Yii-kindediter,插入预定义变量)