当前位置:编程学习 > php >>

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

1.修改YIi扩展目录下的Kdeditor.php 文件,把中的js对象声明放到方法外面
[html]  
$js=<<<EOF  
var editor_$this->id;  
KindEditor.ready(function(K) {  
     editor_$this->id = K.create('#$this->id',   
$properties_string  
    );  
});  
F;  
 
2.视图文件代码
[html]  
<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>   
[html]  
<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.模型文件,后期处理
[html]  
/**  
 * 获取模板变量  
 */  
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.效果图
补充:Web开发 , php ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,