我有兴趣将Materializecss与我想为MyBB创建的主题集成在一起。
(免责声明:以前没有这样做过,并且是php,css和html的新手(
我取得了合理的进展,并且能够以我想要的样式将一些Materialize元素放置在我想要的地方。
但是,我已经碰到了一堵砖墙,尽我所能,我无法弄清楚这一点。
对于上下文,我正在编辑,并专注于按钮编辑,删除,回复等...,主要代码块是
后位模板> 后位
<div class="post_controls_default">
<div class="postbit_buttons author_buttons float_left">
{$post['button_www']}{$post['button_pm']}{$post['button_rep']}
</div>
<a class="waves-effect waves-teal ban-flat">Material Button</a>
<a class="btn-flat"><i class="material-icons left">edit</i>Edit Post</a>
<p>
<input type="checkbox" class="filled-in" id="test5" />
<label for="test5">Material Checkbox</label>
</p>
<div class="postbit_buttons post_management_buttons float_right">
{$post['button_edit']}{$post['button_quickdelete']}{$post['button_quickrestore']}{$post['button_quote']}{$post['button_multiquote']}{$post['button_report']}{$post['button_warn']}{$post['button_purgespammer']}{$post['button_reply_pm']}{$post['button_replyall_pm']}{$post['button_forward_pm']}{$post['button_delete_pm']}
</div>
样式似乎由
全球.css
.postbit_buttons > a:active {
display: inline-block;
color: #2c82c9;
padding: 7px 16px 7px 14px;
margin: 5px 2px 2px;
font-size: 12px;
border: 1px solid #bed3e4;
}
现在让我感到困惑的代码行
{$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>';
}
这似乎是在构建一个 html 声明,但我找不到与我的实际问题有任何关系(也许是因为缺乏经验?我尝试更改 ,js 代码中的一些行以查看它有什么效果,但对我想要的东西没有影响。
我想始终使用材质按钮,而不是标准按钮,并且不知道解决此问题的最佳方法。
有没有办法以某种方式覆盖默认按钮。所以标准按钮被定向到Materialisze
我可以删除 {$post['button_edit']} 并将我的 materialise 代码放在那里,但我不确定如何以这种方式获得文本/翻译。
如果这是需要的方式,那么浏览和编辑大量模板并将所有具体化按钮插入到需要的位置没有任何问题,但它似乎效率不高。
任何建议都非常感谢。
所有按钮声明都存在于整个模板中,只是找到它们的情况。
{$post['button_edit']} 将引导您进入postbit_edit。
在存在按钮声明中,需要将其删除并替换为具体化按钮的代码,例如
<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>
对于要替换按钮的每个实例,都需要执行此操作,以使用所需的具体化按钮。
没有简单的方法可以使所有现有按钮使用具体化按钮,而无需修改要引用具体化的各个实例。