dies ist eine Weiterentwicklung der Sitemap von Luxmedia Österreich, micattack@gmx.net und derSteffen http://forum.contenido.org/viewtopic.php?p=65521#65521
Ich habe nun die angepasste Google Sitemap dieser Version von Ratze http://forum.contenido.org/viewtopic.ph ... 064#105064Zu diesem Modul und zu meiner Person! Ich habe keine Ahnung von Programmieren und bin letztendlich durch Behaarlichkeit und vielen Probieren zu dieser Lösung gekommen.
Installation wie hier beschrieben http://www.contenido.org/forum/viewtopic.php?t=8503
Originalmodul von Luxmedia Österreich überarbeitet von micattack@gmx.net und nun von mir!
Änderungen:
Neuer Header (<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" usw...)
Neu: Man kann jetzt auch die priority angeben
Bug (Speichern der Werte der Selektfelder cms php skript [durch HerrB] Änderungsdatum und Änderungshäufigkeit) behoben
und von funomat http://forum.contenido.org/viewtopic.ph ... 148#114148Hallo zusammen,
ich lese nun schon einige Zeit in diesem Forum. Nun ist es auch mal an der Zeit ein Modul bzw. eine Überarbeitung zu posten. Ich habe mich mal dem XML-Sitemap-Modul angenommen. Mich hat gestört, das man Artikeln keine verschiedene Prioritäten zuweisen kann... womit sich diese Funktion ja fast erledigt hätte.
Ich habe also den Script von Luxmedia Österreich mit den Änderungen von derSteffen genommen, alles aufgeräumt und dann noch alle weiteren Verbesserungen eingebaut, die ich im Forum finden konnte. Ausserdem habe ich die Möglichkeit eingebaut einzelne Kategorien mit eigenen Prioritäten und Änderungshäufigkeiten zu versehen.
WICHTIG: für die Verwendung bitte unbedingt die Anleitung in der Beschreibung durchlesen, da ihr ein include von HerrB benötigt.
Das Modul ist nicht für ModRewrite entwickelt worden.
Ich hoffe ich habe nicht allzuviele Fehler drin und ich muss leider gestehen, das ich die Sitemap noch nicht mit Google getestet habe.
Gruß
Ratze
noch ein wenig erweitert und an das MR- Plugin der 4.8.x angepasst.Hallo zusammen,
erstmal vielen Dank an alle die hier mitgearbeitet haben. Tolles Modul.
Da ich gerne die Version von Ratze einsetzen wollte aber nicht auf ModRewrite verzichten wollte, habe ich ein paar kleine Änderungen am Modul vorgenommen.
Neu:
1. Auswahlmöglichkeit für die Benutzung von ModRewrite
2. Auswahlmöglichkeit für die Benutzung der UTF-8 Codierung für den Fall das der Mandant schon mit UTF-8 eingestellt ist
3. Neuer Header (<urlset xmlns="http://www.google.com/schemas/sitemap/0.9" usw...) - siehe https://www.google.com/webmasters/tools ... tocol.html
Behoben:
Fehler beim Anlegen von Ausnahmen behoben (JS-Funktion - siehe PROBLEME UND ANMERKUNGEN)
Die xml-Datei findet ihr hier: XMLSitemaps.zip
Gruß,
funomat
Die Installation erfolgt wie hier http://forum.contenido.org/viewtopic.ph ... 064#105064 beschrieben und man benötigt die Datei "functions.input.helper.php" von HerrB aus dem Modul http://contenido.org/forum/viewtopic.php?t=10957. Die Datei einfach in das includes Verzeichnis vom Mandanten kopieren.
NEU in dieser Version:
- Auswahl im Template für das > V4.6.15 MR oder das 4.8.x MR-Plugin von http://forum.contenido.org/viewtopic.ph ... 914#117914
- hinzufügen der Mandanten-ID oder des Mandantennamen und die Sprach-ID oder den Sprachnamen in die URL-Ausgabe
Auf meiner Seite benutze ich nähmlich die URL in der Form von
Code: Alles auswählen
http://www.domain.de/mandant/sprache/kategorie/artikel.html
Code: Alles auswählen
http://www.domain.de/kategorie/artikel.html
BESCHREIBUNG:
Code: Alles auswählen
MODUL-NAME:
XMLSitemaps
BESCHREIBUNG
Diese Modul erzeugt ein Sitemap-Protocol im
XML-Format. Diese Format unterstuetzen z.B.:
Google, Yahoo!, und Microsoft. Es vereinfacht
den Suchmaschinen das Durchsuchen der URLs
einer Site.
INSTALLATION:
1. Anmelden beim Google Sitemaps Service unter: https://www.google.com/webmasters/sitemaps/login
2. XMLSitemap-Modul anlegen/installieren
3. Die Datei "functions.input.helper.php" von HerrB muss im includes-Ordner des Mandanten liegen.
Sie ist z.B. Bestandteil von diesem Modul:
http://contenido.org/forum/viewtopic.php?t=10957
4. Neues Layout mit folgendem Inhalt anlegen: CMS_CONTAINER[1]
Im Layout duerfen keine weiteren HTML-Tags oder Leerzeichen enthalten sein.
5. Neues Template erstellen mit dem neuen Layout und dem XMLSitemap-Modul
6. Neue Kategorie erstellen und eine neue Seite mit dem neuen Template zuweisen
7. Jetzt den Link dieser neuen Seite im Browser aufrufen und testen
8. Den Link Google mitteilen
PROBLEME UND ANMERKUNGEN:
- Bei dem Modul wird ein Fehler im Eingabe Bereich angezeigt.
Dieser liegt im Script im Bereich "Kategorien auswaehlen".
Beim Aufruf der JavaScript-Funktion ArtAdv_fncUpdateSel kommt
er beim dynamischen CMS_VAR[".$iElementKat."] nicht klar...
das Modul laeuft aber ohne Probleme... zumindestens bei mir...
- Die Ausnahmen beziehen sich nur auf die Artikel in der Kategorie,
nicht auf die Artikel in Unterkategorien.
WEITERE INFOS:
https://www.google.com/webmasters/sitemaps/docs/de/protocol.html
--------------------------------------------------------
Author Luxmedia Oesterreich
Copyright www.luxmedia.at
2005-06-09
- INPUT: Abfrage des Skriptnames
- INPUT: Einbindung von lastmod je nach Wunsch
- INPUT: changefreq
- OUTPUT: Nur Artikel die Online sind
- OUTPUT: lastmod, changefreq, Skriptname aus INPUT
- OUTPUT: lastmod Datumsformat iso8601
Angepasst durch derSteffen
2005-12-21
- OUTPUT: Neu: priority
- OUTPUT: Neuer Header (<urlset xmlns="http://www.google.com/schemas/sitemap/0.84" usw...)
Angepasst durch derSteffen und HerrB
2006-01-03
- INPUT: Bugfix (Speichern der Werte der Selektfelder cms php skript
[durch HrBee] Aenderungsdatum und Aenderungshaeufigkeit)
- INPUT: Neues Feld: priority
Ueberarbeitet durch Ratze
2007-08-11
- INPUT: Ueberarbeitung und Saeuberung des Codes
- INPUT: Neu: Mehrsprachfaehig im Backend
- INPUT/OUPUT: Neu: Ausnahmen. Die Moeglichkeit einzelnen Kategorien
andere Prioritaeten und Aenderungshaeufigkeiten zuzuweisen
(Scriptelemente bei den "Ausnahmen" aus dem Modul "Article List
Advanced" von HerrB entnommen. Danke :-)
- INPUT/OUTPU: Auszuschliessende Artikel von windowlicker vom 2006-08-06 eingebaut
- OUTPUT: SQL-Abfrage von MyAccount aus dem Modul "myGoogleSitemap"
vom 2006-08-02 eingebaut
- OUTPUT: Wenn eine Seite ein Seitentitel hat, wird dieser als Kommentar
in die XML-Datei geschrieben, damit wird die Kontrolle der Seiten einfacher.
Ueberarbeitet durch funomat
2008-02-21
- INPUT: Fehler beim Anlegen von Ausnahmen behoben
- INPUT/OUTPUT: Neu: Auswahlmoeglichkeit ModRewrite
- INPUT/OUTPUT: Neu: Auswahlmoeglichkeit UTF-8 Codierung
- OUTPUT: Neuer Header (<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" usw...)
siehe https://www.google.com/webmasters/tools/docs/en/protocol.html
Ueberarbeitet durch yodatortenboxer (http://www.xtended-cooperation.de)
2008-06-15
- INPUT/OUTPUT: Neu: Auswahlmoeglichkeit ModRewrite ab 4.6.15 oder Plugin ab 4.8.x
- INPUT/OUTPUT: Neu: Auswahlmoeglichkeit ModRewrite Mandanten-ID oder Name in URL hinzufügen (wie bei MR-Version)
- INPUT/OUTPUT: Neu: Auswahlmoeglichkeit ModRewrite Sprach-ID oder Sprachnamen in URL hinzufügen (wie bei MR-Plugin)
--------------------------------------------------------
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]";
// 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\"";
}
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) {
// 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]";
// 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";
}
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 = '<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'
".$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;
?>