Bug in der Sitemap?

Gesperrt
PC_mobil
Beiträge: 28
Registriert: So 27. Nov 2005, 21:55
Kontaktdaten:

Bug in der Sitemap?

Beitrag von PC_mobil » So 27. Nov 2005, 23:12

Hallo,

bin gerade noch auf ein kleines Problem gestoßen. Wenn ich einen Artikel nur einem bestimmten Nutzerkreis zugängig mache, bekome ich folgende Anzeige in der Sitemap.


Features dieser Website
Navigation
Content
Bildergalerie
Geschlossener Bereich
:arrow: korrekt

{NAME}
Navigation
Content
Bildergalerie
Geschlossener Bereich
:arrow: hier steht die andere Seite wenn ich sie öffentlich zugänglich mache, sobald ich sie wieder aber "ausblende" tritt dieser Fehler in der Sitemap auf. Hat jmd Lösung?

thnx

nightsky
Beiträge: 2
Registriert: Di 29. Nov 2005, 12:22
Kontaktdaten:

Fehler bestätigt

Beitrag von nightsky » Di 29. Nov 2005, 12:44

Bei mir tritt derselbe Fehler auch auf. ich bin jetzt am analysieren des Moduls. Wenn ich den Fehler finde werde ich hier die Lösung bringen

nightsky
Beiträge: 2
Registriert: Di 29. Nov 2005, 12:22
Kontaktdaten:

Fehler gefunden

Beitrag von nightsky » Di 29. Nov 2005, 13:02

Der Fehler bestand darin, dass die IF-Abfragen (visible) zu früh geschlossen wurden.

Der richtige Code für die Sitemap Ausgabe:

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 ++;
						} // ENDE if l3
					} // ENDE while l3
					$level3 = $tpl3->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap_level3.html",1,0);
					$j++;
					$tpl2->set("d", "LEVEL3", $level3);
					$tpl2->next();
				} // ENDE if l2
			} // ENDE while l1
			$level2 = $tpl2->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap_level2.html",1,0);
			$tpl->set("d", "LEVEL2", $level2);
			$tpl->next();
		} // ENDE if l1
	}
	$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap_level1.html");
}

?>         

PC_mobil
Beiträge: 28
Registriert: So 27. Nov 2005, 21:55
Kontaktdaten:

Beitrag von PC_mobil » Di 29. Nov 2005, 13:07

thnx :!: werde ich gleich mal einbauen

MyAccount
Beiträge: 383
Registriert: Do 17. Jul 2003, 10:21

Beitrag von MyAccount » Do 15. Dez 2005, 11:02

Code: Alles auswählen

      #Check permissions, determine visibility
      $visible = checkCatPermission($db->f("idcatlang"),$db->f("public")); 
Gibt es auch eine Funktion checkCatArticle()? Ich kann die nämlich leider nicht finden. Oder löst ihr das immer über das SQL-Statement, bzw. über den ArticleArray?

Das Modul zeigt so nämlich auch die Kategorien an, die keine Artikel enthalten. OK, man könnte auch einfach die Kategorien, die leer sind einfach offline setzen. Ich kann aber nicht davon ausgehen, dass jeder Online-Redakteur das auch macht.

[edit]
Hat sich erledigt. Im Prinzip braucht man nur die Hauptnavigation nachzubauen. wenn man die selbe Anzeige (geschützer Bereich, keine Artikel enthalten) haben will, wie die eigentlich Navigation anzeigt.

Trotzdem wäre zumindest interessant, wenigstens die Links mit href="#" zu füllen, wenn tatsächlich kein Artikel dahinterliegt.
[/edit]

silicone
Beiträge: 299
Registriert: Di 15. Mär 2005, 10:33
Kontaktdaten:

Beitrag von silicone » Fr 10. Nov 2006, 12:05

Hallo,

könnte man das geänderte Modul in den Beispielmandanten einbauen?

Danke

joe
Beiträge: 23
Registriert: Do 26. Aug 2004, 11:05
Kontaktdaten:

Re: Fehler gefunden

Beitrag von joe » Di 12. Dez 2006, 10:23

nightsky hat geschrieben:Der Fehler bestand darin, dass die IF-Abfragen (visible) zu früh geschlossen wurden.
wow, gutes auge - danke hatte nämlich das gleiche problem

joe

o
Beiträge: 6
Registriert: Di 24. Apr 2007, 23:03
Kontaktdaten:

Beitrag von o » Do 3. Mai 2007, 01:09

ist aber leider auch in der 4.6.15 nicht verbessert worden. das selbe problem besteht immer noch.

grüsse

olaf

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 3. Mai 2007, 10:48

Die Sitemap wird in der kommenden Version voraussichtlich komplett ersetzt.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » So 24. Jun 2007, 19:06

Checkin.
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net

Gesperrt