Hallo zusammen,
ich bräuchte mal kurz Hilfe. Ich gebe in einer Sitemap alle Seiten aus:
<we:listview type="document" contenttypes="text/webedition">...</we:listview>
Bisher habe ich immer mit workspaceID="x" oder languages="de_DE" die Ausgabe gesteuert aber das war nie optimal. Das funktioniert so ganz gut bei mehrsprachigen Seiten.
Ich würde gerne ein Ordner/einzelne Ordner in der Listview nicht ausgeben.
Ich muss den Dokumenttyp Bildergalerie in einem neuen Ordner anlegen und testen, will aber einfach, dass dieser ganze neue Ordner noch nicht in der Sitemap erscheint.
Hat hier einer einen Tipp?
Gruß
Heiko
Wie kann ich Ordner in einer Listview nicht ausgeben?
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Hi,
evtl. auf durchsuchbar "nein" stellen und in der Listview searchable="true"?
Gruß
Timo
evtl. auf durchsuchbar "nein" stellen und in der Listview searchable="true"?
Gruß
Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.
Ehemals im Vorstand des webEdition e.V.
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Da könnte man eigentlich auch condition="path NOT LIKE /pfad/zum/ordner%" einsetzen (ist jetzt aus dem Kopf).
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Danke für eure Antworten.
Timo, danke für den Tipp. Würde so gut zum testen von neuen Dokumenttypen funktionieren.
Nachteil ist hier allerdings, dass man alle Seiten wieder auf durchsuchbar setzen muss.
Nils, mit einer condition funktioniert das nicht so auf die schnelle. Es wird zudem immer ein "field" verlangt, die Doku dazu ist dürftig.
Innerhalb der Listview habe ich auch folgendes getestet aber das greift nicht.
Optimal wäre notworkspaceID="1,2" für die Listview aber das existiert ja nicht.
Gruß Heiko
Timo, danke für den Tipp. Würde so gut zum testen von neuen Dokumenttypen funktionieren.
Nachteil ist hier allerdings, dass man alle Seiten wieder auf durchsuchbar setzen muss.
Nils, mit einer condition funktioniert das nicht so auf die schnelle. Es wird zudem immer ein "field" verlangt, die Doku dazu ist dürftig.
Innerhalb der Listview habe ich auch folgendes getestet aber das greift nicht.
Code: Alles auswählen
<we:ifNotWorkspace id="29" doc="self">
......
</we:ifNotWorkspace>
Gruß Heiko
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
notWorkspaceID wäre eine schöner Feature Request!
<we:ifNotWorkspace> bezieht sich immer auf das Dokument, nicht auf das Objekt welche in der Listview geladen wird, daher kann das nicht funktionieren.
Du könntest dir auch vorher alle WorkspaceIds sammeln und die dann reinstecken und zuvor eben die nicht gewünschten wieder rauslöschen.. bisschen von hinten durch die Brust, aber sollte funktionieren. weBEdition Nativ kommst du aber auch glaub an die Verzeichnis Ids nicht ran, weil es kein <we:listview type="directory"> oder so gibt... über die Datenbank tblFile könntest du das aber vermutlich leicht rausbekommen...
Ist natürlich nicht updatesicher, aber halbwegs we-nativ
VG, Timo
<we:ifNotWorkspace> bezieht sich immer auf das Dokument, nicht auf das Objekt welche in der Listview geladen wird, daher kann das nicht funktionieren.
Du könntest dir auch vorher alle WorkspaceIds sammeln und die dann reinstecken und zuvor eben die nicht gewünschten wieder rauslöschen.. bisschen von hinten durch die Brust, aber sollte funktionieren. weBEdition Nativ kommst du aber auch glaub an die Verzeichnis Ids nicht ran, weil es kein <we:listview type="directory"> oder so gibt... über die Datenbank tblFile könntest du das aber vermutlich leicht rausbekommen...
Code: Alles auswählen
<?php
$myIds = [];
$exludeIds = [5,3];
$db=new DB_WE();
$db->query(SELECT ID FROM `tblFile` WHERE `IsFolder` = '1');
while($db->next_record()){
$myIds[]= $db->f('ID');
}
$workspaceIds = array_diff($myIds, $excludeIds);
?>
<we:listview workspaceID="$workspaceIds " ...>
</we:listview>
VG, Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.
Ehemals im Vorstand des webEdition e.V.
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
ja, nicht updatesicher und auf großen Installs auch recht langsam, v.a. wenn dann da evtl. 3000 IDs für Verzeichnisse reinkommen. Da dürfte die DB an beiden Queries ziemlich kotzen.
webEdition-Kern-Entwickler
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
jop, die Skalierfähigkeit der "Lösung" wäre in jedem Fall in Abhängigkeit der Größe der Installation in Frage zu stellen... Nachdem es hier aber um eine Sitemap geht und die vermutlich auch nur einmal am Tag oder so gebaut werden muss, könnte man das ggf. vertreten. Auf der Startseite des Auftritts würde ich das in einer dynamischen Seite mit 3000 Verzeichnissen auch nicht unbedingt drin haben wollen
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.
Ehemals im Vorstand des webEdition e.V.
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Falls ein spezieller Ordner ausgeschlossen werden soll, aber die Dokumente darin weiterhin durchsuchbar bleiben sollen (interne suche etc.) könnte eine Kondition helfen, die Folgendes abfragt:
<we:conditionAdd type="global" property="true" field="we_ParentID" compare="!=" value=" " />
im Value dann nur noch die ID des Workspaces eingeben.
Kann dann über conditionAnd und conditionOr beliebig verfeinert und skaliert werden, denke durch die Condition sollte es auch der "performanteste" Weg sein, einen oder mehrere Ordner gezielt auszuschließen.
Grüße aus Köln
<we:conditionAdd type="global" property="true" field="we_ParentID" compare="!=" value=" " />
im Value dann nur noch die ID des Workspaces eingeben.
Kann dann über conditionAnd und conditionOr beliebig verfeinert und skaliert werden, denke durch die Condition sollte es auch der "performanteste" Weg sein, einen oder mehrere Ordner gezielt auszuschließen.
Grüße aus Köln
- haydi
- Senior Member
- Beiträge: 645
- Registriert: Do 1. Jan 1970, 02:00
- Wohnort: Hirschberg
- Kontaktdaten:
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Das ist mal eine super-coole condition!
Könnte super als Beispiel in die Doku kommen, finde ich.
liebe grüße
heidi
Könnte super als Beispiel in die Doku kommen, finde ich.
liebe grüße
heidi
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Gute Idee, unter dem neuen Bereich Tipps und Rezepte passt das gut. Hast Du schon einen Zugang zur Doku? Wenn nicht, dann kann Dir ggf. Marc einen einrichten.
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Ja, nicht vergessen, dass dies gegebenenfalls nur die Dokumente berücksichtigt, die direkt in dem Ordner liegen. Bei verschachtelten Ordnerstrukturen müsste entsprechend über den Pfad gegangen oder zuerst die IDs aller Ordner innerhalb des Ordners ermittelt werden.
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Habs mal in die Tagreferenz gepackt.
Es geht tatsächlich nicht für Unterordner. Wie ist denn die genaue Syntax für Path?
Habe sowas wie: <we:conditionAdd type="global" property="true" field="we_ParentPath" compare="not like" value="%/pfad/%" />
Probiert, aber das scheint nicht zu funktionieren.
LG
Finn
Es geht tatsächlich nicht für Unterordner. Wie ist denn die genaue Syntax für Path?
Habe sowas wie: <we:conditionAdd type="global" property="true" field="we_ParentPath" compare="not like" value="%/pfad/%" />
Probiert, aber das scheint nicht zu funktionieren.
LG
Finn
Re: Wie kann ich Ordner in einer Listview nicht ausgeben?
Probier mal we_Path
ich hoffe du hast weitere Conditions
ich hoffe du hast weitere Conditions
webEdition-Kern-Entwickler
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 62 Gäste