Google Sitemap XML für 4.8x mit und ohne MR
Hallo torten boxer ( wie gemein ),
ich benutze dein sitemap modul.
Eigentlich ja ganz prima, nur scheint Google da etwas nicht zu mögen.
Ich benutze die version 4.8.7 plus mr 0.4.3 von xmurrix
Tja Google meldete mir 1 Minute nach dem Hochspielen 10 Fehler.
oder
Was mir aufgefallen ist, ich verwende die Links eigentlich so:
http://www.marktplatzkarneval.de/impressum/
und bei mir gibt es impressum.html überhaupt nicht. Durch Klick zeigt er mir zwar die Seite an, aber eingestellt bekomme ich die ncht.
Was tun ?!
ich benutze dein sitemap modul.
Eigentlich ja ganz prima, nur scheint Google da etwas nicht zu mögen.
Ich benutze die version 4.8.7 plus mr 0.4.3 von xmurrix
Tja Google meldete mir 1 Minute nach dem Hochspielen 10 Fehler.
Code: Alles auswählen
URL nicht zulässig
Diese URL ist für eine XML-Sitemap an dieser Position nicht zulässig.
URL: http://www.marktplatzkarneval.de/startseite.html
Problem ermittelt am: 29.08.2008
Code: Alles auswählen
URL nicht zulässig
Diese URL ist für eine XML-Sitemap an dieser Position nicht zulässig.
URL: http://www.marktplatzkarneval.de/impressum/impressum.html
Problem ermittelt am: 29.08.2008
http://www.marktplatzkarneval.de/impressum/
und bei mir gibt es impressum.html überhaupt nicht. Durch Klick zeigt er mir zwar die Seite an, aber eingestellt bekomme ich die ncht.
Was tun ?!
-
- Beiträge: 424
- Registriert: Do 22. Jan 2004, 14:45
- Wohnort: Kölpinsee auf Usedom
- Kontaktdaten:
Hallo,
Ich selbst habe das vorhandene GoogleXML-Sitemap Modul ja nur um ein paar Punkte erweitert. Diese Punkte werden zum Teil mit dem neuen MR-Plugin scheinbar nicht mehr gebraucht. Vorher musste ich da zum Beispiel den Mandantennamen und die Sprache aktivieren damit sie in der XML Ausgabe auch vorhanden waren. Mit dem neuen MR-Plugin musste ich das wieder deaktivieren da auf einmal diese beiden Sachen doppelt ausgegeben wurden. Scheinbar hat sich da auch etwas durch das MR-Plugin in der Datenbank verändert so dass der Mandantenname und die Sprache direkt auch dort, wenn aktiviert, hinterlegt wird.
Wie gesagt, ich denke das es einmal wieder komplett überarbeitet und auch an das neue MR-Plugin angepasst werden müsste, aber ich komme da leider in der nächsten Zeit aus Zeitmangel nicht dazu.
Gruß yodatortenboxer
Die impressum.html gibt es eigentlich schon. es ist der Artikelname (idart) plus das .html. Ich denke das man das ganze Modul einmal wieder komplett überarbeiten müsste da sich ja an dem MR-Plugin auch einiges geändert hat.Was mir aufgefallen ist, ich verwende die Links eigentlich so:
http://www.marktplatzkarneval.de/impressum/
und bei mir gibt es impressum.html überhaupt nicht.
Ich selbst habe das vorhandene GoogleXML-Sitemap Modul ja nur um ein paar Punkte erweitert. Diese Punkte werden zum Teil mit dem neuen MR-Plugin scheinbar nicht mehr gebraucht. Vorher musste ich da zum Beispiel den Mandantennamen und die Sprache aktivieren damit sie in der XML Ausgabe auch vorhanden waren. Mit dem neuen MR-Plugin musste ich das wieder deaktivieren da auf einmal diese beiden Sachen doppelt ausgegeben wurden. Scheinbar hat sich da auch etwas durch das MR-Plugin in der Datenbank verändert so dass der Mandantenname und die Sprache direkt auch dort, wenn aktiviert, hinterlegt wird.
Wie gesagt, ich denke das es einmal wieder komplett überarbeitet und auch an das neue MR-Plugin angepasst werden müsste, aber ich komme da leider in der nächsten Zeit aus Zeitmangel nicht dazu.
Gruß yodatortenboxer
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Hallo,
ich würde gerne noch bei der Abfrage nach den zu generierenden URLs (also alle Artikl in Online-Kategorie, die nicht geschützt sind und Online sind) um eine Abfrage erweitern. Allerdings kann ich das nicht.
Die Abfrage ist nämlich noch die, ob der Startartikel eine Weiterleitung hat!
Denn jedesmal bei Artikeln mit Contenido-Weiterleitungen sagt mir Google
Vielen Dank schon mal!
MfG Steffen
ich würde gerne noch bei der Abfrage nach den zu generierenden URLs (also alle Artikl in Online-Kategorie, die nicht geschützt sind und Online sind) um eine Abfrage erweitern. Allerdings kann ich das nicht.
Die Abfrage ist nämlich noch die, ob der Startartikel eine Weiterleitung hat!
Denn jedesmal bei Artikeln mit Contenido-Weiterleitungen sagt mir Google
Wäre das machbar?Nicht aufgerufene URLs
Bei Tests von URLs auf Ihrer XML-Sitemap wurde festgestellt, dass einige URLs für Googlebot nicht zugänglich waren, da sie zu viele Weiterleitungen enthielten.
Vielen Dank schon mal!
MfG Steffen
-
- Beiträge: 424
- Registriert: Do 22. Jan 2004, 14:45
- Wohnort: Kölpinsee auf Usedom
- Kontaktdaten:
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Hallo yodatortenboxer,
aber erstmal vielen Dank für die Antwort! Ich kann ja auch schon mal schauen ob ich was herausfinde - ich denke aber eher nicht
ich werde dann meine Fragen, Anregungen und Fehler (äh Ergebnisse) hier weiter posten.
Vielleicht bekomme ich ja noch ein paar Tipps von anderen. Du kannst ja dann, wenn es Deine Zeit erlaubt, auch ab und zu ein Blick raufwerfen.
MfG Steffen
aber erstmal vielen Dank für die Antwort! Ich kann ja auch schon mal schauen ob ich was herausfinde - ich denke aber eher nicht
ich werde dann meine Fragen, Anregungen und Fehler (äh Ergebnisse) hier weiter posten.
Vielleicht bekomme ich ja noch ein paar Tipps von anderen. Du kannst ja dann, wenn es Deine Zeit erlaubt, auch ab und zu ein Blick raufwerfen.
MfG Steffen
-
- Beiträge: 847
- Registriert: Mi 14. Dez 2005, 16:15
- Wohnort: Königs Wusterhausen bei Berlin
- Kontaktdaten:
Hallo,
ich habe es geschafft, aber vielleicht könntest du oder ein anderer Profi noch ein geschultes Auge drauf werfen (ich habe mit Kommentare gearbeitet)
Im Input hat man jetzt die Möglichkeit einen Haken zu setzen ob nur Artikel ohne Weiterleitungen ausgegeben werden sollen. Ist der Haken nicht gesetzt funktioniert das Modull wie gewohnt und generiert alle Artikel.
Hier der Input
Hier der Output
MfG Steffen
ich habe es geschafft, aber vielleicht könntest du oder ein anderer Profi noch ein geschultes Auge drauf werfen (ich habe mit Kommentare gearbeitet)
Im Input hat man jetzt die Möglichkeit einen Haken zu setzen ob nur Artikel ohne Weiterleitungen ausgegeben werden sollen. Ist der Haken nicht gesetzt funktioniert das Modull wie gewohnt und generiert alle Artikel.
Hier der Input
Code: Alles auswählen
?><?php
/* --------------------------------------------------------------------------- */
/* */
/* XML Sitemaps - Ausgabe als XML - Version vom 21.02.2008 */
/* INPUT */
/* */
/* --------------------------------------------------------------------------- */
cInclude("frontend", "includes/functions.input.helper.php");
$sSubmitLink = '<a href="javascript:if (document.tplcfgform.send) {document.tplcfgform.send.value = 0}; document.tplcfgform.submit();"><img src="images/submit.gif" /></a>';
/* CONFIG -------------------------------------------------------------------- */
/* Hier koennen Elemente in den DropDown-Felder geaendert */
/* oder ergaenzt werden ohne unten in den Script zu gehen */
/* --------------------------------------------------------------------------- */
// Welche CMS-PHP-Datei wird angesprochen
$cmsPhpSkript_auswahl = array();
$cmsPhpSkript_auswahl[] = "front_content.php";
$cmsPhpSkript_auswahl[] = "index.php";
// In welchem Rythmus wird die Seite aktualisiert?
$aktualisierung_auswahl = array();
$aktualisierung_auswahl[0]["wert"] = "0";
$aktualisierung_auswahl[0]["beschr"] = mi18n("Nicht setzten");
$aktualisierung_auswahl[1]["wert"] = "always";
$aktualisierung_auswahl[1]["beschr"] = mi18n("Immer");
$aktualisierung_auswahl[2]["wert"] = "hourly";
$aktualisierung_auswahl[2]["beschr"] = mi18n("Stündlich");
$aktualisierung_auswahl[3]["wert"] = "daily";
$aktualisierung_auswahl[3]["beschr"] = mi18n("Täglich");
$aktualisierung_auswahl[4]["wert"] = "weekly";
$aktualisierung_auswahl[4]["beschr"] = mi18n("Wöchentlich");
$aktualisierung_auswahl[5]["wert"] = "monthly";
$aktualisierung_auswahl[5]["beschr"] = mi18n("Monatlich");
$aktualisierung_auswahl[6]["wert"] = "yearly";
$aktualisierung_auswahl[6]["beschr"] = mi18n("Jährlich");
$aktualisierung_auswahl[7]["wert"] = "never";
$aktualisierung_auswahl[7]["beschr"] = mi18n("Niemals");
// Welche Prioritaet soll den Seiten zugeordnet werden?
$prioritaet_auswahl = array();
$prioritaet_auswahl[0]["wert"] = "0";
$prioritaet_auswahl[0]["beschr"] = mi18n("Nicht setzten");
$prioritaet_auswahl[1]["wert"] = "0.0";
$prioritaet_auswahl[1]["beschr"] = "0.0";
$prioritaet_auswahl[2]["wert"] = "0.1";
$prioritaet_auswahl[2]["beschr"] = "0.1";
$prioritaet_auswahl[3]["wert"] = "0.2";
$prioritaet_auswahl[3]["beschr"] = "0.2";
$prioritaet_auswahl[4]["wert"] = "0.3";
$prioritaet_auswahl[4]["beschr"] = "0.3";
$prioritaet_auswahl[5]["wert"] = "0.4";
$prioritaet_auswahl[5]["beschr"] = "0.4";
$prioritaet_auswahl[6]["wert"] = "0.5";
$prioritaet_auswahl[6]["beschr"] = "0.5";
$prioritaet_auswahl[7]["wert"] = "0.6";
$prioritaet_auswahl[7]["beschr"] = "0.6";
$prioritaet_auswahl[8]["wert"] = "0.7";
$prioritaet_auswahl[8]["beschr"] = "0.7";
$prioritaet_auswahl[9]["wert"] = "0.8";
$prioritaet_auswahl[9]["beschr"] = "0.8";
$prioritaet_auswahl[10]["wert"] = "0.9";
$prioritaet_auswahl[10]["beschr"] = "0.9";
$prioritaet_auswahl[11]["wert"] = "1.0";
$prioritaet_auswahl[11]["beschr"] = "1.0";
/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$cmsPhpSkript = "CMS_VALUE[0]";
$letzteAenderung = "CMS_VALUE[1]";
$aktualisierung = "CMS_VALUE[2]";
$prioritaet = "CMS_VALUE[3]";
$anzAusnahmen = "CMS_VALUE[4]";
$dontshow = "CMS_VALUE[5]";
$mruse = "CMS_VALUE[6]";
$utf8use = "CMS_VALUE[7]";
$CVersion = "CMS_VALUE[8]";
$mrClientUse = "CMS_VALUE[9]";
$mrClientUseName = "CMS_VALUE[10]";
$mrLangUse = "CMS_VALUE[11]";
$mrLangUseName = "CMS_VALUE[12]";
// Weiterleitungsartikel
$weiterleitungen = "CMS_VALUE[13]";
// Ausnahmen
$iDataStart = 30;
if ($anzAusnahmen > 0) {
for ($i = 0; $i < $anzAusnahmen; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // changefreq, priority
$aSettings["k".$i]["ElementKat"] = "CMS_VALUE[$iElementKat]"; // Kategorien, die geaendert werden sollen
$aSettings["k".$i]["ElementWert_aktu"] = "CMS_VALUE[$iElementWert_aktu]"; // Wert Aktualisierung
$aSettings["k".$i]["ElementWert_prio"] = "CMS_VALUE[$iElementWert_prio]"; // Wert Prioritaet
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "0";
}
}
}
/* DEFAULT-WERTE ------------------------------------------------------------- */
if ($cmsPhpSkript == "") {
$cmsPhpSkript = $cmsPhpSkript_auswahl[0];
}
if ($letzteAenderung == "") {
$letzteAenderung = "0";
}
if ($aktualisierung == "") {
$aktualisierung = $aktualisierung_auswahl[0]["wert"];
}
if ($prioritaet == "") {
$prioritaet = $prioritaet_auswahl[0]["wert"];
}
if ($dontshow == "") {
$dontshow = "";
}
if ($mruse == "") {
$mruseCheck = "";
}else{
$mruseCheck = " checked=\"checked\"";
}
// Weiterleitungsartikel
if ($weiterleitungen == "") {
$weiterleitungenCheck = "";
}else{
$weiterleitungenCheck = " checked=\"checked\"";
}
if ($utf8use == "") {
$utf8useCheck = "";
}else{
$utf8useCheck = " checked=\"checked\"";
}
if($CVersion=="46x"){$CV46="checked";$CV48="";}else{$CV46="";$CV48="checked";}
if ($mrClientUse == "") {
$mrClientUseCheck = "";
}else{
$mrClientUseCheck = " checked=\"checked\"";
}
if ($mrClientUseName == "") {
$mrClientUseNameCheck = "";
}else{
$mrClientUseNameCheck = " checked=\"checked\"";
}
if ($mrLangUse == "") {
$mrLangUseCheck = "";
}else{
$mrLangUseCheck = " checked=\"checked\"";
}
if ($mrLangUseName == "") {
$mrLangUseNameCheck = "";
}else{
$mrLangUseNameCheck = " checked=\"checked\"";
}
/* BEGINN -------------------------------------------------------------------- */
// Weitere Infos
echo "\n\n\n".'<SCRIPT LANGUAGE="JavaScript">'."\n";
echo ' <!--'."\n";
echo ' function sitemapErklaerung() {'."\n";
echo ' erklaerungSitemap = window.open("","Erklaerung","width=700,height=450");'."\n";
echo ' sitemapErklaerung01();'."\n";
echo ' }'."\n";
echo ' function sitemapErklaerung01() {'."\n";
echo ' var sitemapErklaerungInhalt = \''.mi18n("<p><strong>INSTALLATION:<\/strong><\/p><ol><li>Anmelden beim Google Sitemaps Service unter: <a href=\"https:\/\/www.google.com\/webmasters\/sitemaps\/login\" target=\"_blank\">https:\/\/www.google.com\/webmasters\/sitemaps\/login<\/a><\/li><li>XMLSitemap-Modul anlegen\/installieren<\/li><li>Die Datei \"functions.input.helper.php\" von HerrB muss im includes-Ordner des Mandanten liegen.<br>Sie ist z.B. Bestandteil von diesem Modul:<br><a href=\"http:\/\/contenido.org\/forum\/viewtopic.php?t=10957\" target=\"_blank\">http:\/\/contenido.org\/forum\/viewtopic.php?t=10957<\/a><\/li><li>Neues Layout mit folgendem Inhalt anlegen: CMS_CONTAINER[1]<br \/>Im Layout dürfen keine weiteren HTML-Tags oder Leerzeichen enthalten sein.<\/li><li>Neues Template erstellen mit dem neuen Layout und dem XMLSitemap-Modul<\/li><li>Neue Kategorie erstellen und eine neue Seite mit dem neuen Template zuweisen<br \/><\/li><li>Jetzt den Link dieser neuen Seite im Browser aufrufen und testen<\/li><li>Den Link Google mitteilen<\/li><\/ol><p><strong>WEITERE INFOS: <\/strong><\/p><ul><li><a href=\"https:\/\/www.google.com\/webmasters\/sitemaps\/docs\/de\/protocol.html\" target=\"_blank\">https:\/\/www.google.com\/webmasters\/sitemaps\/docs\/de\/protocol.html<\/a><\/li><\/ul>").'\';'."\n";
echo ' erklaerungSitemap.document.write(sitemapErklaerungInhalt);'."\n";
echo ' }'."\n";
echo ' // -->'."\n";
echo '</SCRIPT>'."\n\n";
echo '<table cellspacing="0" cellpadding="10" border="0">'."\n";
echo ' <tr>'."\n";
echo ' <td colspan="2"><a href="#" onClick="sitemapErklaerung()">'.mi18n("Mehr Infos über dieses Modul").'</a></td>'."\n";
echo ' </tr>'."\n";
// Welche CMS-PHP-Datei wird angesprochen?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("CMS-PHP-Skript:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[0]">'."\n";
foreach ($cmsPhpSkript_auswahl AS $mein) {
echo ' <option value="'.$mein.'"';
if ($cmsPhpSkript == $mein) { echo ' selected'; }
echo '>'.$mein.'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll die letzte Aenderung mit aufgenommen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Änderungsdatum verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[1]">'."\n";
echo ' <option value="0"';
if ($letzteAenderung == "0") { echo ' selected'; }
echo '>'.mi18n("Nicht setzen").'</option>'."\n";
echo ' <option value="1"';
if ($letzteAenderung == "1") { echo ' selected'; }
echo '>'.mi18n("Ja").'</option>'."\n";
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// In welchem Rythmus wird die Seite aktualisiert?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Änderungshäufigkeit aller Seiten:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[2]">'."\n";
foreach ($aktualisierung_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aktualisierung == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welche Prioritaet soll den Seiten zugeordnet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Priorität aller Seiten:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <select name="CMS_VAR[3]">'."\n";
foreach ($prioritaet_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($prioritaet == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Welch Artikel sollen ausgelassen werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Auszuschliessende Artikel:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[5]" value="'.$dontshow.'" size="20">'."\n";
echo ' '.mi18n("Artikel-Id mit Komma getrennt (z.B. 5,23,89)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
/* AUSNAHMEN ----------------------------------------------------------------- */
// Wieviele Ausnahmen
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Wieviele Ausnahmen:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="text" name="CMS_VAR[4]" value="'.$anzAusnahmen.'" size="3"> '.$sSubmitLink."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
if ($anzAusnahmen > 0) {
echo fncAddMultiSelJS();
// Strich
echo ' <tr><td colspan="2"><hr></td></tr>'."\n";
for ($i = 0; $i < $anzAusnahmen; $i++) {
echo "\n"." <!-- Durchlauf ".$i." -->"."\n";
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
echo ' <tr>'."\n";
echo ' <td valign="top">'.($i+1).'. '.mi18n("Ausnahme:").'</td>'."\n";
echo ' <td>'."\n";
// Typ der Ausnahme auswaehlen:
echo ' '.mi18n("Typ:").'<br>'."\n";
echo ' <select name="CMS_VAR['.$iElementType.']">'."\n";
echo ' <option value="0"';
if ($aSettings["k".$i]["ElementType"] == "0") { echo ' selected'; }
echo '>'.mi18n("Bitte auswählen...").'</option>'."\n";
echo ' <option value="changefreq"';
if ($aSettings["k".$i]["ElementType"] == "changefreq") { echo ' selected'; }
echo '>'.mi18n("Änderungshäufigkeit").'</option>'."\n";
echo ' <option value="priority"';
if ($aSettings["k".$i]["ElementType"] == "priority") { echo ' selected'; }
echo '>'.mi18n("Priorität").'</option>'."\n";
echo ' </select>'."\n";
echo ' '.$sSubmitLink.' '."\n";
if ($aSettings["k".$i]["ElementType"] != "0") {
echo ' <br><br>'."\n";
// Kategorie auswaehlen
echo ' '.mi18n("Kategorien auswählen:").'<br>'."\n";
// edit by funomat TG
echo fncBuildCategorySelect("c".$i."cbxAddCatSel", $aSettings["k".$i]["ElementKat"], 0, "fncUpdateSel('c".$i."cbxAddCatSel','"."CMS_VAR[$iElementKat]"."');", "6", "multiple", false, 0, "");
# echo fncBuildCategorySelect("c".$i."cbxAddCatSel", $aSettings["k".$i]["ElementKat"], 0, "ArtAdv_fncUpdateSel('c".$i."cbxAddCatSel'.'"."CMS_VAR[$iElementKat]"."');", "6", "multiple", false, 0, "");
// end edit
echo '<input type="hidden" name="CMS_VAR['.$iElementKat.']" value="'.$aSettings["k".$i]["ElementKat"].'">'."\n";
echo ' <br>'."\n";
// Aktualisierung
if ($aSettings["k".$i]["ElementType"] == "changefreq") {
echo ' <select name="CMS_VAR['.$iElementWert_aktu.']">'."\n";
foreach ($aktualisierung_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aSettings["k".$i]["ElementWert_aktu"] == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
}
// Prioritaet
if ($aSettings["k".$i]["ElementType"] == "priority") {
echo ' <select name="CMS_VAR['.$iElementWert_prio.']">'."\n";
foreach ($prioritaet_auswahl AS $mein) {
echo ' <option value="'.$mein["wert"].'"';
if ($aSettings["k".$i]["ElementWert_prio"] == $mein["wert"]) { echo ' selected'; }
echo '>'.$mein["beschr"].'</option>'."\n";
}
echo ' </select>'."\n";
}
} // if ($aSettings["k".$i]["ElementType"] != "0") {
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Strich
echo ' <tr><td colspan="2"><hr></td></tr>'."\n";
} // End: for ($i = 0; $i < $aSettings["Elements"]; $i++) {
} // End: if ($aSettings["Elements"] > 0) {
// Sollen nur Artikel ohne Weiterleitung verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Nur Artikel ohne Weiterleitungen verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[13]" value="1"'.$weiterleitungenCheck.'>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll ModRewrite verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("ModRewrite verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[6]" value="true"'.$mruseCheck.'>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll Mandant bei ModRewrite verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Mandant bei ModRewrite verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[9]" value="true"'.$mrClientUseCheck.'>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll Name des Mandanten bei ModRewrite verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Mandantenname bei ModRewrite verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[10]" value="true"'.$mrClientUseNameCheck.'>'."\n";
echo ' '.mi18n("(Mandant bei Modrewrite verwenden muss aktiviert sein!)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll Sprache bei ModRewrite verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Sprache bei ModRewrite verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[11]" value="true"'.$mrLangUseCheck.'>'."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll Name der Sprache bei ModRewrite verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Sprachename bei ModRewrite verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[12]" value="true"'.$mrLangUseNameCheck.'>'."\n";
echo ' '.mi18n("(Sprache bei Modrewrite verwenden muss aktiviert sein!)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Soll UTF-8-Codierung verwendet werden?
echo ' <tr>'."\n";
echo ' <td>'.mi18n("UTF-8-Codierung verwenden:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="checkbox" name="CMS_VAR[7]" value="false"'.$utf8useCheck.'>'."\n";
echo ' '.mi18n("(Sollte der Mandant schon mit UTF-8 Codiert sein benötigt man keine UTF-8-Codierung!)")."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
// Contenido Version 4.6.x oder 4.8x
echo ' <tr>'."\n";
echo ' <td>'.mi18n("Contenido MR-Version:").'</td>'."\n";
echo ' <td>'."\n";
echo ' <input type="radio" name="CMS_VAR[8]" value="46x" '.$CV46.' /> '.mi18n("ab V4.6.15(stese)").' '."\n";
echo ' <input type="radio" name="CMS_VAR[8]" value="48x" '.$CV48.' /> '.mi18n("ab V4.8.x(plugin)").' '."\n";
echo ' </td>'."\n";
echo ' </tr>'."\n";
echo '</table>'."\n";
?><?php
Code: Alles auswählen
<?php
/* --------------------------------------------------------------------------- */
/* */
/* XML Sitemaps - Ausgabe als XML - Version vom 21.02.2008 */
/* OUTPUT */
/* */
/* --------------------------------------------------------------------------- */
/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$cmsPhpSkript = "CMS_VALUE[0]";
$letzteAenderung = "CMS_VALUE[1]";
$aktualisierung = "CMS_VALUE[2]";
$prioritaet = "CMS_VALUE[3]";
$anzAusnahmen = "CMS_VALUE[4]";
$dontshow = "CMS_VALUE[5]";
$modRewrite = "CMS_VALUE[6]";
$utf8encode = "CMS_VALUE[7]";
$CVersion = "CMS_VALUE[8]";
$mrClientUse = "CMS_VALUE[9]";
$mrClientUseName = "CMS_VALUE[10]";
$mrLangUse = "CMS_VALUE[11]";
$mrLangUseName = "CMS_VALUE[12]";
$weiterleitungen = "CMS_VALUE[13]";
// Ausnahmen
$iDataStart = 30;
if ($anzAusnahmen > 0) {
for ($i = 0; $i < $anzAusnahmen; $i++) {
$iElementType = $iDataStart + ($i * 5);
$iElementKat = $iElementType + 1;
$iElementWert_aktu = $iElementType + 2;
$iElementWert_prio = $iElementType + 3;
$aSettings["k".$i] = array();
$aSettings["k".$i]["ElementType"] = "CMS_VALUE[$iElementType]"; // changefreq, priority
$aSettings["k".$i]["ElementKat"] = explode(",", "CMS_VALUE[$iElementKat]"); // Kategorien, die geändert werden sollen
$aSettings["k".$i]["ElementWert_aktu"] = "CMS_VALUE[$iElementWert_aktu]"; // Wert Aktualisierung
$aSettings["k".$i]["ElementWert_prio"] = "CMS_VALUE[$iElementWert_prio]"; // Wert Priorität
if ($aSettings["k".$i]["ElementType"] == "") {
$aSettings["k".$i]["ElementType"] == "0";
}
}
}
/* DEFAULT-WERTE ------------------------------------------------------------- */
if ($cmsPhpSkript == "") {
$cmsPhpSkript = "front_content.php";
}
if ($letzteAenderung == "") {
$letzteAenderung = "0";
}
if ($aktualisierung == "") {
$aktualisierung = "0";
}
if ($prioritaet == "") {
$prioritaet = "0";
}
// Weiterleitungsartikel
if ($weiterleitungen == "") {
$weiterleitungen == "";
} else {
$weiterleitungen = 'AND D . redirect = 0';
}
if ($dontshow == "") {
$dontshow == "";
} else {
$dontshow = 'AND E . idart NOT IN ('.$dontshow.')';
}
/* FUNKTIONEN ---------------------------------------------------------------- */
function iso8601_date($time) {
$tzd = date('O',$time);
$tzd = substr(chunk_split($tzd, 3, ':'),0,6);
$date = date('Y-m-d\TH:i:s', $time) . $tzd;
return $date;
}
/* BEGINN AUSGABE ------------------------------------------------------------ */
$xml_titel = $cfgClient[$client]["path"]["htmlpath"].$cmsPhpSkript."?idcat=".$idcat;
$xml_link = $cfgClient[$client]["path"]["htmlpath"];
// Header ausgeben
header("Content-type: text/xml");
$xmlOutput = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">'. "\n\n";
$query="SELECT * FROM `".$cfg["tab"]["clients"]."` WHERE idclient =".$client;
$db->query($query);
$db->next_record();
$MrClientName = str_replace(" ","+",$db->f(name));
$sql="SELECT * FROM `".$cfg["tab"]["lang"]."`, `".$cfg["tab"]["clients_lang"]."` WHERE `".$cfg["tab"]["lang"]."`.idlang = `".$cfg["tab"]["clients_lang"]."`.idlang AND idclient = ".$client." AND `".$cfg["tab"]["lang"]."`.idlang =".$lang;
$db->query($sql);
$db->next_record();
$MrLanguageName = $db->f(name);
$query = "SELECT
E . idcat ,
E . idart ,
D . pagetitle ,
C . name ,
UNIX_TIMESTAMP( D . lastmodified ) AS lastmodified
FROM
".$cfg["tab"]["cat_tree"]." AS A ,
".$cfg["tab"]["cat_lang"]." AS C ,
".$cfg["tab"]["cat"]." AS B ,
".$cfg["tab"]["cat_art"]." AS E
INNER JOIN ".$cfg["tab"]["art_lang"]." AS D ON ( E . idart = D . idart )
WHERE
A . idcat = B . idcat
AND B . idcat = C . idcat
AND C . idcat = E . idcat
AND B . idclient = '".$client."'
AND C . idlang = '".$lang."'
AND D . idlang = '".$lang."'
AND C . visible = '1'
AND E . idcatart IS NOT NULL
AND D . online = '1'
".$weiterleitungen."
".$dontshow."
ORDER BY
A . idtree, E . idart";
// execute query
$db->query($query);
// get id's of sub articles
while ($db->next_record()) {
$linkid = $db->f("idart");
$linkcat = $db->f("idcat");
$lastmodified = iso8601_date( $db->f("lastmodified") );
// link ohne ModRewrite
if (!$modRewrite){
$link = $xml_link.$cmsPhpSkript."?idart=".$linkid;
}else{
if($CVersion=="46x"){
// link mit ModRewrite 4.6.x
// cInclude("classes", "class.modrewrite.php");
}else{
// link mit ModRewrite 4.8.x
cInclude("plugins", "mod_rewrite/classes/class.modrewrite.php");
}
$link = ModRewrite::build_new_url("?idart=$linkid");
if(!$mrClientUse){
$mrClientLink="";
}else{
if(!$mrClientUseName){
$mrClientLink="/".$client;
}else{
$mrClientLink="/".$MrClientName;
}
}
if(!$mrLangUse){
$mrClientLangLink="";
}else{
if(!$mrLangUseName){
$mrClientLangLink="/".$lang;
}else{
$mrClientLangLink="/".$MrLanguageName;
}
}
$link = 'http://'.$_SERVER['HTTP_HOST'].$mrClientLink.$mrClientLangLink.$link;
}
// Bemerkung zum Seitentitel
$xmlOutput .= '<!-- '.$db->f("pagetitle").' -->'."\n";
$xmlOutput .= '<url>'."\n";
$xmlOutput .= ' <loc>'.htmlspecialchars($link).'</loc>'."\n";
// Letzte Aenderung
if($letzteAenderung != "0") {
$xmlOutput .= ' <lastmod>'.$lastmodified.'</lastmod>'."\n";
}
// Aktualisierung
if($aktualisierung != "0") {
$aktualisierung_eintrag = $aktualisierung;
for ($i = 0; $i < $anzAusnahmen; $i++) {
if (in_array($linkcat, $aSettings["k".$i]["ElementKat"]) == TRUE) {
if ($aSettings["k".$i]["ElementType"] == "changefreq") {
$aktualisierung_eintrag = $aSettings["k".$i]["ElementWert_aktu"];
break;
}
}
}
$xmlOutput .= ' <changefreq>'.$aktualisierung_eintrag.'</changefreq>'."\n";
} // if($aktualisierung != "0") {
// Prioritaet
if($prioritaet != "0") {
$prioritaet_eintrag = $prioritaet;
for ($i = 0; $i < $anzAusnahmen; $i++) {
if (in_array($linkcat, $aSettings["k".$i]["ElementKat"]) == TRUE) {
if ($aSettings["k".$i]["ElementType"] == "priority") {
$prioritaet_eintrag = $aSettings["k".$i]["ElementWert_prio"];
break;
}
}
}
$xmlOutput .= ' <priority>'.$prioritaet_eintrag.'</priority>'."\n";
} // if($prioritaet != "0") {
$xmlOutput .= '</url>'."\n\n";
} // end while
$xmlOutput .= '</urlset>';
// Hier wird der ganze String in UTF8 kodiert und ausgegeben
if($utf8encode)
echo utf8_encode($xmlOutput);
else
echo $xmlOutput;
?>
-
- Beiträge: 203
- Registriert: Mo 7. Mai 2007, 09:05
- Kontaktdaten:
Hallo zusammen,
kann man in die Ausgabe der Sitemap dieses Model integrieren? Habs versucht aber bin immer wieder gescheitert!
Dieses Modul füllt ja in einer Seite den Titel-tag aus. Diese Funktion in dieser Sitemap wär einfach genial. Bei einer Seite mit vielen Artikeln würde es dem Benutzer das einzelne bennen der Artikel ersparen.
Grüße
matt
kann man in die Ausgabe der Sitemap dieses Model integrieren? Habs versucht aber bin immer wieder gescheitert!
Code: Alles auswählen
<?php
/**
* $RCSfile$
*
* Description: Print HTML title tag content
*
* @version 1.0.0
* @author Rudi Bieller
* @copyright four for business AG <www.4fb.de>
*
* {@internal
* created 2008-04-07
* }}
*
* $Id$
*/
cInclude('classes', 'Contenido_FrontendNavigation/Contenido_FrontendNavigation_Breadcrumb.class.php');
try {
$oBread = new Contenido_FrontendNavigation_Breadcrumb($db, $cfg, $client, $lang, $cfgClient);
$oBreadCats = $oBread->get($idcat, 1);
$sBread = 'Startseite | ';
$aBread = array();
foreach ($oBreadCats as $oConCat) {
$aBread[] = $oConCat->getCategoryLanguage()->getName();
}
$sBread .= implode(' | ', $aBread);
$oArticle = new Article($idart, $client, $lang);
$sHeadline = strip_tags($oArticle->getContent('CMS_HTMLHEAD', 1));
echo $sBread;
} catch (InvalidArgumentException $eI) {
echo 'Startseite';
} catch (Exception $e) {
echo 'Startseite';
}
?>
Grüße
matt
Hallo, nach dem Update auf 4.8.10 + MR5.2 bekomme ich folgende Fehlermeldung wenn ich im Editorbereich öffne.
Unter Contenido-Fehlerlog kommt folgendes:
Code: Alles auswählen
XML-Verarbeitungsfehler: "Junk" nach Dokument-Element
Adresse: http://www.....de/contenido/external/backendedit/front_content.php?changeview=edit&client=1&lang=1&action=con_editart&idartlang=14&idart=14&idcat=1&tmpchangelang=&contenido=6194b6f3e3c9ffb1c1719c28ea94e9ed
Zeile Nr. 2, Spalte 1:<b>Fatal error</b>: Call to undefined method ModRewrite::build_new_url() in <b>/...../contenido/includes/include.con_editcontent.php(630) : eval()'d code</b> on line <b>154</b><br />
^
Code: Alles auswählen
PHP Fatal error: Call to undefined method ModRewrite::build_new_url() in /...../contenido/includes/include.con_editcontent.php(630) : eval()'d code on line 154
Hallo Freddy,
in früheren Versionen des AMR-Plugins gab es die Funktion ModRewrite::build_new_url(), die die URL generiert hat. Seit dem es in Contenido nun möglich ist, die URLs über eine einheitliche Schnittstelle generieren zu lassen, ist diese raus geflogen.
Du kannst im im Modulouput die Zeile
gegen
ersetzen, dann sollte es gehen.
Gruß
xmurrix
in früheren Versionen des AMR-Plugins gab es die Funktion ModRewrite::build_new_url(), die die URL generiert hat. Seit dem es in Contenido nun möglich ist, die URLs über eine einheitliche Schnittstelle generieren zu lassen, ist diese raus geflogen.
Du kannst im im Modulouput die Zeile
Code: Alles auswählen
$link = ModRewrite::build_new_url("?idart=$linkid");
Code: Alles auswählen
Contenido_Url::getInstance()->build(array('idart' => $linkid));
// oder mit der Sprache
Contenido_Url::getInstance()->build(array('idart' => $linkid, 'lang' => $lang));
Gruß
xmurrix
Hallo xmurrix,xmurrix hat geschrieben: ersetzen, dann sollte es gehen.
Gruß
xmurrix
vielen Dank zuerst das Du Dich meiner angenommen hast. Leider funktioniert es noch nicht ganz. Jetzt kommt zwar keine Fehlermeldung mehr aber in der Sitemap stimmt die Url nicht. Wird mehrfach wieder holt:
Code: Alles auswählen
<!--
Die private Homepage von ...
-->
−
<url>
<loc>http://www.do..da.de</loc>
</url>
<!-- Do..da -->
−
<url>
<loc>http://www.do..da.dehttp://www.do..da.de</loc>
</url>
−
<!--
Die private Homepage von ...
-->
−
<url>
−
<loc>
http://www.do..da.dehttp://www.do..da.dehttp://www.do..da.de
</loc>
</url>
−
<!--
Die private Homepage von ...
-->
−
<url>
−
<loc>
http://www.do..da.dehttp://www.do..da.dehttp://www.do..da.dehttp://www.do..da.de
</loc>
</url>
Neue Version der XML Sitemaps für Contenido >= 4.8.9
Hallo zusammen,
da sich in Contenido ab 4.8.9 die Vorgehensweise zur Erstellung der URLs geändert hat, war es an der Zeit, das Modul an die neuen Gegebenheiten anzupassen.
Folgende Änderungen gibt es:
- Angepasst an Contenido >= 4.8.9
- Herausgeflogen ist die Konfiguration des Moduls für frühere MR-Lösungen.
- Auch gibt es keine Auswahlmöglichkeit des Frontendscriptes (front_content.php oder index.php). Der ab 4.8.9 verwendeter Url-Builder kommt nur mit front_content.php klar.
Hinweise:
- Bei einer standard Contenido-Installation werden URLs wie front_content.php?idart=123&lang=1 generiert
- Ist ein anderer Url-Builder konfiguriert, können die URLs einen anderen Aufbau haben.
Beispiele:
AMR-Plugin: /kategorie/artikel.html
UrlBuilder CustomPath: /path/path/path/rocknroll,goodies,1,2,3.4fb
- Der Modulcode kann an ein paar Stellen nicht ganz optimal sein, ich habe mich bei den Änderungen nur darauf konzentriert, das Modul zum Laufen zu bekommen.
Download:
- Contenido_module_XML_Sitemaps_20090126.zip
Grüße
xmurrix
da sich in Contenido ab 4.8.9 die Vorgehensweise zur Erstellung der URLs geändert hat, war es an der Zeit, das Modul an die neuen Gegebenheiten anzupassen.
Folgende Änderungen gibt es:
- Angepasst an Contenido >= 4.8.9
- Herausgeflogen ist die Konfiguration des Moduls für frühere MR-Lösungen.
- Auch gibt es keine Auswahlmöglichkeit des Frontendscriptes (front_content.php oder index.php). Der ab 4.8.9 verwendeter Url-Builder kommt nur mit front_content.php klar.
Hinweise:
- Bei einer standard Contenido-Installation werden URLs wie front_content.php?idart=123&lang=1 generiert
- Ist ein anderer Url-Builder konfiguriert, können die URLs einen anderen Aufbau haben.
Beispiele:
AMR-Plugin: /kategorie/artikel.html
UrlBuilder CustomPath: /path/path/path/rocknroll,goodies,1,2,3.4fb
- Der Modulcode kann an ein paar Stellen nicht ganz optimal sein, ich habe mich bei den Änderungen nur darauf konzentriert, das Modul zum Laufen zu bekommen.
Download:
- Contenido_module_XML_Sitemaps_20090126.zip
Grüße
xmurrix
Re: Neue Version der XML Sitemaps für Contenido >= 4.8.9
Mh, bei mir funktioniert es komischerweise noch immer nicht obwohl ich deinen Code benutzt habe. Jetzt sieht die Sitemap so aus: −
Code: Alles auswählen
<url>
<loc>front_content.php?idart=1&lang=1</loc>
</url>
<!-- Do..da -->
−
<url>
<loc>front_content.php?idart=15&lang=1</loc>
</url>
−
<!--
Do..da - Die private Homepage ...
-->
−
<url>
<loc>front_content.php?idart=2&lang=1</loc>
</url>
Re: Neue Version der XML Sitemaps für Contenido >= 4.8.9
Morgen,
Gruß
xmurrix
ok, gebe zu, das ich das nicht unter allen Kombinationen getestet habe. Welche Version von Contenido verwendest du?Freddy hat geschrieben:Mh, bei mir funktioniert es komischerweise noch immer nicht obwohl ich deinen Code benutzt habe. Jetzt sieht die Sitemap so aus:Code: Alles auswählen
... <url> <loc>front_content.php?idart=1&lang=1</loc> </url> ...
Gruß
xmurrix
-
- Beiträge: 55
- Registriert: Fr 22. Apr 2005, 15:41
- Wohnort: Berlin
- Kontaktdaten:
Hi xmurrix,
ich hab das gleiche Problem. Wie Du weißt läuft bei uns 4.8.10 mit dem 0.5.2-ModRewrite-Plugin. Im Output-Code des Moduls steht aber auch, dass der Link ohne ModRewrite ausgegeben wird. Vielleicht fehlt da noch die Umwandlung? Ich hab da ja nicht wirklich einen Plan ...
ich hab das gleiche Problem. Wie Du weißt läuft bei uns 4.8.10 mit dem 0.5.2-ModRewrite-Plugin. Im Output-Code des Moduls steht aber auch, dass der Link ohne ModRewrite ausgegeben wird. Vielleicht fehlt da noch die Umwandlung? Ich hab da ja nicht wirklich einen Plan ...
Code: Alles auswählen
...
$oUrl = Contenido_Url::getInstance();
// get id's of sub articles
while ($db->next_record()) {
$linkid = $db->f("idart");
$linkcat = $db->f("idcat");
$lastmodified = iso8601_date( $db->f("lastmodified") );
// link ohne ModRewrite
$link = $oUrl->build(array('idart' => $linkid, 'lang' => $lang), true);
// Bemerkung zum Seitentitel
// $xmlOutput .= '<!-- '.$db->f("pagetitle").' -->'."\n";
$xmlOutput .= '<url>'."\n";
$xmlOutput .= ' <loc>'.htmlspecialchars($link).'</loc>'."\n";
...
Unterstützt das Contenido-Wiki-Projekt: www.contenido-wiki.org!
ikusei - Wir lassen Ihre Projekte wachsen!
ikusei - Wir lassen Ihre Projekte wachsen!