Hallo,
ich habe 3 Navigationsbäume. Leider bildet das Standart Sitemap Modul nur einen ab.
Gibt es da schon ein anderes Modul oder eine Lösung?
Dank im Voraus
sarronsarron
Sitemap Modul für mehrere Bäume
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
-
- Beiträge: 3217
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 19 Mal
- Kontaktdaten:
Re: Sitemap Modul für mehrere Bäume
Hallo sarronsarron,
ein anderes Modul ist mir nicht bekannt.
Du kannst da aber auch Lösen, indem du das Sitemap-Modul zwei mal duplizierst und dann alle drei Sitemap-Module in einem Layout als Modulcontainer anlegst. Dann kannst du alle Sitemap-Module separat konfigurieren. Du musst auch dafür sorgen, dass Funktionen im Modulcode nicht mehrfach definiert werden.
Ist zwar nicht ganz ideal, sollte aber funktionieren.
Gruß
xmurrix
ein anderes Modul ist mir nicht bekannt.
Du kannst da aber auch Lösen, indem du das Sitemap-Modul zwei mal duplizierst und dann alle drei Sitemap-Module in einem Layout als Modulcontainer anlegst. Dann kannst du alle Sitemap-Module separat konfigurieren. Du musst auch dafür sorgen, dass Funktionen im Modulcode nicht mehrfach definiert werden.
Ist zwar nicht ganz ideal, sollte aber funktionieren.
Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten:
Re: Sitemap Modul für mehrere Bäume
Hallo,
ja sowas hab ich mir scho gedacht. ISt aber etwas aufwendig. Habe auf eine einfachere Lösunfe gehofft.
Naja, dann wird mir wohl nichts anderes übrigbleiben.
gruß sarronsarron
ja sowas hab ich mir scho gedacht. ISt aber etwas aufwendig. Habe auf eine einfachere Lösunfe gehofft.
Naja, dann wird mir wohl nichts anderes übrigbleiben.
gruß sarronsarron
Re: Sitemap Modul für mehrere Bäume
Hallo sarronsarron,
das Sitemap-Modul aus der Contenido 4.6 von Ingo van Peeren kan das, da kann man bei der Kategorieauswahl "----Alle----" auswählen.
Kann sein, dass ich das Modul mal überarbeitet habe um diese Funktionalität rein zu kriegen, deshalb poste ich es mal hier:
Beschreibung:
Input:
Output:
Gruß
René
das Sitemap-Modul aus der Contenido 4.6 von Ingo van Peeren kan das, da kann man bei der Kategorieauswahl "----Alle----" auswählen.
Kann sein, dass ich das Modul mal überarbeitet habe um diese Funktionalität rein zu kriegen, deshalb poste ich es mal hier:
Beschreibung:
Code: Alles auswählen
Sitemap aufbauen
Author: Ingo van Peeren (ingo@van-peeren.de)
Version: 0.1
Code: Alles auswählen
$selected = "CMS_VALUE[0]";
echo "
<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td><select name=\"CMS_VAR[0]\">
<option value=\"0\">---Alle---</option>";
// alle Kategorien auslesen
$query = "SELECT
A.idcat,
A.level,
C.name
FROM
".$cfg['tab']['cat_tree']." AS A,
".$cfg['tab']['cat']." AS B,
".$cfg['tab']['cat_lang']." AS C
WHERE
A.idcat=B.idcat AND
B.idcat=C.idcat AND
C.idlang='$lang' AND
B.idclient='$client' AND
C.visible=1
ORDER BY
A.idtree";
// Abfrage ausführen
$db->query($query);
// loop result and build the options
while( $db->next_record() ) {
// indent spacer
$spaces = "";
// how many levels
$levels = $db->f("level");
for( $i = 0; $i > $levels; $i++ ) {
// add 2 spaces for every level
$spaces = $spaces . " ";
} // end for
echo "<option";
if( $selected == $db->f("idcat") ) echo " selected=\"selected\"";
echo " value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} // end while
echo "
</select>
</td>
</tr>
<tr>
<td>Anzahl Ebenen:</td>
<td><input type=\"text\" name=\"CMS_VAR[1]\" value=\"CMS_VALUE[1]\"></td>
</tr>
<tr>
<td>Ebene \"0\" anzeigen:</td>
";
echo "<td><input type=\"radio\" name=\"CMS_VAR[2]\" value=\"1\"";
if( "CMS_VALUE[2]" == "1" ) {
echo "checked=\"checked\"";
}
echo "> ja
<input type=\"radio\" name=\"CMS_VAR[2]\" value=\"0\"";
if( "CMS_VALUE[2]" == "0" ) {
echo "checked=checked";
}
echo "> nein </td></tr>";
echo " </table>";
Code: Alles auswählen
<?php
// CMS_VALUES initialisieren
$anzahlEbenen = "CMS_VALUE[1]";
$startkategorie = "CMS_VALUE[0]";
$ebeneNullAnzeigen = "CMS_VALUE[2]";
function vpSitemap($kategorie=0) {
global $lang, $client, $cfg, $startkategorie, $anzahlEbenen, $ebeneNullAnzeigen;
$db = new DB_Contenido;
$sql = "SELECT
*,
C.public
FROM
".$cfg["tab"]["cat_tree"]." AS A,
".$cfg["tab"]["cat"]." AS B,
".$cfg["tab"]["cat_lang"]." AS C
WHERE
A.idcat=B.idcat AND
B.idcat=C.idcat AND
C.idlang='$lang' AND
B.idclient='$client' AND
B.parentid=$kategorie AND
level <= $anzahlEbenen AND
C.visible=1
ORDER BY
A.idtree";
$db->query($sql);
$treffer = $db->num_rows();
if( $treffer ) {
if( $kategorie == $startkategorie ) {
$result .= "<ul class=\"sitemap\">\n";
} else {
$result .= "<ul>\n";
}
}
while( $db->next_record() ) {
$lvl = $db->f("level");
if( checkCatPermission($db->f("idcatlang"),$db->f("public")) ) {
if( ($lvl > 0) || ($ebeneNullAnzeigen) ) {
$result.= "<li><a href='front_content.php?idcat=".$db->f("idcat")."&lang=$lang&client=$client' title='Ebene ".$lvl.": ".$db->f("name")."'>".$db->f("name")."</a>".vpSitemap($db->f("idcat"), $lvl)."</li>\n";
} else {
$result.= "<li> ".vpSitemap($db->f("idcat"), $lvl)."</li>\n";
}
}
}
if( $treffer ) $result .= "</ul>\n";
return($result);
}
$sql = "SELECT
level
FROM
".$cfg["tab"]["cat_tree"]."
WHERE
idcat=$startkategorie";
$db->query($sql);
$db->next_record();
$startEbene = $db->f("level");
$anzahlEbenen += $startEbene;
if( ($startkategorie==0) && ($ebeneNullAnzeigen) ) {
$anzahlEbenen--;
}
echo vpSitemap($startkategorie);
echo "<br class=\"y\"/>";
?>
René
-
- Beiträge: 251
- Registriert: Do 10. Mär 2011, 17:02
- Wohnort: Erlangen
- Kontaktdaten: