Upgrade auf 9 und $GLOBALS['lv']->anz_all

Fragen zum Erstellen von Templates für webEdition.
afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Di 9. Mär 2021, 18:06

hallo zusammen,

bin immer noch im Prozess nach dem Upgrade von 7 auf 9 die Templates geradezuziehen. In der 7-er Version hatten wir:

Code: Alles auswählen

...
<we:field type="text" name="we_object_2" to="global" nameto="reiseziel_id" />
...
<we:condition name="reisehotel_cond">
	<we:conditionAdd field="object_2" value="$reiseziel_id" compare="="/>
</we:condition>

<we:listview type="object" classid="1" rows="1" condition="\$reisehotel_cond" searchable="false">
	<?php if($GLOBALS['lv']->anz_all > 1): ?>
		<p><a href="<?php echo $reiseziel_url; ?>#hotelbegin" class="btn blue">Weitere Hotels</a></p>
	<?php endif; ?>
</we:listview>

und natürlich funktioniert anz_all nicht mehr. Habe es versucht mit we:listviewRows - es klappt immer noch nicht. Was mache ich falsch?

Code: Alles auswählen

...
<we:listview type="object" classid="1" rows="1" condition="\$reisehotel_cond" searchable="false">
	<we:listviewRows to="global" nameto="anz_all"/> 
	<?php if($anz_all > 1): ?>
		<p><a href="<?php echo $reiseziel_url; ?>#hotelbegin" class="btn blue">Weitere Hotels</a></p>
	<?php endif; ?>
</we:listview>
...
Danke im Voraus für Hinweise und Hilfe!
Grüße!

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Di 9. Mär 2021, 19:35

Nachtrag - so wie ich es rausgefunden habe, erzeugt diese Zeile GLOBALS Array Wert:

Code: Alles auswählen

<we:field type="text" name="we_object_2" to="global" nameto="reiseziel_id" />
wird zur $GLOBALS["reiseziel_id"]

und bei condition kommt leeres String an:

Code: Alles auswählen

<we:conditionAdd field="object_2" value="$reiseziel_id" compare="="/>
wie kann ich $GLOBALS["reiseziel_id"] ins we-Tag-Attribut eintragen?

Code: Alles auswählen

<we:conditionAdd field="object_2" value="<?=$GLOBALS["reiseziel_id"];?>" compare="="/>
oder gäbe es eine elegantere Lösung dafür?

ThomasGoebe

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon ThomasGoebe » Di 9. Mär 2021, 21:55

afawe hat geschrieben: Di 9. Mär 2021, 19:35 Nachtrag - so wie ich es rausgefunden habe, erzeugt diese Zeile GLOBALS Array Wert:

Code: Alles auswählen

<we:field type="text" name="we_object_2" to="global" nameto="reiseziel_id" />
wird zur $GLOBALS["reiseziel_id"]

und bei condition kommt leeres String an:

Code: Alles auswählen

<we:conditionAdd field="object_2" value="$reiseziel_id" compare="="/>
wie kann ich $GLOBALS["reiseziel_id"] ins we-Tag-Attribut eintragen?

Code: Alles auswählen

<we:conditionAdd field="object_2" value="<?=$GLOBALS["reiseziel_id"];?>" compare="="/>
oder gäbe es eine elegantere Lösung dafür?
Das sollte mit

Code: Alles auswählen

<we:conditionAdd field="object_2" value="\$reiseziel_id" compare="="/>
Globale Variablen müssen bei der Übergabe/Nutzung in einem we:Tag mit einem Backslash escaped werden. In früheren Versionen ging es ab und an auch ohne, aber das war so dann nie gewollt sondern eher ein Fehler.

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

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon NilSole » Di 9. Mär 2021, 22:30

Sollte für die listview nicht ein einfaches

Code: Alles auswählen

<we:ifFound>hier dein Code</we:ifFound>
Reichen?

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Di 9. Mär 2021, 22:39

es wird "mehr" Button gezeigt, wenn Anzahl größer als 1 ist - also aktuelles Ergebnis soll nicht das einzige sein.

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

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon NilSole » Di 9. Mär 2021, 23:31

Ach so, wenn du es dann weiter mit PHP machen möchtest, musst du bei to=global Zuweisungen per

Code: Alles auswählen

$GLOBALS['von-dir-gewählter-Name'];
Auf die Variablen zugreifen. Alternativ per we:Var type global, da gibt es auch Prüfungen, siehe Tagreferenz die ifs.

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Di 9. Mär 2021, 23:43

es wird bei $GLOBALS['page_count'] und $GLOBALS['countAll'] immer 1 zurückgegeben:

Code: Alles auswählen

