Sitemap mit allen Artikeln
Verfasst: Fr 6. Jul 2007, 09:25
Hallo!
Ich hoffe dass mir jemand helfen kann. Ich habe nun, so denke ich, fast alle Treads zu diesem Thema gelesen. Ich habe bereits alles Mögliche ausprobiert aber das was ich benötige war nicht dabei.
Und zwar suche ich eine Sitemap, die alle Artikel ausgibt. Nicht nur die Startartikel.
Ich verwende momentan folgendes Modul.
und für den Output
Mit diesem Modul werden nur die Startartikel ausgegeben. Mein Gedanke war, die Stelle zu finden, die die Startartikel aus der Datenbank ausliest. Und das dann auf alle Artikel auszuweiten. Habs aber nicht gefunden bzw. auch nicht hinbekommen.
Wäre prima, wenn mir jemand weiterhelfen würde. Bin schon am verzweifeln.
Gruß Deddy
Ich hoffe dass mir jemand helfen kann. Ich habe nun, so denke ich, fast alle Treads zu diesem Thema gelesen. Ich habe bereits alles Mögliche ausprobiert aber das was ich benötige war nicht dabei.
Und zwar suche ich eine Sitemap, die alle Artikel ausgibt. Nicht nur die Startartikel.
Ich verwende momentan folgendes Modul.
Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Sitemap
* Author(s) : Jan Lengowski, Jose Rodriguez
* Copyright : Contenido - four for business, Jose Rodriguez
* Created : 15-08-2002
* Modified : 14-01-2003 by nik wyss
* Modified : 29-12-2003 by Sascha Benkart.
************************************************/
#Selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
"." <tr valign=\"top\">
"." <td>Kategorie wählen:</td>
"." <td>
"." <select name=\"CMS_VAR[0]\">
"." <option value='0'>---Alle---</option>
";
#Fetch all categorys
$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";
#Execute query
$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." ";
}
if ($selected == $db->f("idcat")) {
#Selected category
echo " <option selected=\"selected\" value=\"".$db->f("idcat")."\">".$spaces.$db->f("name")."</option>";
} else {
#Unselected Category
echo " <option value=\"".$db->f("idcat")."\">".$spaces.$db->f("name")."</option>";
}
}
echo " </select>
"." </td>
"." </tr>
"." </table>
";
?><?php
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");
}
?>
Wäre prima, wenn mir jemand weiterhelfen würde. Bin schon am verzweifeln.

Gruß Deddy