Navigation mit Listview in Abhängigkeit der Kategorie

Fragen zum Erstellen von Templates für webEdition.
webman2014
Member
Beiträge: 62
Registriert: Sa 8. Mär 2014, 01:22

Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon webman2014 » Mi 7. Mai 2014, 20:42

Hallo Experten,
ich bin dabei eine Navi mit listview zu erstellen. Je nach Kategorie des aktuellen Dokumentes soll von allen Dokumenten dieser gleichen Kategorie eine Liste erstellt werden. Hierfür war meine Überlegung den Titel der Kategorie des aktuellen Dokumentes wie folgt auszulesen:

<we:listview type="document" categories="<we: category field="Title">" >
<we:ifFound>
<div id="sidebar" class="group one-fourth last">
<div class="widget-first widget-last widget widget_nav_menu">
<h3 class="page-title">
<we:var type="document" name="Title" />
</h3>
<div class="menu-shortcodes-container">
<ul id="menu-shortcodes" class="menu">
<we:repeat>
<li><we:field name="Title" alt="we_path" hyperlink="true"/></li>
</we:repeat>
</ul>
</div>
</div>
</div>
</we:ifFound>

</we:listview>

Das funktioniert aber nicht, denke wegen der Verschachtelung (<we: category field="Title">" >). Hier mache ich einen Fehler. Könnt Ihr mir einen Tipp geben? Bzw. funktioniert das so wenn richtg verschachtelt?
Vielen Dank
HerrMann
------------------------------------------------------------------
Webedition 8.1.4.0, Hoster Domainfactory, PHP 7.3 Stable, MySQL 5.6.19

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon e_herrmann » Mi 7. Mai 2014, 21:26

Hi,
du kannst WE-Tags, wie schon vermutet, nicht schachteln. Wenn du den Wert eines Tags in ein anderes einfügen möchtest, musst du diesen in eine Variable packen. Jedes Tag das eine Ausgabe produziert, kannst du mit "to" und "nameto" in eine globale Variable umleiten.

Versuch das mal so:
<we:category showpath="true" to="global" nameto="cat_doc" />
<we:listview type="document" categories="\$cat_doc" >
<we:ifFound>
<div id="sidebar" class="group one-fourth last">
<div class="widget-first widget-last widget widget_nav_menu">
<h3 class="page-title">
<we:var type="document" name="Title" />
</h3>
<div class="menu-shortcodes-container">
<ul id="menu-shortcodes" class="menu">
<we:repeat>
<li><we:field name="Title" alt="we_path" hyperlink="true"/></li>
</we:repeat>
</ul>
</div>
</div>
</div>
</we:ifFound>

</we:listview>

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

webman2014
Member
Beiträge: 62
Registriert: Sa 8. Mär 2014, 01:22

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon webman2014 » Mo 12. Mai 2014, 21:54

Hallo Elko,
besten Dank, funktioniert bestens, habe es nur etwas modifiziert, da ich den Titel brauche.

<we:category field="Title" to="global" nameto="cat_doc" />
<we:listview type="document" categories="\$cat_doc" >
----- schnipp -------

Versuche parallel eine listview zu erstellen, die anhand eines Wertes einer neuen Variablen "rubrikauswahl" (wird durch ein Auswahlmenü von den Redaktueren gesetzt) die Ergebnisse der documente ausgibt, die bei rubrikauswahl den Wert "buecher" gesetzt haben. Habe getestet mit
<?php p_r($GLOBALS['we_doc']); ?>
die Variable "rubrikauswahl" ist korrekt mit "buecher" gefüllt, das klappt. Nur die listview bekomme ich nicht hin. Habe mich an Deinem obigen Vorschlag orientiert, mache noch was falsch .... Kannst Du mir noch einen Tipp geben? Ich wäre glücklich .... :--)

<we:ifVar name="rubrikauswahl" match="buecher">
<!-- zum Testen match="buecher" eingetragen, wenns funzt kommt stattdessen Variable rein -->
<we:listview type="document" >
<we:ifFound>
<div id="sidebar" class="group one-fourth last">
<div class="widget-first widget-last widget widget_nav_menu">
<h3 class="page-title">
<we:var type="document" name="Title" />
</h3>
<div class="menu-shortcodes-container">
<ul id="menu-shortcodes" class="menu">
<we:repeat>
<li><we:field name="Title" alt="we_path" hyperlink="true"/></li>
</we:repeat>
</ul></div></div></div>
</we:ifFound>
</we:listview>
</we:ifVar>
------------------------------------------------------------------
Webedition 8.1.4.0, Hoster Domainfactory, PHP 7.3 Stable, MySQL 5.6.19

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon e_herrmann » Di 13. Mai 2014, 16:08

Hi,
so richtig verstehe ich nicht, was du machst.

Bei deinem ersten Beispiel: du übergibst das Title-Feld der Kategorie an eine Listview und diese liefert dir die richtigen Ergebnisse? Das wundert mich, dass das geht.

Was du weiter vorhast verstehe ich anhand deines Post nicht wirklich.
Nur soviel:
bei mehreren Listviews auf einer Seite solltest du den einzelnen Listviews Namen geben.
Wo kommt denn die Rubrik buecher her? ist das eine Kategorie? Falls es eine Kategorie ist und dort der Eintrag im Title-Feld, musst du an die Listview entweder die ganze Kategorie übergeben (siehe mein erstes Beispiel), oder die Kategorie-IDs.
Mehr kann ich dazu leider nicht sagen.

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

