Seite 1 von 1

sitemap problemchen [gelöst]

Verfasst: Do 15. Dez 2005, 13:26
von rene04
hallo,

ich habe nun eine sditemap gefunden. allerdings hätte ich die schrift gerne grau und ohne unterstrich. habe eine klasse .sitemap in css erstellt. aber wo binde ich die ein???

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :       vpSitemap 0.1
* Author      :     Ingo van Peeren
* Copyright   :     Ingo van Peeren (ingo@van-peeren.de)
* Created     :     14-01-2005
* Modified    :     11-07-2005
* Credits     :     Nik Wyss & juergen@sotonic.de
************************************************/

// 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
             *
           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())
    { 
      $lvl = $db->f("level");
      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);
?> 
gruesse rene

Verfasst: Do 15. Dez 2005, 14:58
von MyAccount
if (($lvl > 0) || ($ebeneNullAnzeigen)) $result.= "<li><a href='front_content.php?idcat=".$db->f("idcat")."&lang=$lang&client=$client' title='Ebene ".$lvl.":
In dieser Zeile solltest Du erst einmal festlegen, welches TAG Du stylen willst.

Hier bietet sich z.B. das <a...-Tag wie folgt an:
if (($lvl > 0) || ($ebeneNullAnzeigen)) $result.= "<li><a class='sitemap' href='front_content.php?idcat=".$db->f("idcat")."&lang=$lang&client=$client' title='Ebene ".$lvl.":
Ansonsten googlen, wo man wie CSS-Style-Definitinen einbaut. Intern, im HTML-Document selbst, oder extern in extra style.css, wie bei Contenido-Beispiel-Mandanten auch. Findest Du unter STYLE/STYLEEDITOR

Verfasst: Do 15. Dez 2005, 15:25
von rene04
dort greift es nicht :(

gruesse rene

Verfasst: Do 15. Dez 2005, 16:06
von MyAccount
Um Dir weiterhelfen zu können, brauche ich das Layout mit CSS-Definition , die CSS-Datei, und den Quelltext der fertigen Seite (Frontend).

Verfasst: Fr 16. Dez 2005, 12:00
von rene04
hmmm, ich bin in dem fall weitergekommen. habe aber ein neues komisches problem.

ich habe einen style definiert als .site A:link { ...} und als .site A:hover {..} und .link A:visited { selbe farbe wie link }

wenn ich in der sitemap nun über die links fahre werden sie ganz toll andersfarbig :) allerdings nur so lange ich nicht schon einmal auf den link geklickt habe. sobal auf einen link geklickt wurde wird dieser nicht mehr andersfarbig bei drüberfahren :(

an was liegt denn das?

gruesse rene

Verfasst: Fr 16. Dez 2005, 13:08
von MyAccount
Kann Dir nicht ganz folgen. Auch finde ich die Formatierung bei Dir sehr komisch.

Es heisst doch:

Code: Alles auswählen

 a.site:link
Und wichtig bei den Pseudo-Klassen ist die Einhaltung der Reihenfolge in der CSS-Definition:

Immer so:

Code: Alles auswählen

a:link { color: red }
      /* link pseudo-class, noch nicht besuchter Link */
a:visited { color: blue }  
      /* link pseudo-class, schon besuchter Link */
a:hover { color: yellow }
      /* dynamic pseudo-class, Benutzer 'hovert' */
a:active { color: lime } 
      /* dynamic pseudo-class, Link wird ausgewählt */
a:focus { color: lime } 
      /* dynamic pseudo-class, Element akzeptiert Eingaben */

Verfasst: Mo 19. Dez 2005, 15:13
von rene04
danke,

das hat geholfen.

gruesse rene