Zum Inhalt springen

locallang.xml, locallang.xlf, unbekannter Blockstil

Erstellt am 10. November 2012 · 2 Antworten · letzte Antwort am 11. November 2012

Tags: TYPO3 4, Frage

rkolo ·

Moin,
ich verwende TYPO3 4.7.1. Schon installiert war htmlarea v4.7.1.

Auch ich habe das Problem mit dem Hinzufügen neuer Stile, bin allerdings schon recht weit: Ich kann im HTML-Modus einem p-Tag eine Klasse "prominent" per Hand hinzufügen und die wird auch so abgespeichert und formatiert, wie sie dann soll. Das Problem ist, dass mir mein neuer Blockstil als "unbekannter Blockstil" angezeigt wird, wenn ich die Klasse per Hand eingetragen habe, aber nicht vorweg. Und schon gar nicht erscheint der Eintrag "prominent" in der Liste.

Ich habe das KOMPLETTE TS in typo3/sysext/rtehtmlarea/res/typical/pageTSConfig.txt kopiert, um meine Angaben erweitert, eine CSS mit angegeben und in das TSCONFIG der root-Seite eingefügt. Nachdem meine Änderungen nur partiell funktionierten, dachte ich, es hinge mit der locallang.xml zusammen und wollte hier dann meinen Eintrag "prominent" mit einsetzen. ICh stellte dann allerdings fest, dass ich nur eine Datei locallang.xlf habe, die ich nicht ansehen kann, wenn ich sie in der Dateibearbeitung über den Erweiterungsmanager anklicke.

Fragen:
- Müssen die Änderungen überhaupt in der Sprachdatei aufgenommen werden?
- Wie kann ich die locallang.xlf zumindest mal ansehen, um zu wissen, was drin steht? Hilft mir die Extension "extdeveval" dabei? Wollte jetzt nicht noch eine überflüssige Ext. installieren...
- Ist mein Verständnis überhaupt richtig, wenn ich einen normalen <p>-Absatz über einen neuen Blockstil ändere (also da, wo auch zentriert, linksbündig (auch mit gelber Farbformatierung), rechtsbündig steht?
- Einen Textstil auf einen ganzen Absatz anzuwenden ist nicht gut?

Wäre toll, wenn jemand einen Hinweis hätte, schon mal danke dafür!!

An diesen Stellen stehen meine Änderungen:

 ## Define labels and styles to be applied to class selectors in the interface of the RTE
    ## The examples included here make partial re-use of color scheme and frame scheme from CSS Styled Content extension
RTE.classes {
    align-left {
        name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifyleft
        value = text-align: left;
    }
    align-center {
        name = LLL:EXT:rtehtmlarea/htmlarea/locallang_tooltips.xml:justifycenter
        value = text-align: center;
    prominent {
        name = prominent
        value = prominent;
    }
...
## List all class selectors that are allowed on the way to the database
    proc.allowedClasses (
        external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail,
        align-left, align-center, align-right, align-justify,
        csc-frame-frame1, csc-frame-frame2,
        component-items, action-items,
        component-items-ordered, action-items-ordered,
        important, name-of-person, detail,
        indent, prominent
    )
 ## Restrict the list of class selectors presented by the RTE to the following for the specified tags:
    buttons.blockstyle.tags.div.allowedClasses (
        align-left, align-center, align-right,
        csc-frame-frame1, csc-frame-frame2, prominent
    )
...
LuP ·

Hallo,

zu Deinen Fragen:

rkolo schrieb

- Müssen die Änderungen überhaupt in der Sprachdatei aufgenommen werden?

ist optional. Es ist dann nur nötig, um in der Auswahlliste einen schöneren Namen (statt prominent) sprachenabhängig anzuzeigen. Allerdings sollte man dafür eine externe Datei anlegen und dort die Anpassungen vornehmen.

rkolo schrieb

- Wie kann ich die locallang.xlf zumindest mal ansehen, um zu wissen, was drin steht? Hilft mir die Extension "extdeveval" dabei? Wollte jetzt nicht noch eine überflüssige Ext. installieren...

es würde genügen, folgende Zeile in die Datei localconf.php hinzufügen:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['textfile_ext'] = 'txt,html,htm,css,tmpl,js,sql,xml,csv,php,php3,php4,php5,php6,phpsh,inc,phtml,xlf';

Dann wie üblich im EM die Datei anklicken.

rkolo schrieb

- Ist mein Verständnis überhaupt richtig, wenn ich einen normalen <p>-Absatz über einen neuen Blockstil ändere (also da, wo auch zentriert, linksbündig (auch mit gelber Farbformatierung), rechtsbündig steht?

ja, aber zusätzlich muss die CSS-Klasse definiert werden (s. rte-styles.css)

rkolo schrieb

- Einen Textstil auf einen ganzen Absatz anzuwenden ist nicht gut?

ich sehe keinen Nachteil

rkolo schrieb

Ich habe das KOMPLETTE TS in typo3/sysext/rtehtmlarea/res/typical/pageTSConfig.txt kopiert

Nicht notwendig. Du könntest das ganze wie folgt deutlich vereinfachen:

RTE.classes {
    prominent {
        name = LLL:fileadmin/templates/lang/locallang_rte.xml:prominent
        value = border: solid 1px red;
    }
}

RTE.default {
    buttons.blockstyle.showTagFreeClasses = 1
    contentCSS = fileadmin/templates/css/rte-styles.css
    proc.allowedClasses := addToList(prominent)
    buttons.blockstyle.tags.div.allowedClasses := addToList(prominent)
}

fileadmin/templates/lang/locallang_rte.xml

<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<T3locallang>
    <data type="array">
        <languageKey index="default" type="array">
            <label index="prominent">Prominent block</label>
        </languageKey>
    </data>
</T3locallang>

fileadmin/templates/css/rte-styles.css

.prominent {
    border: solid 1px red;
}

VG,
LuP

rkolo ·

Hallo LuP!
Vielen herzlichen Dank, es funktioniert. Aber ich verstehe nicht, warum, denn ist meine Änderung in

RTE.default {
   proc.allowedClasses := addToList(prominent)
}

nicht eigentlich identisch mit

## List all class selectors that are allowed on the way to the database
    proc.allowedClasses (
        external-link, external-link-new-window, internal-link, internal-link-new-window, download, mail,
        align-left, align-center, align-right, align-justify,
        csc-frame-frame1, csc-frame-frame2,
        component-items, action-items,
        component-items-ordered, action-items-ordered,
        important, name-of-person, detail,
        indent, prominent
    )

Und ich hatte die Zeile

buttons.blockstyle.showTagFreeClasses = 1

nicht mit dabei. Die scheint der Schlüssel zu meinem Glück zu sein.
VIELEN DANK nochmal!