wp-monalisa in dmsGuestbook integrieren

Liese, richtete die Frage an mich, ob man wp-monalisa eigentlich auch mit dem dmsguestbook verwenden könne. Nach Durchsicht des dmsguestbook Plugins haben wir einen Weg gefunden, dies mit relativ wenig Aufwand zu erreichen.

Zuerst die Änderungen, die notwendig sind um die Smilies in das Formular
zu integrieren:

Unter dmsguestbook/template/form habe ich die Datei default.tpl kopiert
und ihr den namen liese.tpl gegeben. Damit erzeugt man ein neues Template zur Formulargestaltung.

Die Zeile für var_form6 habe ich wie folgt angepasst:

$var_form6 = "
				<!-- message field -->
				<div class='css_form_textfieldspace'>
				$countchars[3]
				$countchars[1]
				<textarea class='css_form_messagefield'
name='gbmsg' id='comment' rows='0' cols='0'
$countchars[0]>$gbmsg</textarea> <b class='css_form_text'>&nbsp;$lang_message $var_mandatory_char</b></div>
 
				<!-- require text and the requirement
				char --> <div style='text-align:left;'><b class='css_form_text'>$var_mandatory_char
				$lang_require</b></div> <br /> ";

Dabei wird nur das id=’comment‘ ergänzt, damit wp-monalisa auch das Textfeld finden kann.

Anschließend muss das Template im Adminbereich von dmsguestbook (Guestbook settings / Extended / Form Template) ausgesucht und die Einstellungen gespeichert werden.

In der Datei dmsguestbook.php nimmt man eine Zeile zur Ausgab der Smilies auf.

	echo $var_form6;
 
	wpml_comment();

In diesem Fall werden die Smilies unterhalb der Textarea ausgegeben. Platziert man die Zeile an einem anderen Platz, kann man bestimmen wo die Smilies angezeigt werden.

Update für Version 1.17.1 von dmsGuestbook:
Für neuere Versionen von dmsGuestbook bitte die zweite der folgenden Zeilen nach der ersten Zeile einfügen.
In der Version 1.17.1 findet man das in der Originalversion bei Zeile 700.

	$DMSGuestbookContent .= $var_form6;
	$DMSGuestbookContent .= get_wpml_comment();

Jetzt werden die Smilies schon angezeigt und durch Klick in die Textarea geschrieben (wp-monalisa sollte ersetzte emoticons durch html img deaktiviert haben, da dmsguestbook standardmäßig keine img-Tags zulässt)

Im zweiten Schritt muss jetzt noch die Ausgabe von dmsguestbook darauf angepasst werden, die Smillies auch auszugeben. Dazu ergänzen wir die Anzeige von dmsguestbook um die Konvertierungsfunktion von wp-monalisa in der Datei dmsguestbook.php

	// remove quote /
		$message_name=stripslashes(htmlspecialchars($dbresult->name,
	ENT_QUOTES)); $message_text=stripslashes($dbresult->message);
		$message_text=wpml_convert_emoticons($dbresult->message);
		$additional_text=stripslashes(htmlspecialchars($dbresult->additional,
	ENT_QUOTES));

Neu ist der Aufruf der Funktion wpml_convert_emoticons.
Nun, Liese hat es getestet und wissen lassen das es klappt.
Wir hoffen ihr habt Spaß damit.

Dennoch immer sichern, bevor man loslegt, der Teufel ist schließlich ein Eichhörnchen. ;-)

