Sitemap Modul für mehrere Bäume

Gesperrt
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Sitemap Modul für mehrere Bäume

Beitrag von sarronsarron »

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
xmurrix
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

Beitrag von xmurrix »

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
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.
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: Sitemap Modul für mehrere Bäume

Beitrag von sarronsarron »

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
Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Sitemap Modul für mehrere Bäume

Beitrag von Spider IT »

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:

Code: Alles auswählen

Sitemap aufbauen

Author: Ingo van Peeren (ingo@van-peeren.de)
Version: 0.1
Input:

Code: Alles auswählen

$selected = "CMS_VALUE[0]";

echo "
<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
  <tr valign=\"top\">
    <td>Kategorie w&auml;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>";
Output:

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>&nbsp;".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\"/>";

?>
Gruß
René
sarronsarron
Beiträge: 251
Registriert: Do 10. Mär 2011, 17:02
Wohnort: Erlangen
Kontaktdaten:

Re: Sitemap Modul für mehrere Bäume

Beitrag von sarronsarron »

Danke,


werds ausprobieren

gruß sarronsarron
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Sitemap Modul für mehrere Bäume

Beitrag von Dodger77 »

Aber bitte die aktuelle Version verwenden:

http://www.contenido-tutorials.de/module/vpsitemap/

:D
Gesperrt