Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
custem mycode fenster
#1
Hallo Community,
Ich bin grade dabei ein kleines jquery tool für mein Forum zu schreibe.
Nun bin ich dabei angelangt das ich es in das forum für user integrieren möchte für user.
Gibt es in mybb eine funktion die ich mit javascript aufrufe kann das ich mein mycode in das thread gepostet wird wenn das fenster komplet ausgefüllt ist vileicht sogar eine prevwie angezeig wird.
Die documentation hilft mir leider nicht weiter... kennt da jemand einen trick oder muss ich mir da eine eigene jquery funktion für schreiben...

mit freundlichen grüßen:

matthias korn
Zitieren
#2
Kannst du das etwas genauer erklären? Ich weiß leider nicht genau, was du meinst.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Oh sry ich habe das ganze in der schule geschrieben Toungue

Es gibt ja wen ich in einem theme eine Formatierung vornehmen möchte die Buttons oben auf die ich klicken kann. z.b B img etc
Wenn ich auf diese Klicke wird ja in meinen Beitrag der mycode geschrieben und die formatierung gleich in der Textbox angezeigt.
Ich möchte nun quasi einen Button hinzufügen der ein Jquery Popup öffnen in dem man einige Einstellungen vornehmen kann.
Anschließend soll man dann in diesem popup auf den Button apply klicken und es soll dann quasi mein Mycode den ich aus den im popup angegeben Daten erstellt werden und in die Textbox gepostet werden und am besten halt mit der Prevwie wie bei allen anderen Mycodes auch.

ich hoffe so ist es verständlicher was ich meine.

quasi das selbe wie hier
https://www.mybb.de/doku/haeufig-gestell...erstellen/
erstellen eines buttons nur brauche ich halt eine funktion die mir das dann in die Textbox bringt die ich von meinem javascript aufrufen kann
Zitieren
#4
Hallo
so ich habe das eben mal abgescreent welches Fenster ich beim Klick auf mein Button im Editor öffnen soll.
ich möchte das IMG Fenster öffnen und dort meinen Inhalt einfügen also das Fenster mit eigenen Funktionen füllen.
ich hoffe das verdeutlicht mein anliegen
in der sceditor Dokumentation finde ich leider nichts
   
Zitieren
#5
Könnte dir dies
https://www.mybb.de/erweiterungen/18x/pl...t-command/
oder dies
https://www.mybb.de/erweiterungen/18x/pl...t-buttons/
weiter helfen ?
Mit freundlichen Grüßen

MrBrechreiz
Zitieren
#6
mh hallo,
leider hilft mir das auch nur bedingt weiter ich habe versucht nach dieser Dokumentation mal etwas einzubauen bin allerdings immer noch am tüfteln warum alle mycodes verschwinden wen ich es einbaue.

http://www.sceditor.com/posts/how-to-add...-commands/

es muss irgendwas mit
Code:
editor.createDropDown(caller, "header-picker", $content);
zutun haben aber ka was ich da weiter machen muss
Zitieren
#7
Hallo,
Ich habe es nun soweit hinbekommen wie ich es wollte.
Die Plugins haben mir geholfen nach 2 tagen probieren sieht mein Code nun so aus.

Code:
$.sceditor.command.set('insert', {
_dropDown: function (editor, caller, html) {
var content;

/* content = $(
'<div>' +
'<label for="insertype">' + editor._('Einfügen...') + '</label> ' +
'<select id="insertype">' +
'<option value="null" data-desc="no">' + editor._('---------') + '</option>' +
'</select>' +
'</div>' +
'<div id="desc" style="display: none">' +
'<label for="des">' + editor._('Description (optional):') + '</label> ' +
'<input type="text" id="des" />' +
'</div>' +
'<div><input type="button" class="button" value="' + editor._('Insert') + '" /></div>'
);*/
content = $(
'<label for="insertype">Buildcode eingeben</label> ' +
'<input type="text" placeholder="build code hier"  id="editor_build" />' +
'<div class="editor_gw1_klassen">Keine Klasse</div>'+
'<div class="editor_gw1_attri">Keine Attribute</div>' +
'<div>'+
               '<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_1">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_2">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_3">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_4">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_5">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_6">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_7">'+
'<img src="images/gw1_skill/No_Skill.jpg" class="editor_gw1_skill editor_gw1_skill_8">'+
'</div>'+
'</div>'+
'<div><input type="button" class="button" value="' + editor._('Insert') + '" /></div>'
);


$('input').sceditor('instance').bind('keyup', function(e) {
skill_build1 = $( "#editor_build" ).val();
//alert(skill_build1);
changeeditorui(skill_build1);
});




content.find('.button').click(function (e) {
insertype = content.find('#insertype').val();
description = content.find('#des').val();
before = '[build]' + skill_build1;
end = '[/build]';

if (insertype === "null") {
editor.closeDropDown(true);
return;
}

if (description) {
descriptionAttr = '=' + description + '';
before = '[' + insertype + ''+ descriptionAttr +']';
}

if (html) {
before = before + html + end;
end   = null;
}

editor.insert(before, end);
editor.closeDropDown(true);
e.preventDefault();
});

editor.createDropDown(caller, 'insertcommand', content);
},
exec: function (caller) {
$.sceditor.command.get('insert')._dropDown(this, caller);
},
txtExec: function (caller) {
$.sceditor.command.get('insert')._dropDown(this, caller);
},
tooltip: 'Einfügen...'
});

er ist natürlich dem plugin noch sehr ähnlich da ich noch am testen bin.
nun habe ich aber ein Problem wo ich nach Stunden googeln und probieren keine Lösung finde.
Nur viele Anlaufstellen die nicht funktionieren.

und zwar möchte ich eine live prevewie im Editor haben d.h das nicht dort steht [build]yyy[/build]
sondern das wie es nachher aussieht.
also quasi die Wysiwyg Funktion.

ich habe nun im internet gefunden das man es mit
wysiwygEditorInsertHtml
exec:
oder mit
html: 'html tags',
erreichen kann.
kann mir jemand sagen wie ich das einbinden kann.
ich rufe eine javascript Funktion mit dem mycode auf die ich geschrieben habe.

Vielen Dank im voraus.
und einen Schönen sonnigen Sonntag

Matthias
Zitieren
#8
Für WYSIWYG muss ein BBCode angelegt werden: http://www.sceditor.com/documentation/custom-bbcodes/
Am besten schaust du dir die bbcodes_sceditor.js des MyBB an, dort gibt diverse Beispiele; einfacher und auch kompliziertere.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
Hallo,
Danke Stefan.
das heist ja dann eigentlich nur das ich oben


das hier noch einfügen muss oder ?
also für mich angepasst.

Code:
$.sceditor.plugins.bbcode.bbcode.set('php', {
allowsEmpty: true,
isInline: false,
allowedChildren: ['#', '#newline'],
format: '[php]{0}[/php]',
html: '<code class="phpcodeblock">{0}</code>'
});



was ich nun leider nicht so ganz verstehe ist dieses {0} das steht ja für den dort einzutragenden wert.

aber woher bekommt mybb diesen wert nun.
Zitieren
#10
Das steht in der Dokumentation des SCEditors, die ich ja verlinkt haben:
Zitat:Should be either a string in the format "<strong>{0}</strong>" where {0} will be replaced with the HTML tags content.[...]
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren