Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
Frage zum Popup ala Smilieinserter
#1
Hallo,

bin gerade dabei ein ein Plugin für einen Tabellengenerator (MyCode) zu schreiben.
Den Code in JavaScript (jquery) habe ich soweit fertig. Alles klappt wunderbar.

Nun möchte ich diesen genauso wie das Popup-Fenster für die Smilies integrieren, komme aber einfach nicht weiter.

D.h. unter den Smilies ([get more]) soll ein zweiter Knopf erscheinen mit dem ein Popup-Fenster geöffnet wird, in dem sich der Generator befindet. Dort schustert man sich seine Tabelle zurecht und auf Knopfdruck soll diese in das Themen-/Antworterstellungsfenster eingefügt werden.

Da ich momentan ziemlich auf dem Schlauch stehe, würde ich mich über Anregungen und Tipps freuen.

P.S.: wie füge ich per sql-Befehl neue Codes in die Datenbank ein.
Dieses hier scheint nicht wirklich zu funktioniere:
Code:
$db->query("INSERT INTO `".TABLE_PREFIX."mycode`  (`title`, `description` , `regex`, `replacement`, `active`, `parseorder`) VALUES ('Table', 'Creates a table', '\[TABLE=(.*?)\](.*?)\[/TABLE\]', '<table cellspacing=\"1px\" cellpadding=\"4px\" width=\"$1%\" align=\"center\">$2<\/table>', 1, 0)");
Helfe wie auch dir geholfen wird.
Zitieren
#2
btw: Warum benutzt du nicht $db->insert_query()?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
Weil ich davon bis jetzt nicht wußte? Wink
Werde mich mal kundig machen. Wird ja erst mein 2tes Plugin, bin noch nicht ganz drin in der Materie.

Irgendwelche Tipps wie ich das Problem mit dem Popup-Fenster lösen könnte?
Helfe wie auch dir geholfen wird.
Zitieren
#4
In einem Popup-Fenster kannst du immer mit opener. auf die Javascript-Funktionen des Hauptfensters zugreifen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Darum geht es mir nicht unbedingt. Ich weiß nicht wo ich welche Hooks ansprechen soll und wie ich die Template am besten einbinde.
Muss ich dafür eine separate php-Datei scheiben (ala tabgen.php), oder reicht es irgendwo ein template einzubinden?
Helfe wie auch dir geholfen wird.
Zitieren
#6
Viele Dateien bieten Hooks an um weitere actions zu definieren, eine eigene Datei (siehe FAQ) geht auch.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
Alles klar, werde mich einlesen. Danke.
Helfe wie auch dir geholfen wird.
Zitieren
#8
Eine Frage hätte ich da noch.

Ausgangssituation:
eingebundenes Template:
Code:
[<a href="#" onclick="MyBB.popupWindow('{$mybb->settings['bburl']}/inc/plugins/tablegenerator.php?action=open', 'TableGenerator', 350, 350);">click me</a>]

in inc/plugins/tablegenerator.php steht dazu folgendes...
PHP-Code:
function tablegenerator_button() {
    global 
$db$mybb$lang$templates$theme$tabgen_button$tabgen_generator;
    
    
$lang->load("tablegenerator");
    
    eval(
"\$tabgen_button .= \"".$templates->get("tg_button")."\";");
    
//########## ACTIONS ##########

    // opens popup
    
if($mybb->input['action'] == "open") {
        
        eval(
"\$tabgen_generator = \"".$templates->get("tg_generator")."\";");
        
output_page($tabgen_generator);
    }


...ganz oben habe ich in der selben Datei stehen:
PHP-Code:
if(!defined("IN_MYBB"))
    die(
"Bow ties are cool."); 

Problem:
klicke ich auf den Link erscheint wie gewünscht das Popup_Fenster mit der Medlung: "Bow ties are cool."

Frage:
Bekomme ich das irgendwie zum laufen, oder benötige ich unbedingt eine separate Datei in "/" (ala misc.php etc.)?
Helfe wie auch dir geholfen wird.
Zitieren
#9
Nimm doch den Hook "misc_start".
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#10
Ich verstehe nicht ganz. Im Plugin greife ich ausschließlich auf: "newreply_end" zu, um den Link einzubinden.

Ich vermute, dass ich mein Plugin "inc/plugins/tablegenerator.php" irgendwie definieren muss. Wie weiß ich allerdings nicht.

Meinst du vielleicht, dass ich zusätzlich auf misc_start zugreifen sollte um von dort aus das Popup zu öffnen?
Hat geklappt. Danke für den Tipp Big Grin
Helfe wie auch dir geholfen wird.
Zitieren