[TYPO3-german] HTML-Anker für ContentElemente nicht in Standardsprache verfügbar (Fehlendes Feld _LOCALIZED_UID)

Simon Schick simonsimcity at googlemail.com
Wed Mar 17 13:19:54 CET 2010


Hi, all

Ich bin jetzt selbst auf die Lösung gekommen:

Das Problem lag tatsächlich in der Umstellung der TYPO3-Version - aber nicht
innerhalb der Core-Funktion sondern innerhalb der Extension
css_styled_content!
Im TypoScript dieser Extension wurde in Zeile 283 der dataWrap entfernt ...

Ich habe eine Lösung geschrieben, über die ihr noch mal drüberschaun'
solltet ob sie so korrekt ist:

tt_content.stdWrap.prepend = TEXT
tt_content.stdWrap.prepend {
    if.isFalse.if.equals.field = tx_impexp_origuid

    append < tt_content.stdWrap.prepend

    if.isTrue >

    prepend = TEXT
    prepend.dataWrap = <a id="c{field:tx_impexp_origuid}"></a>
    prepend.if.value.field = tx_impexp_origuid
    prepend.if.isGreaterThan = 0

    dataWrap = <a id="c{field:uid}"></a>
}

Ich habe gelesen, dass die Tabellenspalte tx_impexp_origuid etwas mit dem
TYPO3 Im- und Export zu tun hat und dachte, es kann nicht verkehrt sein,
diese hier einzubringen - korregiert mich wenn das falsch ist!

Bei dieser Abänderung wird folgendes erzeugt:
* ein Anker mit ID des ContentElements (außer die ID ist gleich dem Feld
tx_impexp_origuid)
* wenn das Feld mit der LangOverlay-ID vorhanden ist - ein Anker mit dessen
ID (außer die LangOverlay-ID ist gleich dem Feld tx_impexp_origuid)
* ein Anker mit dem Wert des Feldes tx_impexp_origuid außer er ist nicht
gleich 0

Bye
Simon

Am 15. März 2010 18:22 schrieb Simon Schick <simonsimcity at googlemail.com>:

> Hi, all
>
> Ich möchte in meiner TYPO3-Umgebung auf ein bestimmtes ContentElement
> verlinken mittels HTML-Anker.
>
> Im TypoScript steht dafür folgende Definition:
>
> tt_content.stdWrap.prepend = TEXT
> tt_content.stdWrap.prepend {
> dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>
> if.isTrue.field = _LOCALIZED_UID
> }
>
> Wie man hier sieht, werden die Anker nur gesetzt, wenn das
> Feld _LOCALIZED_UID existiert.
> Dafür wurde bereits ein Bug-Tracker-Eintrag erstellt:
> http://bugs.typo3.org/view.php?id=3952
>
> Problempunkt ist nun, dass seit der TYPO3-Version 4.3.0 dieses Feld fehlt
> solange ich keine Lokalisierung aktiviert habe - damit meine ich, dass die
> TypoScript-Variable config.sys_language_uid auf 0 steht. Sobald ich diese
> Variable auf eine Zahl größer 0 stelle und diese Lokalisierung existiert,
> wird dieses Feld gesetzt.
>
> Die Funktion, die dieses Feld erzeugt liegt in:
> class.tslib_content.php Zeile 1345
>
> http://www.typo3-unleashed.net/typo3apidocs/latest/db/d97/class_8tslib__content_8php_source.html#l01306
>
>
> Falls jemand das gleiche Problem hat, bitte hier melden sobald eine Lösung
> eingelaufen ist ...
>
> Ich werde mir als nächsten Schritt die Funktion
> $GLOBALS['TSFE']->sys_page->getRecordOverlay(); näher ansehen und mal
> nachschauen, wo der Inhalt des Feldes generiert wird...
>
> Bevor ich's vergess - Hier noch meine TypoScript-Einstellungen bezüglich
> Mehrsprachigkeit:
>
> config {
>    typolinkCheckRootline = 1
>
>    # shows the CEs which is translated
>    #1 displays the fallback-CEs if they aren't transl
>    sys_language_overlay = hideNonTranslated
>    linkVars = L
>
>    #### german language ####
>    sys_language_uid = 0
>    language = de
>    locale_all = de_DE.UTF8
>    htmlTag_langKey = de
> }
>
> #### English language
> [globalVar = GP:L = 1]
>    config.sys_language_uid = 1
>    config.language = en
>    config.locale_all = en_EN.UTF8
>    config.htmlTag_langKey = en
> [global]
>
> Bye
> Simon
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list