<we:listviewPages to="global" nameto="page_count" />
<we:listviewRows to="global" nameto="countAll" /> 
ich würde vermuten, dass es ein Bug in der v.9.0.7 ist - dasselbe Verhalten habe ich in diesem Projekt auf 2-3 div. Seiten (Templates) mit dem gleichen Ergebnis: wenn die Liste Einträge hat, bekommt man nur 1 :(

ich war so frech es als Bug zu melden (#0013239)

ThomasGoebe

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon ThomasGoebe » Mi 10. Mär 2021, 00:43

afawe hat geschrieben: Di 9. Mär 2021, 22:39 es wird "mehr" Button gezeigt, wenn Anzahl größer als 1 ist - also aktuelles Ergebnis soll nicht das einzige sein.
Dazu ist doch auch we:ifNext mit we:next oder we:ifBack mit we:back gedacht. Hilft das weiter?

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Mi 10. Mär 2021, 08:58

es geht nicht um einfaches Paging, Idee dahinter ist, dass wenn man Hoteldetails anschaut, dann hätte man Button "weitere Hotels" wenn das Reiseziel mehrere Hotels beinhaltet. Das ausgewählte Hotel muss nicht unbedingt das erste bzw. letze sein - kann ich irgendwo dazwischen in dieser Liste liegen.

Und die Bedienung, wann dieser Button dargestellt wird, dass ausgewählte Hotel nicht das einzige Suchergebnis ist - also COUNT(*) muss größer als 1 sein

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

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon NilSole » Mi 10. Mär 2021, 10:38

Du hast doch in der Listview explizit rows=1 angegeben... Limitiert das nicht die Anzahl der gefundenen Einträge auf 1?

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Mi 10. Mär 2021, 12:23

soweit ich Doku verstanden habe (und so funktionierte es auch in der v.7):

Bei diesem Attribut gibst Du als Wert eine Zahl an, die die maximale Anzahl angezeigter Einträge definiert.

also rows beeinflusst nur Anzahl der dargestellten Elemente, nicht gefundenen - sonst würde das ganze Paging-Konzept nicht funktionieren. Oder sehe ich es falsch - wenn ja, warum funktionierte es in v7?

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon WBTMagnum » Mi 10. Mär 2021, 13:55

Hallo,

Folgendes sollte eigentlich wie von dir beschrieben tun (ungetestet):

Code: Alles auswählen

...
<we:field type="text" name="we_object_2" to="global" nameto="reiseziel_id" />
...
<we:condition name="reisehotel_cond">
    <we:conditionAdd field="object_2" compare="=" type="global" var="reiseziel_id"/>
</we:condition>
<we:listview type="object" classid="1" rows="1" condition="\$reisehotel_cond" searchable="false">
    <we:ifNext>
        <p><a href="<?php echo $reiseziel_url; ?>#hotelbegin" class="btn blue">Weitere Hotels</a></p>
    </we:ifNext>
</we:listview>
...

HTH,
Sascha

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Mi 10. Mär 2021, 22:25

leider funktioniert es auch nicht :(

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

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon NilSole » Mi 10. Mär 2021, 22:40

Ok, dann klingt das doch so, als würde deine Listview nur 1 Objekt finden.

Wenn dies nur 1 Id ausgibt, solltest du vielleicht noch mal über deine Condition schauen.

Code: Alles auswählen

<we:condition name="reisehotel_cond">
	<we:conditionAdd field="object_2" value="\$reiseziel_id" compare="="/>
</we:condition>

<we:listview type="object" classid="1" condition="\$reisehotel_cond" searchable="false">
	<we:repeat>
		<we:field name="we_id"/><br>
	</we:repeat>
</we:listview>

afawe
Junior Member
Beiträge: 17
Registriert: Sa 6. Mär 2021, 14:30

Re: Upgrade auf 9 und $GLOBALS['lv']->anz_all

Beitragvon afawe » Mi 10. Mär 2021, 23:26

immer noch nicht :(. es gibt wohl problem mit rows-counting:

Code: Alles auswählen

<we:listview type="object" classid="1" condition="\$reisehotel_cond" searchable="false">
	<we:listviewRows to="global" nameto="countAll" /> 
	<?php echo "countAll" . $GLOBALS['countAll']; ?>
	<br />
	<we:repeat>
		<we:field name="we_id"/><br>
	</we:repeat>
		<we:ifNext>
        <p><a href="<?php echo $GLOBALS['reiseziel_url']; ?>#hotelbegin" class="btn blue">Weitere Hotels</a></p>
    </we:ifNext>
</we:listview>
Dateianhänge
Bildschirmfoto 2021-03-10 um 22.28.42.png
Bildschirmfoto 2021-03-10 um 22.28.42.png (71.24 KiB) 2065 mal betrachtet


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

Wer ist online?

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