Standard-Sitemap: bestimmte Seiten farblich hervorheben?

Gesperrt
tommo
Beiträge: 120
Registriert: So 27. Jun 2004, 21:34
Kontaktdaten:

Standard-Sitemap: bestimmte Seiten farblich hervorheben?

Beitrag von tommo »

Hallo zusammen,

ich benutze die Standard-sitemap von 4.6.2 und möchte gerne betimmte Seiten farblich hervorheben. Leider kann ich in der "sitemap_level1.html" ja keine PHP-Abfrage machen.

Wie könnte ich mit meinen bescheidenen PHP-Kenntnissen dies verwirklichen :?:

Hier mal der Code des Sitemao-Moduls:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Sitemap
* Author(s)   :     Jan Lengowski, Jose Rodriguez
* Copyright   :     Contenido - four for business
* Created     :     15-08-2002
************************************************/

#System properties in use:
#Type: navigation, Name: idcat_homepage
#Contains idcat of tree to be displayed in sitemap

#Includes
cInclude("frontend", "includes/functions.navigation.php");
cInclude("classes", "class.frontend.permissions.php");
cInclude("classes", "class.frontend.groups.php");
cInclude("classes", "class.frontend.users.php");
cInclude("classes", "class.template.php");

#If no tree is selected, use client setting
$newcat = "CMS_VALUE[0]";
if ($newcat=='') {
    $cApiClient = new cApiClient($client);
    $newcat = $cApiClient->getProperty('navigation', 'idcat_homepage');
}

#Get cat tree
$sql = "SELECT level FROM ".$cfg["tab"]["cat_tree"]." WHERE idcat=$newcat";
$db->query($sql);
$db->next_record();

echo sitemap($newcat);

function sitemap($newcat) {

	global $lang, $client, $cfg, $printing;

	#Initialize database objects
	$db = new DB_Contenido;
	$db2 = new DB_Contenido;
	$db3 = new DB_Contenido;
	
	$tpl = new Template;
	$tpl2 = new Template;
	$tpl3 = new Template;

	$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 =$newcat AND C.visible=1 "."ORDER by A.idtree";
	$db->query($sql);

	#Build level 1

	$tpl->reset();
	while ($db->next_record()) {
		#Check permissions, determine visibility
		$visible = checkCatPermission($db->f("idcatlang"),$db->f("public"));
		if ($visible) {
			$tpl->set("d","URL","front_content.php?idcat=".$db->f("idcat"));
			$tpl->set("d","NAME",$db->f("name"));
			$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 =".$db->f("idcat")." AND C.visible=1 "."ORDER by A.idtree";
			$db2->query($sql);

			#Build level 2
			$tpl2->reset();
			$level2 = '';
			$j = 0;
			while ($db2->next_record()) {
				$visible = checkCatPermission($db2->f("idcatlang"),$db2->f("public"));

				if ($visible) {
					$tpl2->set("d", "URL", "front_content.php?idcat=".$db2->f("idcat"));
					$tpl2->set("d", "NAME", $db2->f("name"));
					$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 =".$db2->f("idcat")." AND C.visible=1 "."ORDER by A.idtree";
					$db3->query($sql);

					#Build level 3
					$tpl3->reset();
					$level3 = '';
					$k = 0;
					while ($db3->next_record()) {
						$visible = checkCatPermission($db3->f("idcatlang"),$db3->f("public"));
						if ($visible) {
							$tpl3->set("d", "URL", "front_content.php?idcat=".$db3->f("idcat"));
							$tpl3->set("d", "NAME", $db3->f("name"));
						    $tpl3->next();
							$k ++;
						}
					}
					$level3 = $tpl3->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap_level3.html",1,0);
					$j++;
				}
				$tpl2->set("d", "LEVEL3", $level3);
				$tpl2->next();
			}
			$level2 = $tpl2->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap_level2.html",1,0);
		}
		$tpl->set("d", "LEVEL2", $level2);
		$tpl->next();
	}
	$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap_level1.html");
}

?>         
Danke,
Tom :wink:
rezeptionist
Beiträge: 1536
Registriert: Fr 20. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rezeptionist »

bestimmte Seiten oder ebenen ??wenn ebenen kannst du das üner die jeweilige template datei ja machen
greets
tommo
Beiträge: 120
Registriert: So 27. Jun 2004, 21:34
Kontaktdaten:

Beitrag von tommo »

nee, schon bestimmte Seiten, nicht ebenen.

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

Beitrag von mvf »

vieleicht stehe ich ja auch auch komplett auf dem schlauch, aber die seitemaps listen doch nur kategorien (ebenen) auf und keine artikel (seiten)?
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
tommo
Beiträge: 120
Registriert: So 27. Jun 2004, 21:34
Kontaktdaten:

Beitrag von tommo »

nee auch keine Artikel. :roll:

Ich habe z.B. 10 Hauptmenüpunkte und bei zweien gibt es Untermenüpunkte. Nun möchte ich in der Sitemap die Hauptmenüpunkte, die Untermenüpunkte besitzen farblich hervorheben.

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

Beitrag von mvf »

also doch kategorien ;)

lösung habe ich keine parat, aber schau doch mal bei w3concepts die habe ein katlist-modul, das liefert die artikel in kategorien als (x) hinter den kategorien. da kann man vieleicht was abgucken. :?

was du suchst ist eine logic die fetched wieviele unterkategorien es in einer kategorieXYZ gibt, und wenn der wert grösser 0 ist soll diese kategorieXYZ eine bestimmte css klasse bekommen.

gehen wird es bestimmt, aber frickeln musste selber ;) sorry
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
Gesperrt