Links in Sitemap mit .html ausgeben
Verfasst: Do 9. Okt 2008, 10:37
hallöchen Community,
ich habe folgendes Problem:
Die Webseite die ich grad zu ändern versuche, soll im Bereich der Sitemap die Links jeweils suchmaschinentauglich ausgeben. Im Moment werden nur die Alias' ausgegegeben. Gegensätzlich zur Navigation. Da werden richtige kategorie1/kategorie2/artikel.html ausgegeben.
Ich nutze folgendendes Modul für die Generierung der Sitemap:
Input:
Output:
Dazu die ModRewrite-Einstellungen:
ModRewrite use 1
ModRewrite redirect_invalid_article_to_errorsite 56
ModRewrite category_resolve_min_percentage 80
Kann das vielleicht daran liegen?
Bei einem 2. Projekt nutze ich das gleiche Modul. Da werden die Links aber wie gewünscht, korrekt ausgegeben.
Contenido-Version: 4.6.15
Sitze seit Stunden und suche und suche und suche. Komm aber kein Stück weiter.
Hat jemand einen Rat?
LG
die Nico
ich habe folgendes Problem:
Die Webseite die ich grad zu ändern versuche, soll im Bereich der Sitemap die Links jeweils suchmaschinentauglich ausgeben. Im Moment werden nur die Alias' ausgegegeben. Gegensätzlich zur Navigation. Da werden richtige kategorie1/kategorie2/artikel.html ausgegeben.
Ich nutze folgendendes Modul für die Generierung der Sitemap:
Input:
Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*".$db2->f("idcat")
*
*".$data["idcat"]."&idart=".$data["idart"]
* 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","HREF","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", "HREF", "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", "HREF", "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/"."sitemap2_level3.html",1,0);
$j++;
}
$tpl2->set("d", "LEVEL3", $level3);
$tpl2->next();
}
$level2 = $tpl2->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap2_level2.html",1,0);
}
$tpl->set("d", "LEVEL2", $level2);
$tpl->next();
}
$tpl->generate($cfgClient[$client]["path"]["frontend"]."templates/"."sitemap2_level1.html");
}
?>
ModRewrite use 1
ModRewrite redirect_invalid_article_to_errorsite 56
ModRewrite category_resolve_min_percentage 80
Kann das vielleicht daran liegen?
Bei einem 2. Projekt nutze ich das gleiche Modul. Da werden die Links aber wie gewünscht, korrekt ausgegeben.
Contenido-Version: 4.6.15
Sitze seit Stunden und suche und suche und suche. Komm aber kein Stück weiter.
Hat jemand einen Rat?
LG
die Nico