Kommentare

  1. Rudi:

    Hallo!
    Super Anleitung, hat alles wunderbar geklappt und funktioniert. :good: Vielen Dank!
    Auch Monalisa ist duraus attraktiv und nett anzusehen.
    Eine Kleinigkeit ist mir aufgefallen. Hat man im DMS GB Captcha aktiv und man gibt versehentlich die falschen Zeichen ein, wandeln sich die Smilies in einen Link (URL) um. Gibt man danach nochmal die richtige Zeichenkombination ein und sendet, werden die Smilies (also die jetzt im Textfeld stehenden Links) nicht im Eintrag als Smilie angezeigt. Es erscheint nur der Text ohne Smilie oder Link.
    Kann man da mit einer kleinen php Ergänzungszeile vielleicht Abhilfe schaffen?
    Ich kann leider nur suchen, kopieren und einfügen. Von php selbst hab ich leider keinen blassen Dunst.
    Vielen Dank und Beste Grüße
    Rudi

    Antworten

    • tuxlog:

      Hallo Rudi,

      schön wenn die wp-monalisa gefällt. Ich schaue mir das Problem mal an und sehe was man tun kann.

      Gruß, Hans

      Antworten

    • tuxlog:

      Hallo Rudi,

      am Einfachsten ist es wenn Du in der Datei dmsguestbook.php die Stelle suchst:

      /* remove all html tags from message field */
      $_REQUEST['gbmsg'] = strip_tags($_REQUEST['gbmsg']);

      und durch

      /* remove all html tags from message field */
      $_REQUEST['gbmsg'] = strip_tags($_REQUEST['gbmsg'], '');

      ersetzt. Damit werden img Tags nicht mehr entfernt. Das gilt dann allerdings für alle img Tags.

      Gruß, Hans

      Antworten

      • Rudi:

        Hallo Hans,
        jetzt hatte ich endlich Zeit, die kleine Anpassung durch zu führen.
        Vielen Dank für Deine Unterstützung, astreiner Service!
        Es funktioniert, bei falscher Antwort erscheinen zwar die Tags im Textfeld, werden beim absenden aber entfernt. Der Eintrag wir dann ohne Smilie angezeigt. Ist zwar nicht die optimale Lösung aber damit lässt sich leben.
        Danke und Beste Grüße

        Rudi

      • Rudi:

        Servus Hans,
        vielen Dank für Deine Unterstützung. Hat zwar noch einen Schönheitsfehler aber klappt im Prinzip gut. Die Links sind zwar nach aktualisieren immer noch da, werden aber nicht mehr in den Gästebucheintrag übernommen. Somit erfüllt es seinen Zweck. Vielen Dank und Beste Grüße Rudi :good:

  2. Ursula:

    Die Anleitung funktioniert immer noch bestens – vielen lieben Dank dafür :rose: :good:

    Antworten

  3. Pascal:

    Hallo
    Ich schaffs es irgendwie nicht. Die Icon Leiste habe ich im Gästebuchformular drin, aber die Icons können nicht normal eingefügt werden. Statt der Icons kommen nur :bye: usw. Was habe ich übersehen?
    Danke für Eure Hilfe.

    Gruess Pascal

    Antworten

    • webmaster:

      Hallo Pascal,

      funktioniert alles wie es soll auf deiner Seite. Wenn Du auf die Smilies klickst, dann wird das bye in die Textarea geschrieben. Wenn der Kommentar abgeschickt wird, dann siehst du das Icon. Habe es gerade in deinem Gästebuch ausprobiert. Wenn du die Option „Ersetze Emoticons durch HTML Images“ aktivierst, dann wird die Url des Icons angezeigt. Ich persönlich finde das stört den Textfluss, aber das ist Geschmackssache.

      Viel Spaß mit wp-monalisa, Hans

      Antworten

      • Pascal:

        Das nennt man Top Support!!! Demnach bin irgendwie auf dem Schlauch gestanden… Aber ist richtig, dass die Smilies im entsprechenden Widget vom Gästebuch in der Sidebar nicht angezeigt wird. Oder ist das irgendwie machbar?

        Gruess und noch einmal ein Grosses Dankeschön.

        Pascal

      • webmaster:

        Hallo Pascal,

        ich schau mal, wenn du mir verrätst welche Plugin Du für das Gästebuch verwendest.

        Gruß, Hans

  4. Michi:

    Servus,

    hab es ebenfalls probiert die Smilies einzufügen, allerdings bekomme ich es irgendwie nicht auf die Reihe da ich wirklich PHP mäßig so gut wie keine Ahnung habe!

    Wo genau in welche Zeile muss ich denn das einfügen??

    echo $var_form6;

    wpml_comment();

    Wenn ich dies irgendwo einfüge bringt er mir immer einen Fatal Error…. Leider ist es auch nicht ersichtlich wo man es einfügen musst da du nur von einer Textarea schreibst. Wahrscheinlich ist es ersichtlich aber durch meine nicht vorhandenen PHP Kenntnisse leider nicht!

    Ist dies auch korrekt eingefügt?

    if($gbadditional_raw !=““) {
    $gbadditional_selectbox .= „“ . $gbadditional_raw . „“;
    $DMSGuestbookContent .= $var_form6;
    $DMSGuestbookContent .= get_wpml_comment();
    }

    Wäre super wenn du mir da kurz helfen könntest. Vielen Dank schonmal!

    Antworten

    • webmaster:

      hallo Michi,

      du musst in der dmsguestbook.php nach der zeile „$DMSGuestbookContent .= $var_form6;“ die zeile „$DMSGuestbookContent .= get_wpml_comment();“ einfügen. Und nach der zeile „$message_text=stripslashes($dbresult->message);“ die zeile „$message_text=wpml_convert_emoticons($dbresult->message);“ ergänzen. Dies gilt ab der version 1.17.1.

      Hoffe es hilft, Hans

      Antworten

      • Michi:

        Servus Hans,

        bin jetzt erst dazu gekommen das ganze anzupassen und ich bekomme es nicht hin…. Hab es nun genauso gemacht wie du bereits oben geschrieben hast kommt aber immer Fehlermeldung und das ganze Gästebuch funktioniert nicht mehr!

        Fatal error: Call to undefined function get_wpml_comment() in /kunden/207479_93083/wordpress/wp-content/plugins/dmsguestbook/dmsguestbook.php on line 753

      • webmaster:

        Hallo Michi,

        ich habe es gerade noch einmal für die Version 1.7.3 ausprobiert und hier klappte es sofort. Allerdings ist es jetzt die Zeile 752, aber das hast du richtig gemacht, wie mir deine Fehlermeldung verrät. Funktioniert den wp-monalisa auf den anderen Seiten ganz normal?

        Gruß, Hans

      • Michi:

        Waaaaahhhhhh Hans,
        es funktioniert…. Ich darf dir gar nicht sagen an was es lag! Unfähigkeit von mir….

        Nachdem ich das ganze nochmal durchgelesen habe bin ich darauf gekommen dass ich das Plugin noch nicht aktiviert hatte…. HAHA!!!

        Danke nochmal für deine schnelle Hilfe!

  5. Marco:

    Bei mir hat alles soweit geklappt, nur wird sie Smilieleiste ausserhalb des textfeldes angezeigt und nicht über der captcha nachricht.

    Ich habe den code schon an diversen stellen eingefügt, aber bislang leider ohne erfolg..

    hast du eine idee?

    WB 3.3.1
    dms guestbook 1.17.1
    monalisa 1.7

    vielen dank

    Antworten

    • webmaster:

      Hallo Marco,

      da scheint sich etwas geändert zu haben in der v1.17.1 von dms guestbook. Bei mir klappt es, wenn du nach der Zeile 700: $DMSGuestbookContent .= $var_form6;, die Zeile $DMSGuestbookContent .= get_wpml_comment(); in der Datei dmsguestbook.php einfügst.

      Ich ergänze es auch gleich noch im Post.

      Gruß, Hans

      Antworten

    • Marco:

      Hi,

      vielen Dank für die schnelle Hilfe, das war es, funktioniert einwandfrei..

      Top!

      Eine kleine Anmerkung hätte ich da noch, denn ich finde man kann nicht genau sehen das man quasi nur den unteren Teil der 2 Zeilen einfügen braucht ($DMSGuestbookContent .= get_wpml_comment();), und zwar direkt unter den anderen Code unabhänig von der Zeile, bei mir hatte ich beispielsweise im oberen Bereich für mich noch einen Hinweis eingefügt (versteckt) und deshalb war das bei mir in Zeile 706 :scratch:

      nochmals dankeschön..

      Antworten

  6. Tina:

    Hallo Hans,

    wollte mich nur nochmal für die Hilfe bedanken, jetzt klappt die Smiliefunktion im Gästebuch einwandfrei :good:

    LG Tina

    Antworten

  7. Tina:

    Hallo, ich habe mich auch daran versucht die Smilies in das Gästebuch einzubauen. Beim zweiten Schritt der Ausgabe scheint sich das Eichhörnchen (der Fehler) eingeschlichen zu haben. Im Nachrichtenfeld wird z.B. statt des Smiliebildes nur : smile : angezeigt.

    Ich bin mir auch nicht sicher ob ich die Funktion richtig eingesetzt habe. Habe WP seit knapp 2 Wochen und noch nicht so die echte Ahnung. Aber vielleicht kannst du mir ja weiterhelfen.

    Das würde mich echt feuen :-)

    viele Grüße
    Tina

    Antworten

    • webmaster:

      hallo Tina,
      na, angezeigt werden die smilies ja schon mal und eingefügt auch. schick mir doch mal deine angepasste dmsguestbook.php ich schau mal, ob ich den fehler finde oder sag mir welche version von dmsguestbook du verwendest, dann mache ich die anpassung fuer dich.

      lg hans

      Antworten

  8. Corel:

    Danke für deine Hilfe!

    Der Fehler saß wieder einmal zwischen Stuhl und Monitor! :scratch:

    Ich hatte vergessen „Ersetze Emoticons durch HTML Images“ zu deaktivieren!
    Nun geht alles wie am Schnürchen!

    dennoch vielen Dank!

    Antworten

  9. Corel:

    Klar!

    Also:

    WordPress Version. 2.8.4 DE_Version
    DMSGB 1.15.2 DE-Edition
    Theme: Awetex

    Schonmal vorweg, vielen Dank!

    Antworten

    • webmaster:

      hallo Corel,
      ich habe gerade mit den genannte versionen getestet und bei mir klappt es. mir ist aber auf deiner webseite aufgefallen, dass dort ein javascript fehler auftritt, der auf eine undefinierte javascript funktion deutet, die nichts mit monalisa zu tun hat. ansonsten sieht die seite eigentlich sauber aus. kannst du denn code/das plugin das den fehler verursacht abstellen und nochmal probieren bitte (ist irgendwas mit die_ie_…). die eigentliche javascript funktion von wpml wird so wie es aussieht gar nicht aufgerufen, wenn man drauf klickt.

      Antworten

  10. Corel:

    Hallo!

    Erstmal vielen dank für die Anleitung!
    Jetzt kann ich zwar Emotes per Texteingabe eintragen und anzeigen lassen, aber wenn ich Auf die Icons unter der Textbox klicke, wird der entsprechende Verweis nicht angezeigt…

    Die ID der textarea ist auch ‚comment‘, aber das script scheint Sie dennoch nicht zu finden.

    Für einen Rat wäre ich sehr dankbar! :cry:

    euer Corel

    Antworten

    • webmaster:

      hallo Corel,
      damit ich das problem nachstellen kann, wäre es supi, wenn du mir noch die version von dmsguestbook und wordpress und dein theme verraten würdest.

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

:bye: 
:good: 
:negative: 
:scratch: 
:wacko: 
:yahoo: 
B-) 
mehr...
 
ALL-INKL.COM - Webhosting Server Hosting Domain Provider Blogverzeichnis - Blog Verzeichnis bloggerei.de