webman2014
Member
Beiträge: 62
Registriert: Sa 8. Mär 2014, 01:22

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon webman2014 » Di 13. Mai 2014, 20:57

Hallo Elko,
danke für Deine Geduld, ich habe mich in der Tat etwas missverständlich ausgedrückt.
Das listview mit der Kategorie ist vollkommen unabhängig von meiner zweiten listview zu sehen, die beiden sind jeweils in anderen templates. Funktionieren tut das Kategorie-listview wunderbar, meine documente habe alle Kategorien mit jeweils Kategorietiteln bekommen, daher kann ich diese selektiert ausgeben. OK ... , bin zufrieden ...

Mit dem anderen listview soll eine andere Anforderung umgesetzt werden. Hierzu erhalten die Redakteure ein Pulldownmenü anhand dessen eine Rubrik ausgewählt werden kann, unter anderem "buecher". Die Variable heisst "rubrikauswahl".
Mittels <?php p_r($GLOBALS['we_doc']); ?> habe ich überprüft ob die Variable rubrikauswahl über den korrekten Wert (buecher) verfügt, jawohl alles ok. > rubrikauswahl = buecher.
Nun das Problem: Wie bekomme ich eine listview hin, die mir, um bei diesem Beispiel zu bleiben, nur die Documente anzeigt, deren Variable "rubrikauswahl" = buecher gesetzt ist. Habe hiervon 5 Stück angelegt, keines wird angezeigt. Hier habe ich Verschiedenes ausprobiert und bin zuletzt bei den conditions hängengeblieben. Da "rubrikauswahl" ja schon eine globale Variable ist, muss ich diese ja nicht erst in eine stecken wie bei der Kategorie? Richtig?. Ich habe also folgenden Ansatz, der aber keine Ergebnisse anzeigt.

<we:var type="document" name="rubrikauswahl" to="screen /> <!-- Test um den Wert nochmals zu überprüfen, hier alles ok-->
<we:condition name="bedingung">
<we:conditionAdd field="rubrikauswahl" value="buecher" compare="="/> <!-- buecher zunächst zum Testen ohne Variable eingegeben-->
</we:condition>

<we:listview type="document" condition="\$bedingung">
<we:repeat>
<li><we:field name="Title" alt="we_path" hyperlink="true"/></li>
</we:repeat>
</we:listview>

Ich komme nicht weiter, was habe ich übersehen?. Habe im Forum gelesen, dass bei conditions die documente dynamisch erzeugt werden müssen, habe ich berücksichtigt. Es wäre toll, wenn Du - oder ein anderer Wissender - zu meiner Erleuchtung beitragen würdest?
Ich danke Dir/Euch
Gruß
HerrMann
------------------------------------------------------------------
Webedition 8.1.4.0, Hoster Domainfactory, PHP 7.3 Stable, MySQL 5.6.19

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon e_herrmann » Di 13. Mai 2014, 22:38

Hi,
soweit ich weiß, geht we:condition nicht mit der LV-document. Da musst du dir den String selbst zusammenbauen. In etwa so:
<?php
$condition = (" rubrikauswahl ='buecher' ");
?>
Das sucht dann die Dokumente, bei denen das Feld "rubrikauswahl" mit dem Wert "buecher" belegt ist.

Die Conditions sind in Webedition nur rudimentär implementiert. Vieles was bei Objekten möglich ist, funktioniert hier nicht. Falls du aufwendigere Filterungen benötigst, solltest du mit Objekten arbeiten.
Die Rubriken hier lassen sich auch schön mit Kategorien abbilden.

Weitere Infos und ein paar Beispiel gibt es noch im Forum:
http://forum.webedition.org/search.php? ... +condition

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de

webman2014
Member
Beiträge: 62
Registriert: Sa 8. Mär 2014, 01:22

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon webman2014 » So 18. Mai 2014, 18:03

Hallo Elko,
habe noch verschiedenes ausprobiert unter anderem mit ifEqual, wodurch ja zwei Variablen verglichen werden können. Aber als Einsatz für einen Filter innerhalb der listview habe ich das nicht hinbekommen.
Nehme jetzt doch Kategorien dafür, das klappt ja auch mit meiner anderen listview.
Nochmals Dank
Gruß
HerrMann
------------------------------------------------------------------
Webedition 8.1.4.0, Hoster Domainfactory, PHP 7.3 Stable, MySQL 5.6.19

e_herrmann
Senior Member
Beiträge: 1319
Registriert: Do 22. Mai 2003, 23:25

Re: Navigation mit Listview in Abhängigkeit der Kategorie

Beitragvon e_herrmann » Mo 19. Mai 2014, 10:53

Halo HerrMann,
mit ifEqual prüfst du Felder innerhalb des Templates. Innerhalb der Listview benutzt du ifField, alle Optionen zeigt dir hier die Taghilfe.

Grüße Elko
Elko Herrmann
komplexx | internet.fotografie
web: http://www.komplexx.de


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

Wer ist online?

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