core icon indicating copy to clipboard operation
core copied to clipboard

Möglichkeit zur Angabe von HTML5 Data-Attributes

Open fkaminski opened this issue 10 years ago • 11 comments

Es wäre schön wenn man HTML5 Custom Data-Attribute in den Einstellungen der Artikel und Inhaltselemente setzen könnte.

Also in etwa wie im Bereich "Experten-Einstellungen" unter "CSS-ID/Klasse" eine zusätzliche Eingabe hierzu. Somit entfällt der Umweg über eigene Template Änderungen.

fkaminski avatar Oct 29 '14 13:10 fkaminski

Und auf welchen HTML Tag (Element) würde das dann eingefügt?

Hast du einen Beispiel-Anwendungsfall?=

aschempp avatar Oct 29 '14 13:10 aschempp

Yepp - nicht zu Ende gedacht. Für die Artikel Einstellungen wäre es ausreichend:

<div class="mod_article" data-test-1 data-test-2 first block" id="inhalt">...</div>

Für die jeweiligen Inhaltselemente zumindest im umgebenden Container:

    <div class="ce_text" data-test-1 data-test-2 first block">...</div>
    <div class="ce_image" data-test-1 data-test-2 first block">...</div>

Dies würde für individuelle jQuery Abfragen o. CSS Queries ausreichen.

Allerdings nicht in letzter Konsequenz - denn was passiert beispielsweise bei einer Aufzählung:

<div class="ce_list first block">
<ol>
<li class="first">1</li>
<li>2</li>
<li class="last">3</li>
</ol>
</div>

Die Attribute könnten im umgebenden Container aber auch oder nur im li Element benötigt werden. Eine generelle Festlegung wäre demnach immer subjektiv - und würde bei Nutzung verschiedener Frameworks ( z.B. animate.css + wow.js ) u.U. dennoch nicht greifen.

Bin mir nicht sicher wie eine individuelle Zuordnung - die dann universal wäre - im Contao Backend dann realsiert werden könnte.

fkaminski avatar Oct 29 '14 14:10 fkaminski

IMHO ein Fall für eine Erweiterung. Für den Core finde ich das zu speziell.

Aybee avatar Oct 29 '14 15:10 Aybee

Wie gesagt - für die jeweils umgebenden Container ist es dann bereits hilfreich und eine Erleichterung. Für spezielle Anpassungen führt dann wohl der Weg nur über Custom templates ...

fkaminski avatar Oct 29 '14 15:10 fkaminski

ich glaube eine "ideale Lösung" wird es wahrscheinlich nicht geben... z.Z. finde ich Contao im Bezug auf "HTML5" noch etwas "hinten an" - neben den data-Attributen gibt es z.B. auch noch die aria-Attribute.

Viele CSS-Frameworks arbeiten mit der Zuweisung von mehreren CSS-Klassen, so dass man bei dem kleinen "Eingabefeld-chen" immer ins schwimmen kommt - man sieht nur ca. "3 von 7" Klassen.

Zur Zeit behelfe ich mich mit dem dma_elementgenerator, bei dem ich die fehlenden Eingabemöglichkeiten nacharbeite und die häufig anzutreffende "div-row-Kapselung" einbaue.

Beim TinyMCE3 konnte man mit einigen zus. Angaben wenigstens noch einige dieser Angaben "reinwurschteln" - beim Tiny 4 ist man fast komplett auf dem Button "HTML" angewiesen. Das ist nicht für alle "Redakteure" der passende Workfow. Leider habe ich für den Tiny(3) noch keinen "vernünftigen" Ersatz finden können - z.B. einen, wo man den LI einer UL auch Klassen für Icons mit auf den Weg geben kann (außer direkt per HTML-Quelltext).

zonky2 avatar May 04 '15 16:05 zonky2

Hi, @FrankoGitHub , dein 2. Eintrag: doch es ist zuende gedacht :-) Es ist manchmal wirklich notwendig, auch bei ce_text die data-Attribute einsetzen zu können, denn ich nutze Foundation und für gleich-hohe Container braucht man am mod_article das data-equalizer (geht) und am ce_text das data-eualizer-watch, das bekomme ich nicht hin.

Danke.

Edit: Habe gerade das Plugin add_data_attribut von Nussi1990 gefunden, geht auch unter 3.5.6.

ThomasJanotta avatar Mar 10 '16 06:03 ThomasJanotta

man "darf" hier auch verlinken... https://contao.org/de/erweiterungsliste/view/add_data_attributes.10000009.de.html

zonky2 avatar Mar 10 '16 07:03 zonky2

Theoretisch würde für die data-Attribute ein einfaches Input reichen, mit dem man einfach etwas einem Element hinzufügen kann, denn die data-Attribute sind ja individuell:

<element data-*="somevalue">

Das heißt, es muss bei data-Attributen immer alles eingegeben werden: data-attribute-Name und data-attribute-Value.

Bei aria-Attributen ist es genauso problematisch, da es einmal roleoder aria-* gibt. Somit bleibt nur das input-Feld.

Ich würde außerdem ebenfalls dafür plädieren, dass die Felder für CSS-ID/Klasse über die gesamte Breite gehen und zusätzlich dazu noch ein input über die komplette Breite für zusätzliche Attribute wie data-*, role oder aria-* oder sonst irgendwelche Attribute. Es wäre relativ flexibel.

screenshot 2016-03-10 08 22 12

frontendschlampe avatar Mar 10 '16 07:03 frontendschlampe

https://github.com/thepixture/html5data

MDevster avatar Mar 10 '16 09:03 MDevster

@frontendschlampe Nur muss das data-Attribut in den seltensten Fällen dem umschließenden div zugewiesen werden, weswegen ein Input-Feld meiner Meinung nach wenig Sinn macht. Ähnliches gilt für die aria-Attribute.

leofeyer avatar Mar 11 '16 08:03 leofeyer

naja ... es sollte diese Felder beim Artikel geben, wie auch bei den Inhaltselementen. Genauso, wie es mit CSS-Klasse und ID möglich ist. Innerhalb des TinyMCE ist es ja so oder so eher schwierig irgendwelche Attribute, Klassen o.ä. mitzugeben. Aber es gibt genügend Sachen, wo man am Artikelcontainer oder am Inhaltselement diese Attribute benötigt.

frontendschlampe avatar Mar 11 '16 09:03 frontendschlampe