Javascript MyBB物化集成

Javascript MyBB物化集成,javascript,html,css,materialize,mybb,Javascript,Html,Css,Materialize,Mybb,我有兴趣将物化ECS与我想为MyBB创建的主题集成 (免责声明:以前没有这样做过,并且是php、css和html的新手) 我取得了合理的进展,能够将一些物化元素放在我想要的地方,以我想要的风格 然而,我撞到了一堵砖墙,尽管我尽了最大努力,我还是无法理解这一点 对于上下文,我正在编辑,并专注于编辑、删除、回复等按钮,主要代码块是 Postbit模板>Postbit 现在这一行代码让我感到困惑 {$post['button_edit']} 让我困惑的是,以我有限的经验,我相信为了创建一个按钮,需要

我有兴趣将物化ECS与我想为MyBB创建的主题集成

(免责声明:以前没有这样做过,并且是php、css和html的新手)

我取得了合理的进展,能够将一些物化元素放在我想要的地方,以我想要的风格

然而,我撞到了一堵砖墙,尽管我尽了最大努力,我还是无法理解这一点

对于上下文,我正在编辑,并专注于编辑、删除、回复等按钮,主要代码块是

Postbit模板>Postbit

现在这一行代码让我感到困惑

{$post['button_edit']}
让我困惑的是,以我有限的经验,我相信为了创建一个按钮,需要一个类似这样的声明

<button type="button">Click Me!</button>
点击我!
然而,这里没有这样的声明。如果我删除了{$post['button_edit']}代码,那么按钮就会被删除。如果我放入另一个{$post['button_edit']},那么我会得到另一个编辑按钮,这让我相信声明是在某处生成的,我认为$post与此有关

在寻找了所有我能想到的东西之后,我发现自己很枯燥。找到语言翻译等的交叉引用。因此,$push似乎正在创建按钮,并以正确的语言提供文本

我在第1030行的“jquery.plugins”和“jquery.plugins_e”中找到了一段看起来很有希望的代码

            // iterate over each button and create them
        for(i=0, l=buttons.length; i<l; i++){
            v = buttons[i],
            defbtn = stateobj.focus === i || (isNaN(stateobj.focus) && stateobj.defaultButton === i) ? (opts.prefix + 'defaultbutton ' + opts.classes.defaultButton) : '';

            state += '<button class="'+ opts.classes.button +' '+ opts.prefix + 'button '+ defbtn;

            if(typeof v.classes !== "undefined"){
                state += ' '+ ($.isArray(v.classes)? v.classes.join(' ') : v.classes) + ' ';
            }

            state += '" name="' + opts.prefix + '_' + statename + '_button' + v.title.replace(/[^a-z0-9]+/gi,'') + '" value="' + v.value + '">' + v.title + '</button>';
        }
//迭代每个按钮并创建它们

对于(i=0,l=buttons.length;i所有按钮声明都存在于整个模板中,这只是找到它们的一个例子

{$post['button_edit']}将引导您进行postbit_edit

如果存在按钮声明,则需要将其删除并替换为materialize按钮的代码,例如

<a class="waves-effect waves-teal btn-flat">Material Button</a><a class="btn-flat"><i class="material-icons left">edit</i>Edit Post</a>
Material按钮编辑帖子
这将需要为您想要替换按钮的每个实例执行,以使用您想要的具体化按钮

要使所有现有按钮都使用materialize按钮而不修改要引用materialize的各个实例,没有简单的方法

            // iterate over each button and create them
        for(i=0, l=buttons.length; i<l; i++){
            v = buttons[i],
            defbtn = stateobj.focus === i || (isNaN(stateobj.focus) && stateobj.defaultButton === i) ? (opts.prefix + 'defaultbutton ' + opts.classes.defaultButton) : '';

            state += '<button class="'+ opts.classes.button +' '+ opts.prefix + 'button '+ defbtn;

            if(typeof v.classes !== "undefined"){
                state += ' '+ ($.isArray(v.classes)? v.classes.join(' ') : v.classes) + ' ';
            }

            state += '" name="' + opts.prefix + '_' + statename + '_button' + v.title.replace(/[^a-z0-9]+/gi,'') + '" value="' + v.value + '">' + v.title + '</button>';
        }
<a class="waves-effect waves-teal btn-flat">Material Button</a><a class="btn-flat"><i class="material-icons left">edit</i>Edit Post</a>