we:ifObject mit mehreren classid

Fragen zum Erstellen von Templates für webEdition.
WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

we:ifObject mit mehreren classid

Beitragvon WildnerDesigner » Do 22. Okt 2020, 13:44

Hallo zusammen,

ich möchte einen bestimmte Inhalt nur anzeigen lassen, wenn meine Objekte bestimmter Klassen zugehörig sind.
Dafür habe ich folgenden Code: <we:ifObject classid="1,2,3">

Leider klappt das nicht, da nur ein Wert beim classid-Attribut hinterlegt werden darf.
Frage: Muss ich nun jede einzelne classid in einem eigenen Tag unterbringen oder gibt es evtl. eine andere, kompaktere Lösung?

Danke schon mal vorab :)

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: we:ifObject mit mehreren classid

Beitragvon blickfang » Do 22. Okt 2020, 13:55

kannst du vielleicht das we:object einfach immer machen und dann innerhlab dem we:object die Abfrage auf die classid des gerade aufgerufenen Objekts machen?

ODer du machst Dir ein Array in php und steckst die classid als Variabel in das <we:ifObject classid="$classId">... rein
VG, Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

Re: we:ifObject mit mehreren classid

Beitragvon WildnerDesigner » Do 22. Okt 2020, 14:13

Danke dir für die Rückmeldung!

Ich möchte die Abfrage von we:ifObject unter anderem auch innerhalb von we:repeatShopItem vornehmen.
Hier funktioniert we:object anscheinend nicht.

Das mit dem Array habe ich probiert, aber nicht hinbekommen oder es hat nicht geklappt. Hättest du einen Code für mich?

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: we:ifObject mit mehreren classid

Beitragvon blickfang » Do 22. Okt 2020, 14:21

<?php $meinArray = array(1,2,3); ?>

<we:ifObject classid="$meinArray">...</we:ifObject>
so in etwa...

Ich verwende die shopItems nie, aber ist das dan mit <we:field...> abzufragen? Dann könnte evtl. auch sowas wie

<we:repeat...>
<we:ifField name="we_parentId" match="1">...</we:ifField>
</we:repeat>

klappen?
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: we:ifObject mit mehreren classid

Beitragvon NilSole » Do 22. Okt 2020, 14:31

Hallo Timo,

Ich glaube nicht, dass ifObject arrays als Argumente akzeptiert.

Ich würde hier auch auf die Classid zugreifen und dann ein Tag mit Array Support verwenden.

Schöne Grüße
Nils

WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

Re: we:ifObject mit mehreren classid

Beitragvon WildnerDesigner » Do 22. Okt 2020, 14:41

Das mit dem Array bei ifObject klappt nicht, hier darf wohl nur ein Wert stehen.
Auch der Vorschlag mit ifField geht nicht.

@Nila: Was meinst du mit dem 2. Satz? Hast du ein Code-Beispiel?

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: we:ifObject mit mehreren classid

Beitragvon blickfang » Do 22. Okt 2020, 14:44

sorry, über das array muss natürlich drüber gerannt werden und der jeweilige Werta sud em ArrayKey reingesteckt werden...

<?php foreach($meinArray as $key => $id){ ?>
<we:ifObject classid="$id">

<we:ifObject>
<?php } ?>
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

WildnerDesigner
Member
Beiträge: 38
Registriert: Mi 27. Jun 2018, 16:53

Re: we:ifObject mit mehreren classid

Beitragvon WildnerDesigner » Do 22. Okt 2020, 15:07

Perfekt, danke dir. Funktioniert einwandfrei :wink:

ThomasGoebe

Re: we:ifObject mit mehreren classid

Beitragvon ThomasGoebe » Do 22. Okt 2020, 17:50

Alterantiv könntest Du dir die classid in eine globale Variable schreiben und dann entsprechend mit Deinem Array vergleichen ( z.B. mittels in_array() ).


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste