phpcms后台万能字段活用--挂载js动态修改

本着少改动原平台的原生代码,为了能升级方便.毕竟官方的补丁还是不错的,没必要什么都自己改,自己加.

所以,增加功能时,原则是尽量的不动到原生代码.


发现万能字段可以动态生成html后,就利用它挂载个js,对编辑界面进行一些更改;

如 把select对象的选项改变成另一个网站的数据,或是phpcms无法提供的方式.

动态的隐藏掉某些功能块.方便编辑操作==

只要是不需要对接收步骤进行修改的,只需要在前端显示/编辑时用到的都可以通过本js来动态修改.所以这方便了很多;


如以下代码,就是实现select下拉选项是某一栏目下的文章id.用于文章与文章之间的关联


/*
 * phpcms 资讯模型钩子js文件,页面加载完成才运行,所以,如果有页面内容无法加载完成,就导致本js失效
 * 使用方式
  建立万能字段在里面输入类似以下内容  
<script id="hookJs">document.writeln('<script src="http://qidizi.com/phpcms/modules/chrd/statics/js/article.model.hook.js?r=' + new Date().getTime() + '"><\/script>');</script>
然后里面的选项全部全部否,尽量让此字段不影响编辑,达到加载js目的即可
 */
$('#hookJs').prev().hide();
$(function(){//对专栏id处理
    var clumnId = 'colunm_id';//专栏id字段名,跟模型字段中一致
    if (!$('#' +clumnId).length) return;//字段不存在
    var newColumn = '<span> 专栏 : <select  name="info[' +clumnId+ ']" id="' +clumnId+ '"><option value="' +$('#' +clumnId).val()+ '">初始值</option></select></span>';
    $('#' +clumnId).parent().parent().remove();//把phpcms专栏tr移除
    $(newColumn).insertAfter('#property');//移动专栏到文章属性后面
    var reloadData = function () {
        $.getScript('http://qidizi.com/caches/caches_admin/caches_data/column.json.js', function(){
            
        });    
    }
    $('<input type="button" title="如果没有数据,或是专栏数据发生变更都需要点击这里进行更新js文件后新加载,这些操作是自动的,但是需要人工判断是否需要执行而已" value="刷新专栏数据" id="flashColumnData"/>').insertAfter('#' +clumnId);
    $('#flashColumnData').click(function(){
        var btn = this;
        btn.disabled = true;
        $.get('http://qidizi.com/index.php?m=chrd&c=ajax&a=createColumnJson&r=' + new Date().getTime(), function (data) {
            btn.disabled = false;
            
            if (1 != data*1) {
                return alert('更新失败:' + data);
            }
            
            reloadData();
        });
    });
    reloadData();
    $('#property').change(function(){
        if (10 != this.value * 1) {//文章属性不是专栏,清空专栏选择
            $('#' +clumnId)[0].selectedIndex = 0;//变为 请选择
        }
    });
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值