loop & bedingte Formatierung - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 16:07.
    loop & bedingte Formatierung

      Kann man - bzw. wie kann man - bei einer Datenausgabe mit <loop> die Ausgabe ja nach inhalt formatieren?

      Mein Beispiel:

      Die db enthält verschiedene Felder für News-Meldungen, darunter ein Feld (radiobutton) "Publik", das auf "extern" oder "intern" gesetzt werden kann. Nun soll bei einer Listenausgabe mit <loop> der Inhalt des Feldes "Publik" mit ausgegeben werden, wobei "extern" grün sein soll und "intern" soll rot sein.

      Nachdem ich mir diese Sprache mal angeschaut habe (ist glaube ich inzwischen die fünfte ...) habe ich folgendes Script erstellt:

      -------------------

      <loop db=/neuigkeiten>
      

      <perl>
      if  ($Publik = intern) {     
      print "<span style="color:red">$Publik</span>\n";  
      }
      else { 
      print "<span style="color:green">$Publik</span>\n";  
      }
      <perl>
      

      <div>$Titel</div>
      <div>$Minitext</div>
      <div>$Text</div>
      

      </loop>

      -----------------------------

      Verschiedenste Variationen der IF-Anweisung ergeben alle dieselbe (schrottige) Ausgabe. Schätze also, das das Problem in der Einbindung des Perl-Codes in die loop-Schleife liegt.

      Wie macht man sowas richtig??


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 16:07.
    loop & bedingte Formatierung

      Kann man - bzw. wie kann man - bei einer Datenausgabe mit <loop> die Ausgabe ja nach inhalt formatieren?

      Mein Beispiel:

      Die db enthält verschiedene Felder für News-Meldungen, darunter ein Feld (radiobutton) "Publik", das auf "extern" oder "intern" gesetzt werden kann. Nun soll bei einer Listenausgabe mit <loop> der Inhalt des Feldes "Publik" mit ausgegeben werden, wobei "extern" grün sein soll und "intern" soll rot sein.

      Nachdem ich mir diese Sprache mal angeschaut habe (ist glaube ich inzwischen die fünfte ...) habe ich folgendes Script erstellt:

      -------------------

      <loop db=/neuigkeiten>
      

      <perl>
      if  ($Publik = intern) {     
      print "<span style="color:red">$Publik</span>\n";  
      }
      else { 
      print "<span style="color:green">$Publik</span>\n";  
      }
      <perl>
      

      <div>$Titel</div>
      <div>$Minitext</div>
      <div>$Text</div>
      

      </loop>

      -----------------------------

      Verschiedenste Variationen der IF-Anweisung ergeben alle dieselbe (schrottige) Ausgabe. Schätze also, das das Problem in der Einbindung des Perl-Codes in die loop-Schleife liegt.

      Wie macht man sowas richtig??

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 16:21. WWW: hammoniaweb.com
    Re: loop &amp; bedingte Formatierung

      print ist bei baseportal nicht sondern dafür gibt es out, sthet alles in der Doku...;)

      siehe:


      http://doku.baseportal.de/93.html

      und

      http://doku.baseportal.de/55.html




      <loop db=neuigkeiten code=perl>
      if  ($Publik = intern) {     
      out "<span style="color:red">$Publik</span>\n";  
      }
      else { 
      out "<span style="color:green">$Publik</span>\n";  
      }
      <div>$Titel</div>
      

      <div>$Minitext</div>
      <div>$Text</div>
      </loop>
      





      alternativ kannst du das auch mit get machen, siehe Doku:

      http://doku.baseportal.de/1393.html

      <perl>
      get "Vorname==_", "neuigkeiten";
      while(get_next("neuigkeiten"))
      {
      

      if ($Publik = intern) {
      out "<span style="color:red">$Publik</span>\n";  
      }
      else { 
      out "<span style="color:green">$Publik</span>\n";  
      }
      <div>$Titel</div>
      

      <div>$Minitext</div>
      <div>$Text</div>
      }
      </perl>
      


      wie gesagt, die Doku ist dein Freund...;)

      http://doku.baseportal.de/


      hth

      Gruesse

      Claus

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 17:58.
    Re: Re: loop &amp;amp; bedingte Formatierung

      A propos: die Doku ist dein Freund:

      Die Doku ist IMHO in den letzten Jahren deutlich besser geworden - aber gut ist anders ...

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 16:24. WWW: hammoniaweb.com
    Re: loop &amp; bedingte Formatierung

      Hatte ich noch vergessen....

      wenn Du in out " verwendest, dann maskieren

      also z.B.

      out"<span style=\"color:red\">$Publik</span><br>";  
      

      wie gesagt, die Doku ist dein Freund...

      Gruesse

      Claus

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 17:55.
    Re: Re: loop &amp;amp; bedingte Formatierung

      Ich hab mich an die Strukturen gehalten, die ich bei SELFHTML gefunden habe. Wollte es halt besonders einfach gestalten - klar geht es auch kompliziert.

      Mit "out" geht es allerdings auch nicht.

      Falls hier keine andere Idee kommt muss ich es wohl doch mit "get" machen ...

      Hhhhmmmmmmppffffffff ..............

      :-{

     Antworten

    Beitrag von Vergleichsoperatoren in Perl (1 Beitrag) am Montag, 11.Februar.2013, 18:01.
    Re: Re: loop &amp; bedingte Formatierung

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 18:10.
    Re: Re: Re: loop &amp;amp; bedingte Formatierung

      "eq" statt "=" hat keine Verbesserung gebracht. Es wird immer in irgendeiner Form ein Teil der Schleife angezeigt.


      Hier ist der Quelltext:

       <loop db=/neuigkeiten>
       
       <perl>
       if  ($Publik eq intern) {     
       print "<span style="color:red">$Publik</span><br>";  
       }
       else { 
       print "<span style="color:green">$Publik</span><br>";  
       }
       <perl>
       
       <div>$Titel</div>
       <div>$Minitext</div>
       <div>$Text</div>
       
       </loop>
      

      Und so sieht's aus:

      http://de3.netpure.de/cgi-bin/baseportal.pl?htx=/MSG/newspage_int

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 18:11. WWW: hammoniaweb.com
    Re: Re: Re: loop &amp;amp;amp; bedingte Formatierung

      Hatte nur mal deinen, übrigns falschen Kram da als Beispiel eingebaut. Die entsprechende Syntax habe ich dabei nicht groß berücksichtigt....

      jetzt mal grob angepasst, ohne Gewähr und ungetestet, den richtigen Pfad, falls die db in einem anderen Verzeichnis liegt, bitte entsprechend anpassen:

      Steht alles in der Doku......


      <loop db=neuigkeiten code=perl>
      

      if ("$Publik eq "intern") {
      out "<span style=\"color:red\">$Publik</span><br>";  
      }
      else { 
      out "<span style=\"color:green\">$Publik</span><br>";  
      }
      out"<div>$Titel</div>";
      out"<div>$Minitext</div>";
      

      out"<div>$Text</div>";
      </loop>
      


      Wie gesagt, ansonsten siehe Doku....


      hth

      Gruesse


      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 18:13. WWW: hammoniaweb.com
    Re: Re: Re: Re: loop &amp;amp;amp;amp; bedingte Formatierung

      jetzt selbst vertippt...., also so:


      <loop db=neuigkeiten code=perl>
      if ($Publik eq "intern")
      {
      out "<span style=\"color:red\">$Publik</span><br>";  
      }
      else
      { 
      out "<span style=\"color:green\">$Publik</span><br>";  
      }
      out"<div>$Titel</div>";
      out"<div>$Minitext</div>";
      out"<div>$Text</div>";
      

      </loop>

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 18:06.
    Re: Re: loop &amp;amp; bedingte Formatierung

      Maskieren ist nachgerade kontraproduktiv!

      Unmaskiert werden beide Strings ausgegeben, aber intern erscheint in rot und extern in grüner Schrift. Maskiert ist alles schwarz!

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 18:17. WWW: hammoniaweb.com
    Re: Re: Re: loop &amp;amp;amp; bedingte Formatierung

      ich arbeite nicht mit loop, daher damit nur rudimentäre Kenntnisse....


      Mein Favorit ist "get", da imho wesentlich besser, ist aber , wie bei Käse und Schinken, immer eine Frage des persönlichen Geschmacks....;)


      Gruesse


      Claus


      PS: bin dank saftiger Erkältung noch immer etwas maddelig in der Birne....

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 18:36.
    Re: Re: Re: Re: loop &amp;amp;amp;amp; bedingte Formatierung

      Das hatte ich mir schon fast gedacht, das man die gesamte Ausgabe in Perl schreiben sollte, nicht nur die erste Zeile.


       <loop db=neuigkeiten>
       
       <perl>
       
       if  ($Publik eq "intern") {     
       out "<div style="color:red">$Publik</div>";  
       }
       else { 
       out "<div style="color:green">$Publik</div>";  
       }
       
       out "<div>$Titel</div>";
       out "<div>$Minitext</div>";
       out "<div>$Text</div>":
       
       </perl>
       
       </loop>
      

      Diese bereinigte Fassung bringt aber auch nur Schrott hervor ????

      Kann es sein, dass man die Verwendung von Perl noch irgendwo im Kopf der HTML Datei definieren muss? So wie die Ausgabe aussieht interpretiert bp mein Script gar nicht erst ....

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 18:42. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp; bedingte Formatierung

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 18:59.
    Re: Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp;amp; bedingte Formatierung

      Ich verstehe sehr wohl was du da tust, aber bei mir kommen immer noch ausschließlich Fehlermeldungen raus (siehe mein Link), obwohl mein Script jetzt genauso ist wie deines. Ob ich "code=perl" in den "loop" Tag schreibe oder die Ausgabe extra nochmal in <perl> ... </perl> einschließe macht im Endeffekt keinen Unterschied. Es kommen immer nur Fehlermeldungen raus.

      Deshalb nochmal die Frage: Hast du die Verwendung von Perl irgendwo in der Datei (im Header) nochmal explizit definiert???

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 19:23. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp;amp;amp; bedingte Formatierung

      Nein,

      Hast Du wirklich nur mal ein estra Template mit dem reinen Script erstellt, oder das nur irgenwo in ein bestehendes Template eingebaut?

      Ohne Zugang kann ich Dir da jetzt leider auf die Schnelle auch nicht viel weiterhelfen.

      Gruesse

      Claus


      PS: aber bitte Deine Zugangsdaten nicht hier im Forum posten, das haben hier auch schon einige user geschafft....;)

      Entweder an Sander wenden oder mir per mail schicken, wenn Du keine Bedenken hast


      Gruesse


      Claus

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 19:33.
    Re: Re: Re: Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp;amp;amp;amp; bedingte Formatierung

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 19:30. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp;amp;amp; bedingte Formatierung

      Eine Idee hätte ich noch...


      Mach mal ein neues Template ohne Vorgaben und füge dann mal folgenden nackten!!!! Code ein:


      <b>Neueste Neuigkeiten:</b>
      

      <loop db=neuigkeiten>


      <ul>$Text</ul>
      

      <p>

      </loop>
       
      
      dann mal schauen, was dann passiert


      danach dann mal das andere Script dort einfügen und wieder schauen, was passiert


      Ansonsten siehe oben


      Gruesse

      Claus

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 19:42.
    Re: Re: Re: Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp;amp;amp;amp; bedingte Formatierung

      Eine Ausgabeseite einfach nur mit der <loop>-Funkton ohne Perl habe ich ja. Die ist auch perfekt in Gestaltung und Funkton.

      http://de3.netpure.de/cgi-bin/baseportal.pl?htx=/MSG/newspage_int

      (sieht SO ein bisschen merkwürdig aus, aber sie wird noch über <iframe> in eine Webseite eingebaut ...)

      Ich wollte nur als zusätzliches "Gimmick" die Information ob es eine "interne" oder eine "externe" - Newsmeldung ist (rechts beim Datum) noch durch Farbe deutlicher machen.

      Oder siehst du eine andere Lösung als mit so einem verfl.... Perl-Script.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 18:44. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp; bedingte Formatierung

      Achja, wie Du sehen kannst, inklusive der angeblich nicht funktionierenden maskierungen!!

      Gruesse


      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 18:59. WWW: hammoniaweb.com
    Re: Re: Re: Re: Re: loop &amp;amp;amp;amp;amp; bedingte Formatierung

      anscheinend kannst Du aber die geposteten Scripte nicht einmal richtig kopieren.....


      ich hatte in diesem Beitrag folgendes Script gepostet:

      <loop db=neuigkeiten code=perl>
      if ($Publik eq "intern")
      {
      out "<span style=\"color:red\">$Publik</span><br>";  
      }
      else
      { 
      out "<span style=\"color:green\">$Publik</span><br>";  
      }
      out"<div>$Titel</div>";
      out"<div>$Minitext</div>";
      out"<div>$Text</div>";
      </loop>
      



      http://forum.baseportal.de/15850.022.html



      Wenn Du dasnn aber wieder in einem <loop> <perl> verwendest, kann es nicht funktionieren!!!!!

      <loop db=neuigkeiten>
       
       <perl>
       
       if  ($Publik eq "intern") {     
       out "<div style="color:red">$Publik</div>";  
       }
       else { 
       out "<div style="color:green">$Publik</div>";  
       }
       
       out "<div>$Titel</div>";
       out "<div>$Minitext</div>";
       out "<div>$Text</div>":
       
       </perl>
       
       </loop>
      


      Wenn Du also nicht mal die geposteten Scripte 1 zu 1 übernimmst, sondern wieder eigenen Unfug einbaust, dann beschwere dich nicht über Schrott, den Du dann selbst produzierst.....


      In diesem sinne


      Gruesse

      Claus

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 19:58.
    Fassung vom 11.2. - 19:57 Uhr

      Ich veröffentliche hier jetzt mal den gesamten Text der Testseite Stand 19:57 Uhr. Das ist natürlich nur das Skelett der Datei, um die gewünschte Funktionalität herauszukitzeln. Aber es geht halt blöderweise nicht, obwohl es gehen müsste und bei Claus auch geht - ischwernochmolbleedehier ...

       <html>
       <head>
       <title></title>
       </head>
       
       <body>
       
       <loop db=neuigkeiten code=perl>
       
       if  ($Publik eq "intern") 
       {     
       out "<div style=\"color:red\">$Publik</div>"; 
       }
       else 
       { 
       out "<div style=\"color:green\">$Publik</div>";  
       }
       
       out "<div>$Titel</div>";
       out "<div>$Minitext</div>";
       out "<div>$Text</div>":
       
       </loop>
       
       </body></html>
      

      Sinn der Funktion ist es, den Inhalt des Feldes $Publik bedingt zu formatieren. Steht da "intern" drin soll die Ausgabe rot sein, steht da "extern" drin soll sie grün sein. Wo ist da der Fehler??

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 20:11. WWW: hammoniaweb.com
    Re: Fassung vom 11.2. - 19:57 Uhr

      Hättest du mal gleich machen sollen....;)


      Wenn Du in dieser Zeile statt ";" am ende ein ":" drin stehen hast, dann kann es ja nicht funktionieren......


      Nimm mal dieses Script und schon ist die Noob-Welt wieder heil....

       <html>
       <head>
       <title></title>
       </head>
       
       <body>
       
       <loop db=test code=perl>
       
       if  ($Publik eq "intern") 
       {     
       out "<div style=\"color:red\">$Publik</div>"; 
       }
       else 
       { 
       out "<div style=\"color:green\">$Publik</div>";  
       }
       
       out "<div>$Titel</div>";
       out "<div>$Minitext</div>";
       out "<div>$Text</div>";
       
       </loop>
       
       </body></html>
      


      Demnächst bitte bei Problemen mal gleich Butter bei die Fische, wie wir Hamburger so sagen, okay?

      ...;)


      Gruesse


      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 20:17. WWW: hammoniaweb.com
    Re: Re: Fassung vom 11.2. - 19:57 Uhr

      Achja,

      hatte jetzt kurz bei mir geprüft, also db=test muß natürlich durch db=neuigkeiten ersetzt werden, also nimm lieber dieses Script, ist so i.O.


      <html>
       <head>
       <title></title>
       </head>
       
       <body>
       
       <loop db=neuigkeiten code=perl>
       
       if  ($Publik eq "intern") 
       {     
       out "<div style=\"color:red\">$Publik</div>"; 
       }
       else 
       { 
       out "<div style=\"color:green\">$Publik</div>";  
       }
       
       out "<div>$Titel</div>";
       out "<div>$Minitext</div>";
       out "<div>$Text</div>";
       
       </loop>
       
       </body></html>
      

      sonst fängt es wieder von Vorne an....


      Hättest auch mal richtig mein Script kopieren sollen....;)


      Gruesse


      Claus

     Antworten

    Beitrag von Testesser (11 Beiträge) am Montag, 11.Februar.2013, 21:55.
    Re: Re: Fassung vom 11.2. - 19:57 Uhr

      Ach du Heilige Sch...e!

      Das ist der Nachteil, wenn man einen 27" Mac hat und 'ne Brille mit +10 Dioptrien. Ich glaube, ich muss bald den Behindertenmodus einstellen oder auf Sprachausgabe umschalten.

      Asche auf mein Haupt - is mir das jetzt aber peinlich ...

      Dir lieber Claus herzlichen Dank und gute Besserung.

      nugehterwieder - möööööönsch - nugehter ...

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 11.Februar.2013, 22:00. WWW: hammoniaweb.com
    Re: Re: Re: Fassung vom 11.2. - 19:57 Uhr

      Kein Problem, baseportal, das netteste Forum weltweit....;)


      Ansonsten:

        "Es gibt keine dummen Fragen - jeder hat einmal angefangen" 
      

      In diesem Sinne


      Gruesse


      Claus

     Antworten


     
 Liste der Einträge von 3450 bis 3600:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.09s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!