2017-07-23 2 views
0

Je suis intéressé d'intégrer Materializecss avec un thème que je voudrais créer pour MyBB.MyBB Materialise Integration

(Attention: pas fait avant, et de nouveau à php, html et css)

je faisais des progrès raisonnables et je suis en mesure de placer certains éléments Materialise où je veux eux, avec le style que je veux.

Cependant, j'ai frappé un mur de briques, essayez comme je pourrais, je ne peux pas comprendre cela.

Pour le contexte, je suis d'édition, et me concentre sur les boutons Modifier, Supprimer, Répondre etc ..., le bloc principal de code est

postbit Modèles> postbit

<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> 


Et le style semble être manipulé par

global.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; 
} 

Maintenant, la ligne de code qui me cause de se confondre

{$post['button_edit']} 

Ce qui est me confondre est, avec mon expérience limitée, je crois afin de créer un bouton il doit y avoir une déclaration quelque chose comme

<button type="button">Click Me!</button> 

Cependant, il n'y a pas une telle déclaration ici. Si je supprime le code {$ post ['button_edit']}, le bouton est supprimé. Si je mets dans un autre {$ post ['button_edit']} alors j'obtiens un autre bouton d'édition, me menant à croire que la déclaration est construite quelque part et je pense que $ post a quelque chose à voir avec ça.

Après avoir cherché tout ce que je peux penser, je suis arrivé assez sec. Trouvé des références croisées aux traductions de langues et similaires. Donc $ push semble créer le bouton, et aussi fournir le texte dans la bonne langue.

Je trouve un bloc de code qui avait l'air d'espoir dans « jquery.plugins » et « jquery.plugins_e », à la ligne 1030.

  // 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>'; 
     } 

Cela semble être la construction d'une déclaration html, mais je peux » Je n'ai pas trouvé de relation avec mon problème réel (peut-être à cause de l'inexpérience?) J'ai essayé de changer certaines lignes, mais je n'ai pas eu d'effet sur ce que je voulais.

Je veux utiliser des boutons de matériaux partout, et non les boutons standard, et je ne connais pas la meilleure façon d'aborder cela.

Y at-il un moyen de surcharger les boutons par défaut dans un sens ou dans l'autre. Donc les boutons standard sont dirigés vers Materialisze

Je pourrais simplement enlever le {$ post ['button_edit']} et y mettre mon code de matérialisation, mais je ne suis pas sûr de savoir comment j'obtiendrais le texte/la traduction de cette façon.

Je n'ai aucun problème à passer en revue et à éditer beaucoup de modèles et à insérer tous les boutons de matérialisation là où ils doivent l'être, si c'est ce qui doit être fait, mais cela ne semble pas très efficace .

Tout conseil grandement apprécié.

Répondre

0

Toutes les déclarations de bouton existent dans les modèles, il suffit de les trouver.

{$ post ['button_edit']} vous dirigera vers postbit_edit.

En il existe la déclaration de bouton, cela devra être supprimé et le remplacer par le code du bouton se matérialisent, comme

<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> 

Cela devra être fait pour tous les cas où vous voulez remplacer un bouton, pour utiliser celui que vous voulez.

Il n'existe aucun moyen facile de faire en sorte que tous les boutons existants utilisent le bouton matérialiser sans modifier les instances individuelles pour lesquelles vous voulez référencer.