Einzelne Kategorien in Sitemap ausblenden

Gesperrt
nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Einzelne Kategorien in Sitemap ausblenden

Beitrag von nomore » Di 17. Apr 2007, 19:53

Ich habe das Forum intensiv nach einer passenden Lösung durchgeforstet, aber keinen Anhaltspunkt für eine Lösung gefunden.

Es geht darum einzelne Kategorien in der Standard-Sitemap von Contenido 4.6.15 auszublenden ohne diese offline setzen zu müssen.

Geht das überhaupt?

Über einen Tipp wäre ich dankbar.
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Re: Einzelne Kategorien in Sitemap ausblenden

Beitrag von mvf » Di 17. Apr 2007, 20:28

hier mal eine variation der sitemap von ingo (aka Dodger77) mit exclude_cats array

Code: Alles auswählen

<?php
/*
cInclude("frontend", "includes/functions.navigation.php");
cInclude("classes", "class.frontend.permissions.php");
cInclude("classes", "class.frontend.groups.php");
cInclude("classes", "class.frontend.users.php");

*/



// CMS_VALUES initialisieren
$anzahlEbenen      = "3";
$startkategorie    = "1";
$ebeneNullAnzeigen = "0";

function vpSitemap($kategorie=0)
{
  global $lang, $client, $cfg, $startkategorie, $anzahlEbenen, $ebeneNullAnzeigen;

  $mvf_excludeCats = array(19);
  
  $db  = new DB_Contenido;
  $sql  = "SELECT
             *
           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 id=\"sitemap\">\n";
      else $result .= "<ul>\n";
    }
    while ($db->next_record())
    {
    	
    	
    	
    	if (!in_array($db->f("idcat"), $mvf_excludeCats)) {
    		$mvf_idcat = $db->f("idcat");
    	
    	
		$visible = checkCatPermission($db->f("idcatlang"),$db->f("public"));
		if ($visible) {    	
    	
    	
      $lvl = $db->f("level");
      if (($lvl > 0) || ($ebeneNullAnzeigen)) $result.=  "<li><a href='front_content.php?idcat=".$mvf_idcat."&lang=$lang&client=$client' class='item".$mvf_idcat."' title='".$db->f("name")."'>".$db->f("name")."</a>".vpSitemap($mvf_idcat, $lvl)."</li>\n";
      else $result.=  "<li>&nbsp;".vpSitemap($mvf_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);

?>
$mvf_excludeCats = array(19); wäre der array, kannste aber auch in eine mandanteneinstellung auslagern
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Di 17. Apr 2007, 20:46

Erst mal Danke für die schnelle Antwort.
Leider bin ich noch nicht so fit in PHP um das jetzt auf Anhieb zu verstehen. Kannst du das vieleicht näher erläutern?
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 17. Apr 2007, 20:55

ohm? da gibts nicht viel zu verstehen

paste den code in den output eines neuen moduls und binde das modul in das template ein

ersetze die 19 mit der idcat die nicht in der sitemap angezeigt werden soll und fertig.

wenn es mehere sind dann eben mit komma getrennt
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Di 17. Apr 2007, 22:41

Gibt es denn eine Möglichkeit dies auch auf die Standardsitemap anzuwenden?
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 17. Apr 2007, 22:44

nomore hat geschrieben:Gibt es denn eine Möglichkeit dies auch auf die Standardsitemap anzuwenden?
keine ahnung die funktioniert ist kurz und über css zu stylen, damit geht alles, was willste denn mehr oder überhaupt?
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Di 17. Apr 2007, 23:03

Hast ja Recht :D Ich habe mir die vpsitemap per CSS angepasst. Danke nochmals für den super Tipp, hat mir sehr geholfen.
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag von mvf » Di 17. Apr 2007, 23:09

nomore hat geschrieben:Hast ja Recht :D Ich habe mir die vpsitemap per CSS angepasst. Danke nochmals für den super Tipp, hat mir sehr geholfen.
np ;) vp_ module sind immer fein, also sende den dank an dodge
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams

nomore
Beiträge: 130
Registriert: Sa 15. Mai 2004, 19:38
Kontaktdaten:

Beitrag von nomore » Sa 21. Apr 2007, 11:19

Hallo hab da noch ne Frage zur vpsitemap. Was muss ich am Modul ändern, das die Unterkategorien untereinander gelistet werden?

Also:

Hauptkategorie

- Unterkategorie 1
- Unterkategorie 2
- Unterkategorie 3
Irgendwann läuft alles, fragt sich nur wann,
und wohin! :-)
ConTemplates.de

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

Beitrag von Dodger77 » Sa 21. Apr 2007, 11:26

IMO gar nichts. Das lässt sich doch komplett über CSS gestalten. Am besten nimmst du die entsprechenden CSS-Anweisungen mal aus dem Stylesheet raus und erzeugst dir dein eigenes nach Bedarf.

Gesperrt