Zweispaltiger Text mit Split

  • Niklas Lazinbee Niklas La...
    Sternenflotten-Admiral
    0 x
    224 Beiträge
    2 Hilfreiche Beiträge
    20. 01. 2012, 16:21

    Hallo,
    ich möchte einen Text zweispaltig auf eine Webseite bringen, allerdings nur, wenn eine Bedingung erfüllt ist.

    Ansatzweise geht es so

    1. tt_content.text {
    2. 20 = TEXT
    3. 20 {
    4. field = bodytext
    5. token = ###SPLITTER###
    6. cObjNum = 1 || 2
    7. 1.current = 1
    8. 1.if.equals.field = section_frame
    9. 1.if.value = 70
    10. 1.wrap = <table border="0" cellpadding="0" cellspacing="3"><tr><td valign="top"> | </td>
    11. 2.current = 1
    12. 2.if.equals.field = section_frame
    13. 2.if.value = 70
    14. 2.wrap = <td valign="top"> | </td></tr></table>
    15. }
    16. }
    17. }

    Allerdings wird so, wenn secteion_frame ungleich 70 ist gar kein Text mehr dargestellt. Ich würde hingegen gerne das "split" komplett deaktivieren, wenn der Wert nicht übereinstimmt, also mit der Bedingung direkt beim "split" ansetzen.

    Oder noch besser, kein "split" wenn ###SPLITTER### nicht im Text vorkommt.

    Hat da jemand einen Tip, ich habe leider nichts dazu gefunden?

    Beste Grüße
    Niklas


  • 1
  • Niklas Lazinbee Niklas La...
    Sternenflotten-Admiral
    0 x
    224 Beiträge
    2 Hilfreiche Beiträge
    04. 02. 2012, 19:07

    Eine neu Idee zum selben Problem, die schon ein wenig besser funktioniert:

    1. tt_content.text {
    2.  
    3.  
    4. 30 = COA
    5. 30.if.equals.field = section_frame
    6. 30.if.value = 70
    7. 30 {
    8. 10 < tt_content.text.20
    9. 10.split = COA
    10. 10.split {
    11. token = ###SPLITTER###
    12. token.required=1
    13. cObjNum = 1 || 2
    14. 1.current = 1
    15. 1.wrap = <table border="0" cellpadding="0" cellspacing="3"><tr><td valign="top"> | </p></td>
    16. 2.current = 1
    17. 2.wrap = <td valign="top"><p> | </td></tr></table>
    18. }
    19.  
    20. }
    21. }

    Jetzt wird der Text, der in css_styled_content bei "20" erstellt wird nicht mehr vom "split" beeinflusst

    1. # *****************
    2. # CType: text
    3. # *****************
    4. tt_content.text = COA
    5. tt_content.text {
    6. 10 = < lib.stdheader
    7.  
    8. 20 = TEXT
    9. 20 {
    10. field = bodytext
    11.  
    12. parseFunc = < lib.parseFunc_RTE
    13.  
    14. editIcons = tt_content:bodytext, rte_enabled
    15. editIcons.beforeLastTag = 1
    16. editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bodytext
    17.  
    18. prefixComment = 2 | Text:
    19. }
    20. }

    Der Nachteil ist, wenn "section_frame" auf "70" steht, steht der Text doppelt auf der Seite, einmal normal und einmal zweispaltig.

    Für diese Fall müßten man "20" wieder löschen, nur wie?

    Beste Grüße
    Niklas

  • udowald udowald
    Sternenflotten-Admiral
    0 x
    160 Beiträge
    0 Hilfreiche Beiträge
    19. 02. 2012, 23:07

    Hallo Niklas,

    ich empfehle dir die Extension "multicolumn". Die ist wirklich klasse.

    Wenn Du es dennoch mit eigenem TS machen möchtest, kommst Du wahrscheinlich um ein Case Object nicht rum. So in die Richtung wie unten.

    1. temp.standard < tt_content.text
    2. temp.zweispaltig < tt_content.text.20
    3. temp.zweispaltig.split
    4. .....etc.
    5. tt_content.text = CASE
    6. tt_content.text {
    7. key.field = section_frame
    8. default < temp.standard
    9. 0 < temp.standard
    10. 10 < temp.webkat
    11. 20 < temp.benefit
    12. 70 < temp.zweispaltig
    13. }

  • Niklas Lazinbee Niklas La...
    Sternenflotten-Admiral
    0 x
    224 Beiträge
    2 Hilfreiche Beiträge
    21. 02. 2012, 17:05

    Danke für die Antwort, das sieht ganz gut aus, sobald ich wieder etwas Zeit habe, werde ich mein TS einmal umbauen. "multicolumn" kenne ich auch und setze ich auch ein, allerdings habe ich dabei im Falle meines Vorhabens den Eindruck, mit Kanonen auf Spatzen zu schießen.

    Beste Grüße
    Niklas

  • Niklas Lazinbee Niklas La...
    Sternenflotten-Admiral
    0 x
    224 Beiträge
    2 Hilfreiche Beiträge
    06. 08. 2012, 20:49

    Wenn auch schon einige Zeit vergangen ist, ich habe den Vorschlag von udowald noch einmal aufgegriffen. Hier das zugehörige Typoscript

    1. temp.standard < tt_content.text
    2. temp.zweispaltig < tt_content.text.20
    3. temp.zweispaltig.split = COA
    4. temp.zweispaltig.split {
    5. token = ###SPLITTER###
    6. token.required=1
    7. cObjNum = 1 || 2
    8. 1.current = 1
    9. 1.wrap = <table border="0" cellpadding="0" cellspacing="3"><tr><td valign="top"> | </p></td>
    10. 2.current = 1
    11. 2.wrap = <td valign="top"><p style="display:none"> | </td></tr></table>
    12. }
    13.  
    14. tt_content.text = CASE
    15. tt_content.text {
    16. key.field = section_frame
    17. default < temp.standard
    18. 0 < temp.standard
    19. 230 < temp.zweispaltig
    20. }

    Besten Dank,
    Niklas

  • 1