Ich versuche, dem dce-image für weitere Aktionen eine zusätzliche Quelle hinzuzufügen, z. eine alternative Quelle, um einige JavaScript-Aktionen auszuführen.Fügen Sie zusätzliche Bildquelle für weitere Aktionen hinzu.
Die gewünschte Ausgabe sollte wie folgt aussehen:
<img src="path/to/foo.png" data-altsrc="path/to/bar.png">
Das Problem ist die dce ich verwende - seine Iterieren durch die „Bilder“ wie folgt aus:
<f:for each="{dce:fal(field:'image', contentObject:contentObject)}" as="fileReference">
<f:image src="{fileReference.uid}" treatIdAsReference="1" />
</f:for>
Also, wenn ich würde füge mehrere Bilder hinzu. Ich habe keine wirkliche Beziehung zwischen den Bildern, wo ich weiß, welche die normale Quelle ist und welche die alternative Quelle ist.
So gab es die Möglichkeit, einen Abschnitt zu erstellen und zwei Felder für Bilder hinzuzufügen, die wir auf ein Bild pro Feld beschränken können. Aber da ist wieder die For-Schleife, die es mir nicht erlaubt, auf die Quelle des zweiten Bildes für das erste Bild zuzugreifen.
Es sollte eine sichtbare Beziehung zwischen diesen Bildern für den Benutzer sein, der mit dem dce arbeitet.
Im Versuch, so etwas zu erreichen:
<f:for each="{field.images}" as="images">
<!-- want to achieve something like this -->
<f:image image="{images.foo.src}" data-altsrc="{images.bar.src}">
<!-- thats the normal way iterating through images -->
<f:for each="{images.foo}" as="image">
<f:image image="{image}" />
</f:for>
</f:for>
Eine weitere Idee zuerst durch die abwechselnden Bilder zu wiederholen wäre und sie in ein Array speichern und auf den Hauptbild auf sich zuzugreifen, aber ich habe keine Ahnung, Wenn dies auch möglich ist, wird dies die Benutzerfreundlichkeit der dce für den Benutzer einschränken.
Gibt es eine Möglichkeit, dies mit dce-fluid zu erreichen?
Vielen Dank im Voraus
Also ich nehme an (wie du schon sagtest) es wäre der beste Weg meinen eigenen ViewHelper zu erstellen, den ich in der fluid-template (dce) verwende. Auch ich muss Veränderungen im Kern vermeiden. Dies könnte die richtige Antwort sein. Ich habe mehr darüber gelesen. Vielen Dank. – Slatyoo