Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Meine Rahmen erscheinen nicht!

      
  1. #1
    Forum Newbie
    Registriert seit
    16.11.2006
    Beiträge
    13

    Meine Rahmen erscheinen nicht!

    Hallo Ihr Freaks!

    Bin seit 3 Wochen dabei. Bisher ging´s gut. Aber im moment stehe ich auf dem Schlauch. Meine Seiteninhalte werden angezeigt aber die Formatierung der Content-Elemente greift nicht.

    Hier 2 Varianten, einmal mit wrap einmal mit stdWrap.wrap (was auch immer das bedeuten mag). Leider gehen beide nicht:


    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0

    tt_content.stdWrap.wrap (
    <table border="1"> <tr> <td> | </td> </tr> </table> )
    }


    Und nun diese Variante (Fallunterscheidung nach Layout)


    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0

    tt_content = CASE
    tt_content {
    key.field = header_layout
    1 = COA
    1 {
    wrap = <table border=1 bordercolor=red bgcolor=#d1fbfe > <tr>
    10 = TEXT
    10.field = header
    10.wrap = <td valign=top> <b> <font face=Arial size=2 color=red> |</font> </b> <br>
    20 = TEXT
    20.field = bodytext
    20.wrap = <font face=Arial size=2>| </font> <br> </td> </tr> </table> <br> <br>
    }
    default = COA
    default {
    wrap = <table border=”1”><tr><td> | </td></tr></table>
    10 = TEXT
    10.field = header
    10.wrap = <b> | </b><br>
    20 = TEXT
    20.field = bodytext
    }
    }
    }



    Ich warte sehnlichst auf eine Hilfestellung!
    1000 Dank im voraus. Viele Grüße Anna

    P.S.
    Die Vorschau zeigt schon einen Error.
    Doch da mir der Befehl noch nichts sagt, kann ich auch die Error-Meldung nicht deuten.

  2. #2
    TYPO3 Forum Team Moderator Avatar von david
    Registriert seit
    17.07.2006
    Ort
    München
    Beiträge
    800
    Der erste Codeblock sollte so aussehen:
    Code:
    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
        table = tt_content
        select.orderBy = sorting
        select.where = colPos = 0
        stdWrap.wrap = <table border="1"> <tr>  <td> | </td> </tr> </table>
    }
    oder so
    Code:
    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
        table = tt_content
        select.orderBy = sorting
        select.where = colPos = 0
        stdWrap.wrap (
             <table border="1"> <tr>  <td> | </td> </tr> </table>
        )
    }
    weil
    1) die abschlie&#223;ende Klammer in einer neuen Zeile stehen muss und nicht nach mit dem eigentlichen Inhalt in einer Zeile stehen darf.
    2) die Zeile "tt_content.stdWrap.wrap" falsch ist: Du definierst ein neues Objekt mit dem vollen Pfad page.marks.SEITENINHALT.tt_content.stdWrap.wrap, m&#246;chtest aber eigentlich das Objekt page.marks.SEITENINHALT.stdWrap.wrap definieren. Daher ist die Angabe "tt_content" in der Zeile falsch.
    Falls das nicht funktioniert ersetze "stdWrap.wrap" mal durch "wrap".
    Geändert von david (05.12.2006 um 22:45 Uhr)
    Viele Grüße
    David

    Mediengestaltung David Bruchmann
    www.bruchmann-web.de

  3. #3
    Forum Newbie
    Registriert seit
    16.11.2006
    Beiträge
    13

    Alles vergeblich

    Hallo David!
    Danke für Deine Hinweise. Doch leider klappt es trotzdem nicht.
    Ich habe es so probiert

    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0

    tt_content.wrap {
    <table border="1"> <tr> <td> | </td> </tr> </table>
    }
    }

    und so


    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0

    tt_content.wrap = <table border="1"> <tr> <td> | </td> </tr> </table>
    }

    und, natürlich beide Varianten mit tt_content.stdWrap.wrap.
    Doch leider alles vergeblich.

    Ich habe zwar erst sehr wenig Tpo3-Erfahrung, aber ich vermute meine Probleme liegen irgendwo anders.
    Denn, wenn ich mit der Formatierung von Seiteninhalten ohne Html-Design-Vorlage experimentiere, dann klappt alles genau wie ich es mir vorstelle.

    Aber in der obigen Variante, mit der Design-Vorlage klappt nicht mal dieser Mini-Code.
    Meine Kenntnisse habe ich bisher aus der Mittwald-Online-Dokumenatation.
    Leider zeigt er keine entsprechende Lösung. Er formatiert die Seitenelemente nur so:

    lib.stdheader >
    lib.stdheader = CASE
    lib.stdheader {
    key.field = header_layout
    1 = TEXT
    1.field = header
    1.wrap = <font face="Verdana" size="2" color="navy"><b> | </b></font><br>

    2 = IMAGE
    2.file = GIFBUILDER
    2.file {
    XY = [10.w]+10, 28
    backColor = #478951
    10 = TEXT
    10.text.field = header
    10.fontColor = black
    10.fontFile = fileadmin/fonts/arialb.ttf
    10.fontSize = 14
    10.offset = 2, 22
    10.niceText = 1
    }
    2.wrap = |<br>
    default < .1

    Das klappt auch bei mir. Aber ich wollte ja Rahmen.
    Also habe ich es mit der Variante versucht, die Mittwald erläutert hat, bevor die Design-Vorlage zum Einsatz kam.
    Aber es klappt eben nicht.
    Die vorangegangenen Übungen mit der Designvorlage (Menügestaltung) gingen fast ausschließlich gut.
    Einzige Ausnahme: MENU_OBEN.1.ATagParams = class="linkWeiss"
    Hier wurde nix weiß. Alles blieb blau und unterstrichen.

    Was ich vielleicht erwähnen sollte.
    Mittwald zeigt irgendwo, wie sich der Html-Code der Design-Vorlage geändert hat. Bei mir hat sich der Code durch die Template-Erstellung nicht geändert.
    Könnte da was faul sein???

    Würde mich freuen, wenn mir jemand von Euch Genies helfen kann.

    Viele Grüße
    Anna

  4. #4
    TYPO3 Forum Team Moderator Avatar von david
    Registriert seit
    17.07.2006
    Ort
    München
    Beiträge
    800
    Hallo Anna,

    ich weiss nicht ob Du mit "Marks" oder "Subparts" arbeitest: Du kannst die Schl&#252;sselw&#246;rter bei nachfolgendem Code ggf. entsprechend austauschen:
    Code:
    ###### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    maintemplate.subparts.SEITENINHALT = CONTENT
    maintemplate.subparts.SEITENINHALT {
      table = tt_content
      select.orderBy = sorting
      select.where = colPos = 0
       
      tt_content.wrap {
        <table border="1"> <tr>  <td> | </td> </tr> </table> 
      }
    }
    Nachtrag:
    Sorry, diese &#196;nderung sollte darauf hinweisen, da&#223; Du unvollst&#228;ndigen Code gepostet hast. welchen Namen das Haupttemplate bei Dir hat, wei&#223; ich nicht, es k&#246;nnte genauso gut temp.template statt maintemplate heissen. Ich gehe jedoch davon aus, da&#223; SEITENINHALT irgendwelche Markierungen in Deinem HTML-Template sind und die alleinige Notierung wie in Deinem Code nicht ausreicht.
    Geändert von david (06.12.2006 um 13:00 Uhr)
    Viele Grüße
    David

    Mediengestaltung David Bruchmann
    www.bruchmann-web.de

  5. #5
    Forum Newbie
    Registriert seit
    16.11.2006
    Beiträge
    13

    Ist mir nicht zu helfen??

    Hallo Mark!!

    Dank Dir für die Mühe! Aber das war´s auch nicht.
    Aber da mein Code in den Klammern ist, sollte 10.marks eigentlich fassen.

    Vieleicht sollte ich doch mal den vollständigen Code abbilden:

    seite = PAGE
    seite {
    typeNum = 0
    bodyTag = <body bgColor = "#DDDDDD">
    stylesheet = fileadmin/style.css
    meta.AUTHOR = Robert Meyer
    meta.DESCRIPTION = Hier steht eine Beschreibung
    10 = TEMPLATE
    10.template = FILE
    10.template.file = fileadmin/vorlage01.html
    10.workOnSubpart = DOKUMENT

    ######## Ersetzen Platzhalter KOPF durch Hintergrund und Text
    10.marks {

    KOPF = IMAGE
    KOPF.file = GIFBUILDER
    KOPF.file {
    XY = 559, 86
    backColor = #82BC8B
    10 = TEXT
    10.text.field = subtitle // title
    10.fontSize = 48
    10.fontFile = fileadmin/fonts/arialbi.ttf
    10.fontColor = #96CC9F
    10.niceText = 1
    10.offset = 10, 60
    20 = TEXT
    20.text.field = subtitle // title
    20.fontSize = 34
    20.fontFile = fileadmin/fonts/arialb.ttf
    20.fontColor = #E2F5E5
    20.niceText = 1
    20.offset = 40, 68
    }

    ######## Horizontales Hierarisches Menu oben rechts
    MENU_OBEN = HMENU
    MENU_OBEN.special = directory
    MENU_OBEN.special.value = 60
    MENU_OBEN.1 = TMENU
    MENU_OBEN.1.NO = 1
    MENU_OBEN.1.ATagParams = class="linkWeiss"
    MENU_OBEN.1.NO.linkWrap = &nbsp;|&nbsp;| |*| &nbsp;|&nbsp;| |*| &nbsp;|

    ######### Vertikales Grafisches Menu links
    MENU_LINKS = HMENU
    MENU_LINKS.special = directory
    MENU_LINKS.special.value = 61
    MENU_LINKS.entryLevel = 1

    MENU_LINKS.1 = GMENU
    MENU_LINKS.1.NO = 1
    MENU_LINKS.1.NO {
    XY = 146, 30
    backColor = #478951

    10 = TEXT
    10.text.field = title
    10.fontColor = #FFFFFF
    10.fontFile = fileadmin/fonts/arialb.ttf
    10.fontSize = 12
    10.niceText = 1
    10.offset = 7, 21
    ### Erzeugung weisse Linie
    20 = IMAGE
    20.file = GIFBUILDER
    20.file {
    XY = 146,1
    backColor = #FFFFFF
    }
    20.offset = 0, 29
    }

    ######### Fuer Rollover-Effekt Orginalzustand in Rollover-Zustand kopieren
    ######### Ändern Hintergrundfarbe und Erzeugen Text-Schatten
    MENU_LINKS.1.RO < .MENU_LINKS.1.NO
    MENU_LINKS.1.RO {
    tmp < .backColor
    backColor = #82BC8B
    5 < .10
    5.fontColor < .tmp
    5.offset = 9,23
    }

    ####### Zustand fuer aktuelle Seite definieren (Normalzstand aber Schrift blau)
    MENU_LINKS.1.CUR < .MENU_LINKS.1.NO
    MENU_LINKS.1.CUR.10.fontColor = #1318EA

    ####### Erzeugen Zweite Menu-Ebene
    MENU_LINKS.2 < .MENU_LINKS.1
    MENU_LINKS.2 {
    NO.backColor = #E2F5E5
    NO.10.fontColor = #478951
    NO.20.file.backColor = #478951
    RO < .NO
    RO.backColor = #FFFFFF
    RO.5 >
    CUR < .NO
    CUR.10.fontColor== #1318EA
    }

    ##### Ersetzen Platzhalter Seiteninhalt durch Seitenelemente
    SEITENINHALT = CONTENT
    SEITENINHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0

    tt_content.wrap {
    <table bgcolor=yellow border="1"> <tr> <td> <font color=red> | </font> </td> </tr> </table>
    }
    }


    RECHTS = CONTENT
    RECHTS {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 2
    }

    } # Ende marks
    } # Ende seite



    Also noch einmal:
    Das entscheidende Problem : Zeilen 110 +111 fruchten nicht
    (Habe zur Sicherstellung noch mal ein wenig Farbe reingebracht)
    Und nebenbei: Zeile 43 auch nicht.

    Viele Grüße
    Anna

    P.S. Wofür war das "Sorry"??

  6. #6
    TYPO3 Forum Team Moderator Avatar von david
    Registriert seit
    17.07.2006
    Ort
    München
    Beiträge
    800
    Hallo Anna,

    das "Sorry" war für die Änderung und den Nachtrag, vorher war der Text etwas kurz und unverständlich.
    Auch wenn ich nichts gegen den Namen "Mark" habe: meiner ist David :)


    Mir war noch aufgefallen daß Du falsche Klammern verwendet hast, richtig muss es so heissen, ich habe den Code getestet, sollte also funktionieren:
    Code:
        SEITENINHALT = CONTENT
        SEITENINHALT {
          table = tt_content
          select.orderBy = sorting
          select.where = colPos = 0
           
          wrap (
            <table bgcolor=yellow border="1"> <tr>  <td> <font color=red> |  </font> </td> </tr> </table> 
          )
        }

    Bei Zeile 43 würd ich statt &nbsp; erst einmal andere Zeichen zum Testen verwenden weil man es direkt ohne den Quelltext ansehen zu müssen und man kann an verschiedenen Positionen unterschiedlich Zeichen setzen um genau zu sehen wie sich die Zeile auswirkt:
    Code:
    MENU_OBEN.1.NO.linkWrap = @A@|@B@| |@C@*@D@| @E@|@F@| |@G@*@H@| @I@|
    Wenn es funktioniert, kann man wieder versuchen die Leerzeichen zu verwenden.
    Mit den split-Optionen in Zeile 43 habe ich mich auch noch nicht genauer beschäftigt, ich schlage vor, daß Du mal hier nachsiehst:
    http://typo3.org/documentation/docum...3/1/#id2796792

    Wenn Du damit nicht weiterkommst kannst Du nach "split" hier im Forum suchen und ggf. ein neues Thema mit dem Stichwort "split" beginnen.
    Viele Grüße
    David

    Mediengestaltung David Bruchmann
    www.bruchmann-web.de

  7. #7
    Forum Newbie
    Registriert seit
    16.11.2006
    Beiträge
    13
    Hallo David!!

    Erst einmal Sorrry, sorry, sorry! Ich weiss, dass Du David bist!!
    Obwohl ich nicht weiss, wer Du bist (Du gibst hier viel Hilfestellung, oftmals nachts).
    Bist Du hier einer der Gurus oder Redakteure (sorry mir fehlt die richtige Ausdrucksweise)?

    Danke Dir auch f&#252;r die gigantisch langen Erkl&#228;rungen und f&#252;r den Link!

    Erkl&#228;rungen und Link sind verst&#228;ndlich.
    Aber was die Funktionalit&#228;t betrifft "hat leider nicht geklappt".

    Zuerst zu der angeh&#228;ngten Datei. Ich habe gezittert und gedacht: "verstehe nur Bahnhof" und "das schaffe ich eh nicht".
    Weil, Installieren ist nicht mein Ding. Aber ich habe es geschafft, habe die Datei gespeichert:
    Extension was already present in "C:/Programme/Typo3/htdocs/typo3wamp/typo3conf/ext/doc_v4_workspace/"
    (fast 2 mal)
    Als ich es dann das php-Dokument mit Dreamweaver &#246;ffnen wollte kam aber nur ein 40-zeiliger Code. Die Vorschau war eine leere Seite.

    Zu Deiner Frage:
    Ja, ich habe nur eine lokale Version. Ich habe auch noch keinen Schimmer Ahnung wie das ganze online hinkriege. Ich hoffe, in dem bestellten Buch verr&#228;t man mir irgendwas dazu. Oder, hast Du 'nen Link?

    So, und nun zum anderen Fragenkomplex:
    a.) Das Splitten (Zeile 42) klappt. Ich meinte mit Zeile 43 die hier: MENU_OBEN.1.ATagParams = class="linkWeiss" Da wird nix wei&#223;. Alles bleibt Aralblau und unterstrichen.
    b.) Die runden Klammern habe ich schon nicht mehr im Code. Schau im letzten Code Zeile 111: Sch&#246;ne geschweifte Klammern { }
    Trotzdem:
    Sch&#246;n, dass Du sagst, dass es funktionieren m&#252;sste. Demnach ist meine Programmierlogik nicht so falsch.
    Ich werde das ganze jetzt noch einmal anhand eines 2. Beispieles durchspielen. Mal sehen, was dann rauskommt.
    Kann es sein, dass ich die Vorlage nicht richtig einbinde?
    Ihr Inhalt ist bisher von jeglichem TypoScript-Code nicht ber&#252;hrt worden.
    Mittenwald schreibt irgenwo:
    Ein Betrachten des HTML-Quelltextes zeigt, dass unsere Zuweisungen bereits gefruchtet haben:
    .....
    12 <meta name="AUTHOR" content="Robert Meyer" />
    13 <meta name="DESCRIPTION" content="Hier steht eine Beschreibung " />
    Wenn Du in meinen letzten, vollst&#228;ndig abgebildeten Code schaust, dann siehst Du zwar, dass ich da so was in der Art geschrieben habe, aber in meiner HTML-Vorlage steht davon leider nichts.

    Viele Gr&#252;&#223;e
    Anna

    P.S. Was ich noch erw&#228;hnen sollte:
    Irgendwann kam bei der Installation der Fehler "Probably to large"
    Viele Gr&#252;&#223;e
    Anna
    Geändert von Anna (07.12.2006 um 08:31 Uhr) Grund: Vergessen

  8. #8
    TYPO3 Forum Team Moderator Avatar von david
    Registriert seit
    17.07.2006
    Ort
    München
    Beiträge
    800
    Hallo Anna,
    Zitat Zitat von Anna Beitrag anzeigen
    Bist Du hier einer der Gurus ...
    Naja, f&#252;r diese Bezeichnung ist es noch einige Jahre oder Jahrzehnte zu fr&#252;h, auch wenn ich sie ganz lustig finde ;-)
    Die offizielle Bezeichnung ist Moderator.

    Zitat Zitat von Anna Beitrag anzeigen
    Als ich es dann das php-Dokument mit Dreamweaver &#246;ffnen wollte kam aber nur ein 40-zeiliger Code. Die Vorschau war eine leere Seite.
    In der Extension ist ein Ordner mit einer Datei: doc/manual.sxw. Diese Datei kannst Du mit Open-Office (de: de.OpenOffice.org: Startseite) &#246;ffnen.
    Zitat Zitat von Anna Beitrag anzeigen
    Zu Deiner Frage:
    Ja, ich habe nur eine lokale Version. Ich habe auch noch keinen Schimmer Ahnung wie das ganze online hinkriege. Ich hoffe, in dem bestellten Buch verr&#228;t man mir irgendwas dazu. Oder, hast Du 'nen Link?
    Die Dokumente in deutscher Sprache auf http://typo3.org/documentation/ geben bei vielen Fragen schon hinreichend Auskunft. Wenn Du Englisch verstehst, hast Du eine wesentlich gr&#246;&#223;ere Auswahl.
    Das reine &#220;bertragen der Dateien per FTP ist sicher kein Problem, Du brauchst eine Domain, einen Hoster der Deine Domain verwaltet und dir die Zug&#228;nge bereitstellt (http, ftp, mail, Datenbank etc.). Dann kannst Du Typo3 &#252;bertragen und mit der Installation beginnen, das steht in den Dokumenten erkl&#228;rt.
    Zitat Zitat von Anna Beitrag anzeigen
    So, und nun zum anderen Fragenkomplex:
    a.) Das Splitten (Zeile 42) klappt. Ich meinte mit Zeile 43 die hier: MENU_OBEN.1.ATagParams = class="linkWeiss" Da wird nix wei&#223;. Alles bleibt Aralblau und unterstrichen.
    Die Farbe ist erst einmal unwichtig, wichtig ist, ob in Deinem Quelltext der generierten Seite bei den Links class="linkWeiss" steht. Wenn ja, brauchst Du halt eine CSS-Datei in der die Klasse "linkWeiss" die Farbe definiert.
    Zitat Zitat von Anna Beitrag anzeigen
    b.) Die runden Klammern habe ich schon nicht mehr im Code. Schau im letzten Code Zeile 111: Sch&#246;ne geschweifte Klammern { }
    Hiiiilllfeee, da m&#252;ssen RUNDE KLAMMERN hin!! Deswegen habe ich sie auch so hingeschrieben ;-)
    Zitat Zitat von Anna Beitrag anzeigen
    Trotzdem:
    Sch&#246;n, dass Du sagst, dass es funktionieren m&#252;sste. Demnach ist meine Programmierlogik nicht so falsch.
    Naja, wenns dann mit den Klammern klappt.
    Zitat Zitat von Anna Beitrag anzeigen
    Kann es sein, dass ich die Vorlage nicht richtig einbinde?
    Ihr Inhalt ist bisher von jeglichem TypoScript-Code nicht ber&#252;hrt worden.
    Die Vorlage (HTML-Template) bleibt immer davon unber&#252;hrt. Sie dient ja als Vorlage und soll nicht ver&#228;ndert werden. Dein TypoScript soll die Ausgabe der Seite im Frontend beeinflussen und (meistens bzw. normalerweise) keine Dateien auf Deinem Server ver&#228;ndern. Das Zitat bezieht sich auf den Quelltext der HTML-Seite im Frontend.
    Zitat Zitat von Anna Beitrag anzeigen
    Wenn Du in meinen letzten, vollst&#228;ndig abgebildeten Code schaust, dann siehst Du zwar, dass ich da so was in der Art geschrieben habe, aber in meiner HTML-Vorlage steht davon leider nichts.
    Das ist ja das sch&#246;ne, man kann Inhalte per TS definieren die man gar nicht in statische Seiten schreiben muss. Die meisten Inhalte sind ja dynamisch und stehen nur in der Datenbank, dort brauchst Du auch nicht f&#252;r jedes Inhaltselement eine eigene HTML-Seite irgendwo abzulegen - die generiert ja Typo3 f&#252;r Dich. Sieh Dir den Quellcode der generierten Seite an, dort findest Du die Auswirkungen Deines TS-Codes.
    Zitat Zitat von Anna Beitrag anzeigen
    P.S. Was ich noch erw&#228;hnen sollte:
    Irgendwann kam bei der Installation der Fehler "Probably to large"
    Oha, was war denn damit gemeint
    Viele Grüße
    David

    Mediengestaltung David Bruchmann
    www.bruchmann-web.de

  9. #9
    Forum Newbie
    Registriert seit
    16.11.2006
    Beiträge
    13
    Hallo David!

    Du hattest recht, auch mit meiner Programmier-Logik ist es nicht so weit her.

    Also: Ich habe jetzt dank Deiner Hilfe einen Rahmen um alle Contente meiner Spalte Normal.
    Das ließ sich realisieren mit

    INHALT = CONTENT
    INHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0
    wrap (
    <table border="1"> <tr> | </td> </tr> </table>
    )
    }


    Aber es ging auch so:

    INHALT = CONTENT
    INHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0
    wrap = <table border="1" width=300> | </table>
    }


    Und da mir das Ganze ohne Klammern unproblematischer scheint, denke ich
    ich bleibe bei dieser Variante.


    Nun wollte ich aber Rahmen um jedes Element.
    Ohne Marker ging das so :
    (Vollständiger Code; jeder Content wird umschlossen durch gelben Rahmen, alles auf gelbem Hintergrund; damit die Rahmen nicht aneinanderkleben ein <br> dazwischen)

    seite = PAGE
    seite.typeNum = 0
    seite.10 = CONTENT
    seite.10.table = tt_content
    tt_content = COA
    tt_content {
    wrap = <table border="1" width=300> | </table>
    10 = TEXT
    10.field = header
    10.wrap = <td bgcolor="yellow" > <font color="red"> | </font> <br> <br>
    20 = TEXT
    20.field = bodytext
    20.wrap = | </td> <br>
    }



    Also sagt mir meine Logik: Wenn ich die Rahmen auch auf der Seite mit dem Template will, dann muss ich jetzt seite.10 ersetzen durch seite.10.marks.INHALT.
    Wenn ich das mache, und seite.10.marks ein Stück weiter oben ausklammere, (was ja auch richtig sein muss, sonst würden die Beispiele 1 u. 2 nicht funktionieren) dann sieht das so aus:


    INHALT = CONTENT
    INHALT {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0
    }
    tt_content = COA
    tt_content {
    wrap = <table border="1" width=300> | </table>
    10 = TEXT
    10.field = header
    10.wrap = <td bgcolor="yellow" > <font color="red"> | </font> <br> <br>
    20 = TEXT
    20.field = bodytext
    20.wrap = | </td> <br>
    }



    Warum aber geht es nicht?
    Ich habe natürlich auch versucht (gegen meine Logik) alles ab tt_content mit in die erste Klammer zu packen. Ging natürlich auch nicht.

    Viele Grüße
    Anna

  10. #10
    TYPO3 Forum Team Moderator Avatar von david
    Registriert seit
    17.07.2006
    Ort
    München
    Beiträge
    800
    Hallo Anna,

    Code:
    wrap (
        <table border="1"> <tr> <td>| </td> </tr> </table>
    )
    Diese Variante mit den Klammern ist sinnvoll wenn man mehrere Zeilen ausgegeben haben möchte. Man könnte es auch noch anders schreiben und dadurch mehr Zeilenumbrüche im HTML-Quelltext erzeugen:
    Code:
    wrap (
        <table border="1">
            <tr> 
                <td> | </td>
            </tr>
        </table>
    )
    Für die so erzeugten Zeilenumbrüche kenne ich keine Notationsvariante ohne Klammern.


    Deine Beispiele bzw. Codeschnipsel habe einen gravierenden Mangel: irgendwo baust Du immer einen kleinen Fehler ein, z.B. wäre folgende Zeile falsch, wenn ich den rot markierten Text nich eingefügt hätte:
    Code:
    <table border="1"> <tr>  <td> |  </td> </tr> </table>
    Ich empfehle dringend, daß Du den Code nicht immer neu aufschreibst sondern geprüften Code einfach kopierst, dann kann das gar nicht passieren. Du machst Dir die Arbeit sonst unnötig schwer.

    Zitat Zitat von Anna
    Nun wollte ich aber Rahmen um jedes Element.
    Ohne Marker ging das so :
    (Vollständiger Code; jeder Content wird umschlossen durch gelben Rahmen, alles auf gelbem Hintergrund; damit die Rahmen nicht aneinanderkleben ein <br> dazwischen)
    seite = PAGE
    seite.typeNum = 0
    seite.10 = CONTENT
    seite.10.table = tt_content
    tt_content = COA
    tt_content {
    wrap = <table border="1" width=300> | </table>
    10 = TEXT
    10.field = header
    10.wrap = <td bgcolor="yellow" > <font color="red"> | </font> <br> <br>
    20 = TEXT
    20.field = bodytext
    20.wrap = | </td> <br>
    }
    Hier implizierst Du, daß der Code funktioniert. Hast Du das getestet? Mir erscheint er nämlich unlogisch und damit falsch.


    Als grundlegende Erklärung dazu folgendes:
    Es gibt eine Datenbanktabelle mit dem Namen "tt_content". Diese Tabelle wird verwendet um normale Seiteninhalte zu speichern und auszulesen.
    Ausserdem gibt es ein Objekt mit dem gleichen Namen "tt_content". Das ist definiert in dem statischen Template der Erweiterung css_styled_content.

    Diese Namensgleichheit kann gerade bei Anfängern zu Verwirrung führen und auch zu Verständnisschwierigkeiten beim TS-Code führen.
    Möchte man die Inhalte der Datenbank per TS direkt auslesen kann man auf Begriffe zugreifen, die Bezug zur Datenbank herstellen, dazu gehört auch das Objekt "table".

    Jetzt noch etwas anderes Grundsätzliches:
    Die Definition bestimmter Inhalte in TS kann man natürlich immer vornehmen, indem man direkten Bezug zu dem Seitentemplate nimmt indem man z.B. schreibt:
    Code:
    page=PAGE
    page.typeNum = 0
    page.10 = TEXT
    page.10.value = Hallo Welt!
    Sinnvoll ist das aber nicht, da man den Code nicht wiederverwenden kann ohne Ihn jeweils anpassen zu müssen.
    Besser ist folgendes Vorgehen:
    Code:
    temp.Inhalt = TEXT
    temp.Inhalt.value = HALLO WELT!
    
    page = PAGE
    page.typeNum = 0
    page.10 < temp.Inhalt
    Was in meiner Variablen bzw. dem Objekt "temp.Inhalt" jetzt gespeichert wird ist erst einmal unwichtig, das kann man später noch ändern oder man kann weitere Objekte anlegen die man stattdessen oder zusätzlich anzeigen kann.
    Wichtig ist die Vorgehensweise, die Objekte erst einmal als geschlossene Einheiten zu definieren. Dann kann man darauf gezielt zugreifen, braucht sie nur einmal zu definieren und kann sie in einzelnen Templates auslagern.


    Bezugnehmend auf Dein Seitentemplate kann man ebenso verfahren:
    Code:
    /* erst einmal definieren wir das Inhaltselement */
    temp.INHALT = CONTENT
    temp.INHALT {
      table = tt_content
      select.orderBy = sorting
      select.where = colPos = 0
      wrap = <table border="1" width=300> | </table>
    }
    
    
    /* Jetzt erzeugen wir die Seite und die entsprechenden Elemente */
    seite = PAGE
    seite {
      typeNum = 0
      bodyTag = <body bgColor = "#DDDDDD">
      stylesheet = fileadmin/style.css
      meta.AUTHOR = Robert Meyer
      meta.DESCRIPTION = Hier steht eine Beschreibung
      10 = TEMPLATE
      10.template = FILE
      10.template.file = fileadmin/vorlage01.html
      10.workOnSubpart = DOKUMENT
      10.marks {
        /* Jetzt kopieren wir das Objekt temp.Inhalt in die Seite */
          INHALT < temp.INHALT
      }
    INHALT und temp.INHALT
    sind zwei verschiedene Objekte. Das erste lautet ausgeschrieben:
    seite.10.marks.INHALT und ist ein Element aus dem statischen Seitentemplate.
    Das zweite Objekt temp.INHALT ist eine temporäre Variable in die ich per TS jeden beliebigen Inhalt einlesen kann. Das kann statischer Text sein (Hallo Welt!), ein dynamisches Menü oder der jeweilige Seiteninhalt, wie er in der Datenbank gespeichert wurde. Was die Variable speichert, hängt von dem TS-Code ab.

    Einen Bezug zwischen den beiden Objekten stellt erst die Zeile INHALT < temp.INHALT her, wo das Objekt temp.Inhalt in das Template-Element seite.10.marks.INHALT kopiert wird.


    So, jetzt habe ich die Basis erläutert, die wir für Deine Frage brauchen.
    Du woltest ein temporäres Objekt erzeugen, das die Inhalte dynamisch aus der Datenbank ausliest und hast ihm den Namen tt_content gegeben.

    Ich ändere den Namen jetzt, damit Du es besser unterscheiden kannst in temp.tt_content:
    Code:
    temp.tt_content = COA
    temp.tt_content {
      10 = TEXT
      10.value = Hallo Welt!
    }
    Als Inhalt gebe ich erst einmal eine reine Textausgabe an, das wird später noch geändert.

    Jetzt kannst Du erst einmal das Objekt temp.tt_content in Dein Seitentemplate kopieren:
    Code:
    seite.10.marks.INHALT < temp.tt_content
    ... und überprüfen, ob die Ausgabe richtig generiert wird.


    Jetzt können wir das Objekt temp.tt_content nach unseren Bedürfnissen erst einmal optisch anpassen:
    Code:
    temp.tt_content = COA
    temp.tt_content {
      wrap = <table border="1" width=300> <tr><td bgcolor="yellow" ><font color="red">|</font></td></tr> </table> 
      10 = TEXT
      10.value = Hallo Welt!
    }
    Nun können wir die gesamten Inhalte aus der Datenbank auslesen und einfügen:
    Code:
    temp.tt_content = COA
    temp.tt_content {
      wrap = <table border="1" width=300> | </table> 
      10 = CONTENT
      10.table = tt_content
      10.select.orderBy = sorting
      10.select.where = colPos = 0
      10.wrap = <tr><td bgcolor="yellow" ><font color="red">|</font></td></tr>
    }
    Da der gesamte Inhalt in das Objekt temp.tt_content.10 eingelesen wird, ist es momentan unerheblich ob man temp.tt_content.wrap und temp.tt_content.10.wrap aufteilt, man könnte auch alles wie im vorherigen Beispiel nur durch temp.tt_content.wrap = <table border="1" width=300> <tr><td bgcolor="yellow" ><font color="red">|</font></td></tr> </table> ausgeben und hätte die gleiche Wirkung.


    Jetzt wollen wir die Inhalte getrennt auslesen und müssen den Code verändern:
    Code:
    temp.tt_content = COA
    temp.tt_content {
    	stdWrap.wrap= <table border="1" style="margin:10px"><tr><td bgcolor="olive" style="padding:20px">|</td></tr></table> 
    
    	10 = CONTENT
    	10 { 
    		stdWrap.wrap= <table border="1" width=400 style="margin:20px"><tr><td bgcolor="navy" style="padding:20px">|</td></tr></table> 
    		table=tt_content
    		select.orderBy=sorting
    		renderObj=COA
    		renderObj {
    			stdWrap.wrap = <table border="1" width=300 style="margin:20px"> | </table> 
    	     
    			5=TEXT
    			5.wrap=<tr><td bgcolor="yellow"  style="color:red; padding:5px">|</td></tr>
    			5.field=header
    
    			10=TEXT
    			10.wrap=<tr><td bgcolor="orange" style="color:blue; padding:5px">|</td></tr>
    			10.field=bodytext
    
    		}
    	}
    }
    Damit deutlich wird, daß man erstens einzelne Felder auslesen kann und zweitens die Elemente auch mehrfach verschachteln kann - um das zu demonstrieren habe ich mal mehrere Tabellen mit unterschiedlichen Farben integriert. In der Praxis sollte man möglichst auf Tabellen verzichten, da diese die Inhalte meist nicht Barrierefrei darstellen.
    Viele Grüße
    David

    Mediengestaltung David Bruchmann
    www.bruchmann-web.de

 

 
Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Facebook Kommentare

Ähnliche Themen

  1. Neue Inhalte erscheinen nur in "Nicht verwendete Elemente"
    Von Guitar im Forum TYPO3 4.x Backend
    Antworten: 2
    Letzter Beitrag: 13.01.2010, 11:01
  2. Rahmen um leere Inhaltselemente werden nicht ausgeblendet
    Von oops im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 14
    Letzter Beitrag: 17.01.2008, 18:52
  3. Content will nicht erscheinen.
    Von Cyprus im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 11
    Letzter Beitrag: 27.10.2007, 09:44
  4. Antworten: 6
    Letzter Beitrag: 19.02.2007, 19:02
  5. Grafiken in HTML-Ressourcen erscheinen nicht in Vorschau
    Von Zwiebelschnitzel im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 5
    Letzter Beitrag: 21.12.2006, 14:36

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237