Benutzer-Werkzeuge

Webseiten-Werkzeuge


we:getcat

Kategorie der Seite für Listview verwenden

Mit der PHP-Funktion „getCat“ kann eine Kategorie von einer webEdition-Seite ausgelesen werden, um beispielsweise auf dieser Seite eine Listview mit Objekten der gleichen Kategorie darzustellen. Da es möglich ist, dass dieser Seite mehrere Kategorien zugeordnet wurden gibt es außerdem die Möglichkeit, ein Root-Verzeichnis als 2. Parameter zu übergeben.

getCat.php
function getCat( $we_docID, $rootdir )
{
	global $DB_WE; // webEdition Datenbank-Verbindung
 
	$Categories = f( "SELECT Category FROM tblFile WHERE ID='" . $we_docID . "'", "Category", $DB_WE ); //IDs aller Kategorien für das übergebene Objekt auslesen
 
	$Cats = array();
	$Cats = explode( ",", $Categories ); // String in Array-Elemente teilen
	$Cats = array_slice( $Cats, 1, -1 ); // führendes und letztes Komma entfernen
 
	foreach( $Cats as $Value ) // für jeden Array-Eintrag Werte ausgeben
	{
		$Path = f( "SELECT Path FROM tblCategorys WHERE ID='$Value'", "Path", $DB_WE ); // Pfad & Name der Kategorie
		$pos = strpos( $Path, $rootdir );
 
		if( $pos !== false) // Root-Verzeichnis gefunden
			return $Path;
	}
}

Beispiel für die Nutzung der Funktion in einer webEdition-Vorlage:

<we:include type="document" id="498" comment="getCat.php" />
<?PHP $Cat = getCat(  $GLOBALS['we_doc']->ID, "/Landingpage/" ); ?>
 
<we:listview type="object" classid="3" categories="\$Cat">
	<we:repeat>
		<div class="news shadow rounded">
			<h1><we:field name="Title" alt="we_path" hyperlink="true"/></h1>
			<p><we:field name="Beschreibung" /></p>
		</div>
	</we:repeat>
</we:listview>	

Hier wird aus den der webEdition-Seite zugeordneten Kategorien die im Kategorienverzeichnis „Landingpage“ gesucht und als Kriterium in der Listview verwendet. So werden in der Listview nur Objekte derselben Kategorie angezeigt.

we/getcat.txt · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)