Der wrap um die content-elemente

  • tfjosmi tfjosmi
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    18. 10. 2004, 23:27

    Hallo,

    Ich lese das Forum schon seit einiger Zeit und es war mir stets eine gute Hilfe!
    Ich schreibe hier jetzt meinen ersten Beitrag, weil ich den wrap mittlerweile bombardiere, gerne wissen würde, wie ich ihn subtiler erledigen kann und die Wraphaz bisher mir sehr lehrreich war und mich (und hier vielleicht auch dich) sicher weiterbringen wird.
    Auf meiner Seite gibt es eine Statuszeile, die neben content-elementen auch noch andere (später dynamisch generierte) Informationen enthalten soll.
    Und zwar so:
    [quote:fdf19f935a]Das ist ein content-element. Die Immerda-Info. Die dynamische Info.[/quote:fdf19f935a]

    [code:1:fdf19f935a]page.20 < styles.content.getRight[/code:1:fdf19f935a]
    wrapt den rechten Spalteninhalt mit
    [quote:fdf19f935a]<p style="margin:0 0 0 0;">|</p>[/quote:fdf19f935a]
    warum? was will der wrap? ich will hier keinen Absatz. Ich will den wrap mit ner Zwille erlegen und brüte also über tsref und browse Objekte und finde aber nirgendwo den Eintrag, um den gesamten content-bodytext-wrap zu ändern.
    [code:1:fdf19f935a]page.20 = CONTENT
    page.20 {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos=3
    wrap = wrap = <b> | </b>
    }[/code:1:fdf19f935a]
    ist genau dasselbe.

    ich verstehe getText nicht:
    [code:1:fdf19f935a]page.30 = COA
    page.30.20 = COA
    page.30.20 {
    10 = TEXT
    10.value = Titel: {page:title}
    10.insertData = 1
    10.wrap = <b> | </b>
    }[/code:1:fdf19f935a]
    liefert ja das erhoffte Testergebnis.
    Aber es soll "bodytext" aus "tt_content" mit "colPos=3" ausgelesen werden.
    Und nicht "title" aus "pages".
    Ich habe viel rumprobiert und gelesen, ob mit getText diese querie machbar ist,aber nichts gefunden. Ich schieße mit Kanonen.

    und RECORDS?
    [code:1:fdf19f935a]page.40 = RECORDS
    page.40.source = 134
    page.40.tables = tt_content
    page.40.conf.tt_content = TEXT
    page.40.conf.tt_content {
    field = bodytext
    wrap = <b> | </b>
    }[/code:1:fdf19f935a]
    steil. 134? Aber: .source selektiert aus tt_content die uid und nicht die pid,für die ich "this" hätte angeben können, sondern die uid. und sowieso die Spalte...
    ich habe das Thema jedenfalls erstmal beiseitegelegt und bin dann irgendwann über select pro gestolpert,weil ich eine individuelle History für jeden Frontenduser bauen wollte.
    Ich bin begeistert:
    [code:1:fdf19f935a]SELECT tt_content.bodytext
    FROM pages
    INNER JOIN tt_content ON tt_content.pid=pages.uid
    WHERE 1=1 ###WHEREADD###
    AND tt_content.colPos=3
    AND tt_content.pid=pages.uid[/code:1:fdf19f935a]
    aber bei diesem Vogel komme ich auch mit der Bombe nicht weiter. Weil ich das Ergebnis der Abfrage nicht für jede Seite einfügen will...
    Wenn ich select pro in mein Template integriere:
    Config:
    [code:1:fdf19f935a]plugin.gstselectpro.queryPid = 126[/code:1:fdf19f935a]
    Setup:
    [code:1:fdf19f935a]seite.210 = COA
    seite.210.10 < plugin.tx_gstselectpro_pi1
    seite.210.wrap = <div id="Status"> | </div>[/code:1:fdf19f935a]
    läuft scheinbar erstmal alles gut, aber wenn auf einer Seite mal Nichts in der entsprechenden Spalte steht:
    [quote:fdf19f935a]Ihre Abfrage lieferte kein Ergebnis.[/quote:fdf19f935a]
    Und ich komme ich mit der Abfrage durcheinander, weil der aktuelle Bezugspunkt nicht gesetzt wird. Merkwürdige Ergebnisse: Die Statuszeile einer Seite enthält auch deren Unterseite.
    Und zuguterletzt: Ich kann queries von select pro nun nicht mehr als content-element einfügen, wegen dem Bezugspunkt...
    ich weiss also nicht mehr recht weiter und drehe mich im Kreise mit meiner Statuszeile.

    Grüße
    Johannes


  • 1
  • m. m.
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    19. 10. 2004, 12:09

    und immer wieder das gleiche. Sorry, aber es steht doch so oft im Forum!

    Die hier muss ins Setup:

    [quote:0ee8092d3a]
    // Folgender Code löscht das Margin 0 0 0 0 aus dem P Tag *********************************************
    tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes {
    P.style=
    PRE.style=
    }[/quote:0ee8092d3a]

    und das hier Deine Inhaltselemente

    [quote:0ee8092d3a]
    // Formatiert die Inhaltselemente
    tt_content.text.20.textStyle.altWrap = |[/quote:0ee8092d3a]

    Deinen Inhalt aus der Normalspalte (colPos = 0) kannst Du so holen

    page.10 < style.content.get

    Deinen Inhalt aus der linken Spalte (colPos = 1) kannst Du so holen

    page.20 < style.content.getLeft

    Deinen Inhalt aus der rechten Spalte (colPos = 2) kannst Du so holen

    page.30 < style.content.getRight

    Deinen Inhalt aus der Randspalte (colPos = 3) kannst Du so holen

    page.40 < style.content.getBorder

    Deine Überschriften kannst Du so formatieren

    lib.stdheader.10.1.fontTag = |

    Grüße aus Frankfurt

  • tfjosmi tfjosmi
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    20. 10. 2004, 02:30

    Danke für Deine Antwort,
    auch wenn sie so pauschal ist und nachdrücklich das Gefühl hinterlässt, dass Du meinen Beitrag gar nicht richtig gelesen hast.
    Entschuldige, aber ich will doch nicht die Parameter Aller Absätze um content-elemente ändern, sondern die Unterteilung in Absätze unterbinden. Und nicht global, sondern nur in meiner Statuszeile.
    Die Definitionen in content(default) kenne ich, das war ja mein Ausgangspunkt:
    [quote:32c5ff4668]page.20 < styles.content.getRight[/quote:32c5ff4668]
    aber genug.

    Ich bin auf eine Lösung gekommen, weil ich während der Recherche über select pro auf renderObj gestoßen bin:
    [code:1:32c5ff4668]
    seite.20 = COA
    seite.20.wrap = <div id="Status"> | </div>

    seite.20.10 = CONTENT
    seite.20.10 {
    table = tt_content
    select.where = colPos = 3
    renderObj = TEXT
    renderObj.field = bodytext
    }
    seite.20.20 = TEXT
    seite.20.20.value =  ist online.
    [/code:1:32c5ff4668]
    Funktioniert bestens:
    [quote:32c5ff4668]
    <div id="Status">Mein Status ist online.</div>[/quote:32c5ff4668]
    Ich habs lange nicht geglaubt und ich versteh noch nicht so richtig wie renderObj...

    Es ist so spät.
    Johannes

  • m. m.
    Sternenflotten-Admiral
    0 x
    158 Beiträge
    0 Hilfreiche Beiträge
    20. 10. 2004, 09:45

    Hallo Johannes,

    die Funktionalität des Renderings ist ziemlich komplex, es kaskadiert und wird auf Seite 336-338 im Open Source Verlag Buch recht verständlich beschrieben. Man benötigt die TSREF, doch mit der wurde ich auch nicht glücklich weil ich das Sytem nicht begriffen habe.
    Es ist wie folgt, ein Contentobject hat entsprechend der lib-classes verschiedene Funktionalitäten, hier ist ein Object IMAGE, das ist vom Data type her eine ImgRecource, diese hat als Data type wiederum u.a. stdWrap, stdWrap hat getText usw. Das erklärt, warum man um im Setup dem IMAGE ein file anhängen kann und auch ein wrap.

    der störende
    [quote:e34325c2eb]
    <p style="margin:0 0 0 0;">|</p>[/quote:e34325c2eb]
    schalteset Du nur über das

    [quote:e34325c2eb]
    // Folgender Code löscht das Margin 0 0 0 0 aus dem P Tag *********************************************
    tt_content.text.20.parseFunc.nonTypoTagStdWrap.encapsLines.addAttributes {
    P.style=
    PRE.style=
    }[/quote:e34325c2eb]
    aus.
    Es ist, wenn ich es richtig verstanden habe ein Relikt aus der Zeit, in der CSS noch nicht wirklich verbreitet und funktioniert hat.

    Dein

    [quote:e34325c2eb]page.20 = CONTENT
    page.20 {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos=3
    wrap = wrap = <b> | </b>
    }
    [/quote:e34325c2eb]
    konnte deshalb nicht funktionieren, weil Du das wrap = wrap geschrieben hast. Es müsste wohl nichts passiert sein.

    und bei
    [quote:e34325c2eb]
    page.30 = COA
    page.30.20 = COA
    page.30.20 {
    10 = TEXT
    10.value = Titel: {page:title}
    10.insertData = 1
    10.wrap = <b> | </b>
    }
    [/quote:e34325c2eb]

    hätte schon
    [quote:e34325c2eb]
    page.30.20 &lt; styles.content.getRight
    [/quote:e34325c2eb]

    gereicht. Du musst ja dem Inhalt des Datensatzes überhaupt keinen Titel geben, kein Titel, keine Anzeige.
    Mich stören auch die ganzen Tabellen, clear.gifs und Vorformatierungen, deshalb schmeiße ich sie immer komplett raus und mache alles über CSS. Bei der zu erwartenden Entwicklung von Typo 3 wird es wohl auch in diese Richtung gehen.

    Sorry nochmal, dass ich Deinen Text nicht genau gelesen habe und vor allem nicht ein zweites, dann hätte ich eher verstanden was Du meintest, aber leider steht am Anfang:
    [quote:e34325c2eb]&lt;p style="margin:0 0 0 0;"&gt;|&lt;/p&gt;
    warum?[/quote:e34325c2eb]
    da reagiert man halt erstmal drauf....

    Grüße aus Frankfurt

  • 1