Zum Inhalt springen

parseFunc verwenden

Erstellt am 14. Januar 2007 · 1 Antwort · letzte Antwort am 14. Januar 2007

Tags: Frage

automatix ·

Hallo allerseits!

Ein typischer Anfängerfall... 😉 Man hat eine gute Funtion für sich entdeckt und weiß nun nicht damit umzugehen. Also...

Das ist mein Code, der den Inhalt der Spalte "Normal" anzeigt.

mainPage.10 {
    marks {
        CONTENT_MAIN = CONTENT
        CONTENT_MAIN {
            table = tt_content
            select.orderBy = sorting
            select.where = colPos = 0
#            select.languageField = sys_language_uid
        }
    }
}

Und das ist der Code, durch den das Rendering der Typolinks angepasst wird / werden soll:

tt_content.text {
    10 = TEXT
    10.field = bodytext
    10.wrap = |
    10.parseFunc {
        makelinks = 1
        makelinks.http.keep = path
        makelinks.http.extTarget = _blank
        makelinks.mailto.keep = path
        tags {
            link = TEXT
            link {
                current = 1
                
                typolink.target = {$cLinkTagTarget}
                typolink.target.if.value.data = typolink.target
                typolink.target.if.isFalse.value.data
                typolink.target = _top

                typolink.extTarget = {$cLinkTagTarget}
                typolink.extTarget.if.value.data = typolink.target
                typolink.extTarget.if.isFalse.value.data
                typolink.extTarget = _blank
                
                typolink.wrap = |
                typolink.parameter.data = parameters : allParams
                typolink.title = statischer-Titel
                typolink.ATagParams = class=link_A
            }
        }
    }
}

Wenn ich nun beides ins Template schreibe, bekomme ich im FE gleich zwei Varianten des Inhalts: den Inhalt mit "richtig" geparsten Links und (darunter) den mit "falsch" geparsten Links.

Wie soll man das Script ändern, damit der zweite Block nur die Parsing-Regeln setzt und keinen Inhalt erzeugt? Wie ist das Script zu ändern, damit die Inhalte nur einmal und dabei "richtig" geparst ins FE kommen?

Danke

automatix ·

Lösung:

mainPage.10.marks.CONTENT_MAIN = CONTENT
mainPage.10.marks.CONTENT_MAIN {
    table = tt_content
    select.orderBy = sorting
    select.where = colPos = 0
}

lib.parseFunc {
        makelinks = 1
        makelinks.http.keep = path
        makelinks.http.extTarget = _blank
        makelinks.mailto.keep = path
}
lib.parseFunc.tags.link {
                current = 1
                
                typolink.target = {$cLinkTagTarget}
                typolink.target.if.value.data = typolink.target
                typolink.target.if.isFalse.value.data
                typolink.target = _top

                typolink.extTarget = {$cLinkTagTarget}
                typolink.extTarget.if.value.data = typolink.target
                typolink.extTarget.if.isFalse.value.data
                typolink.extTarget = _blank
                
                typolink.wrap = |
                typolink.parameter.data = parameters : allParams
                typolink.title = statischer-Titel
                typolink.ATagParams = class=statische-Klasse
            }
        }
    }
}
lib.parseFunc_RTE < lib.parseFunc

Gruß