Autor Thema: Lösung: BBCode per klick einfügen  (Gelesen 10280 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Lösung: BBCode per klick einfügen
« am: Juni 16, 2007, 23:46:23 »
Hallo,

Habe noch ein bißchen mit dem Review-Modul herumgespielt und das ist dabei herausgekommen
(noch nicht ganz fertig)

Eingabeformular:


Ergebnis:


Die Anleitung für den BBCode per klick einfügen gibt es hier http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/

@cru
nachdem ich den OnlineEditor hier nicht verwenden kann ist das doch ein recht brauchbarer Ersatz ? (hoffe ich zumindest  ::))
oder kann es damit auch zu Problemen kommen, an die ich nicht gedacht habe?



Linkback: http://www.shoppilot.net/pf/iboreview/23/seo/881/
« Letzte Änderung: Juni 20, 2007, 19:22:42 von dobra »
mfG
dobra
______________________________
Betreute Shops:
Barrique Einzelhandel
Barrique Großhandel

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Vorschau - Versuch
« Antwort #1 am: Juni 17, 2007, 20:06:21 »
Hallo nochmal,

ein neuer Versuch:

in reviewuser.ipl

        .........
   ##Vorbereiten der Eingabemaske für Bewertungen
   my $temp = qq{
      <form name="formular1" method="post" action="__xxpath__?show$page,__xxsession__,$id2">
        .........
        .........
            <tr>
                  <td colspan="2"><textarea rows="15" cols="85" name="neu" wrap="hard" class="reviewasmall" maxlength="8000"></textarea>
                  </td>
                     <input type="hidden" name="cmd" value="hinzu">
                     <input type="hidden" name="id" value="$id">
                     <input type="hidden" name="item" value="$id">   
                     <input type="hidden" name="neu" value="neu">         
            </tr>   
            <tr>
                  <td  valign="top">Es sind maximal 8000 Zeichen erlaubt &nbsp; &nbsp;
               <a href="http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?show1200004700">Vorschau</a>  &nbsp; &nbsp;</b></td>
                  <td><input type="submit" value="Beitrag abschicken">
                  </td>
            </tr>
                </table>
            </form>
        .........

#Versuch für Vorschauausgabe
sub Vorschau {
   my $vbewe = ssp::get_var_form("neu");   

      #Zeichen ersetzen
      $vbewe =~ s/</&lt;/g;
      $vbewe =~ s/>/&gt;/g;
      ############
      $vbewe =~ s/\[b\]/<b>/g;         ## Ersetzen der vorgefertigten Formatierungs-Tags
      $vbewe =~ s/\[\/b\]/<\/b>/g;      
        .........
        .........
      my $vtmp = qq|
         <br>
         <table>
         <tr>
            <td class="reviewtdtxt" width="90%">$vbewe</td>
         </tr>
         </table>   
      |;
      main::mprint $vtmp;      
}   

Ausgabe auf der Vorschau.html Seite mit

<!--spmacro:include(review_modul/inc/reviewuser.ipl)-->  und
__reviewuser::Vorschau__

ergibt   "undefined"

Was mache ich falsch  ???
« Letzte Änderung: Juni 17, 2007, 20:10:10 von dobra »

Offline cru

  • Jr. Member
  • **
  • Beiträge: 69
  • Lob: 7
Re: Lösung: BBCode per klick einfügen
« Antwort #2 am: Juni 18, 2007, 08:42:19 »
Hallo dobra,

auf den ersten Blick sehe ich nur, dass zum einen die <textarea> den Namen "neu" hat, und dann noch ein hidden <input> mit dem namen "neu" folgt. Namen sollten aber eindeutig sein, also es sollten nicht 2 Formularelemente den selben Namen tragen.

mfg
cru

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Re: Lösung: BBCode per klick einfügen
« Antwort #3 am: Juni 18, 2007, 08:57:13 »
Hallo cru,

Habe das geändert auf
        <input type="hidden" name="vorschau" value="neu">
und
   my $vbewe = ssp::get_var_form("vorschau");

es wird aber weiterhin nur "undefined" ausgegeben.

Irgendwie komme ich mit den Formulardaten übergeben nicht klar  :'(

Offline cru

  • Jr. Member
  • **
  • Beiträge: 69
  • Lob: 7
Re: Lösung: BBCode per klick einfügen
« Antwort #4 am: Juni 18, 2007, 09:00:48 »
Hallo dobra,

<textarea rows="15" cols="85" name="neu" wrap="hard" class="reviewasmall" maxlength="8000"></textarea>
Diese Zeile sollte reichen, was wollen Sie denn mit dem hidden input bewirken?

Hier hat die <textarea> den Namen "neu" und mit ssp::get_var_form('neu') bekommen Sie den Inhalt der Textarea...

mfg
cru

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Re: Lösung: BBCode per klick einfügen
« Antwort #5 am: Juni 18, 2007, 21:38:17 »
EDIT:

Nachdem ich in diesem Fall mit ssp nicht klargekommen bin, habe jetzt eine JS-Lösung für die Vorschaufunktion gefunden
nicht ganz so ideal, wie ich es mir gedacht hatte - aber es funktioniert  :D (freu)

muß das Script jetzt nur noch anpassen (damit auch alle meine eingebauten BBCodes richtig verarbeitet werden)
das ist aber nur noch Schreibarbeit.........

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Vorschau-Funktion
« Antwort #6 am: Juni 19, 2007, 06:29:19 »
Geschafft - alle BBCodes werden in der Vorschau "in echt" dargestellt  ;D
(wer gucken möchte: auf jeder Detailseite - Bewertung, Frage oder Antwort - z.B.: http://www.woll-insel.at/cgi-bin/shop2/iboshop.cgi?showd2720!0,,Bandolino)
einziger Nachteil: funktioniert nur mit aktivem JS

Vielleicht kann mir doch noch jemand beim letzten (kleinen) Problemchen helfen:
ich habe es nicht geschafft, das die Schrift kleiner wird
größer mit
      $bewe =~ s/\[L\]/<FONT size=3>/g;
ja aber nicht kleiner
      $bewe =~ s/\[S\]/<font size=-4>/g; oder <font size=50%> oder <font size=\"-4\"> oder unzählige andere Schreibweisen-Versuche
hat alles nicht funktioniert.
(ist zwar nicht "lebensnotwendig", wäre aber schön, wenn das auch funktionieren würde)
« Letzte Änderung: Juni 19, 2007, 06:54:45 von dobra »

Offline ahe

  • Global Moderator
  • Sr. Member
  • *****
  • Beiträge: 435
  • Lob: 20
Re: Lösung: BBCode per klick einfügen
« Antwort #7 am: Juni 19, 2007, 11:23:12 »
Hallo dobra,

versuchen Sie mal die Schift mittels CSS zu verkleinern

<span style="font-size:smaller;">mein text</span>
MfG ahe

Offline dobra

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1337
  • Lob: 18
    • ShopPilot AT
Re: Lösung: BBCode per klick einfügen
« Antwort #8 am: Juni 19, 2007, 11:53:58 »
DANKE ahe

das funktioniert


xx
Geburtsdatum in Bestellformular einfügen

Begonnen von Floh

3 Antworten
4117 Aufrufe
Letzter Beitrag Juni 30, 2006, 08:14:56
von Floh
xx
Multi-Shop Lösung mit ShopPilot

Begonnen von admin

0 Antworten
2240 Aufrufe
Letzter Beitrag Mai 13, 2014, 12:44:13
von admin
xx
benutzerdefinierte Felder in Kundenkonto - Bestelldetails =>Lösung

Begonnen von dobra

1 Antworten
4853 Aufrufe
Letzter Beitrag Februar 19, 2007, 09:02:25
von dobra