Shopsystem ShopPilot

ShopPilot => Online-Module => IBOReview => Thema gestartet von: dobra am Juni 16, 2007, 23:46:23

Titel: Lösung: BBCode per klick einfügen
Beitrag von: dobra 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:
(http://www.woll-insel.at/Bilder/bbc1.gif)

Ergebnis:
(http://www.woll-insel.at/Bilder/bbc2.gif)

Die Anleitung für den BBCode per klick einfügen gibt es hier http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/ (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?

Titel: Vorschau - Versuch
Beitrag von: dobra 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  ???
Titel: Re: Lösung: BBCode per klick einfügen
Beitrag von: cru 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
Titel: Re: Lösung: BBCode per klick einfügen
Beitrag von: dobra 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  :'(
Titel: Re: Lösung: BBCode per klick einfügen
Beitrag von: cru 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
Titel: Re: Lösung: BBCode per klick einfügen
Beitrag von: dobra 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.........
Titel: Vorschau-Funktion
Beitrag von: dobra 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 (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)
Titel: Re: Lösung: BBCode per klick einfügen
Beitrag von: ahe 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>
Titel: Re: Lösung: BBCode per klick einfügen
Beitrag von: dobra am Juni 19, 2007, 11:53:58
DANKE ahe

das funktioniert