Google Sitemap XML für 4.8x mit und ohne MR

onda88
Beiträge: 77
Registriert: Di 28. Okt 2008, 16:41
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von onda88 » Do 20. Aug 2009, 16:13

niemand? :(

BagHira
Beiträge: 486
Registriert: Do 23. Feb 2006, 19:42
Wohnort: Tirschenreuth / Oberpfalz / Bayern
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von BagHira » Do 20. Aug 2009, 16:58

onda88 hat geschrieben:

Code: Alles auswählen

"Fatal error: Error: Can't include /home/wusr30072/www/cms/includes/functions.input.helper.php in /home/wusr30072/www/contenido/includes/api/functions.api.general.php on line 181"!
Servus Andreas,

ist die Datei functions.input.helper.php den da wo sie hin soll und ist sie für php lesbar?
Sie müsste wie di Fehlermeldung schon sagt in cms/includes/ liegen
Gruß Holger

Träumer haben vielleicht keinen Plan, aber Realisten haben keine Vision.

Handgewickelte Glasperlen Facebook Google+

Mirco NAJU
Beiträge: 77
Registriert: Sa 30. Mai 2009, 09:11
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von Mirco NAJU » Fr 25. Sep 2009, 18:17

eigentlich ist die googlesitemap hier ja sehr gut und funktioniert auch sehr gut ... das einzige was mich derzeit ein wenig wurmt ist, dass sie sehr global arbeitet und jede einzele Seite rausgeschmissen werden muss ...

gibt es die möglichkeit das skript irgendwie so anzupassen, dass analog zur artikelliste advanced ein seitenbaum ausgewählt werden kann, die die sitemap dann bedient ... also sozusagen die erstellung mehrerer einzelner sitemaps möglich macht.

wäre nämlich teilweise bei der google-verfolgung hilfreich

onda88
Beiträge: 77
Registriert: Di 28. Okt 2008, 16:41
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von onda88 » Mi 21. Okt 2009, 08:13

Hallo!

Funktioniert bei euch die Sitemap, wenn sie HTML-Kommentare beinhaltet (wo der Seitentitel drin steht)?
Bsp.:

Code: Alles auswählen

<!-- SEITENTITEL -->
<url>
 <loc>http://www.url.com/</loc>
 <lastmod>2009-09-30T20:00:00+02:00</lastmod>
 <changefreq>weekly</changefreq>
</url>

<!-- SEITENTITEL -->
<url>
 <loc>http://www.url.com/unterseite.html</loc>
 <lastmod>2009-09-30T20:00:00+02:00</lastmod>
 <changefreq>weekly</changefreq>
</url>

...
Ich muss nämlich immer den Teil im Modul rauslöschen, der dafür zuständig ist diese HTML-Kommentare auszugeben, sonst erhalte ich von Google folgende Fehlermeldung:
Wir konnten Ihre XML-Sitemap nicht lesen. Sie dürfte einen Eintrag enthalten, den wir nicht verarbeiten konnten. Bitte validieren Sie Ihre XML-Sitemap, bevor Sie sie neu einreichen.
Sobald in der Sitemap keine Kommentare mehr vorkommen, wird sie von Google sofort akzeptiert...

Grüße, onda

nonano
Beiträge: 43
Registriert: Do 13. Apr 2006, 17:45
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von nonano » Do 27. Mai 2010, 07:14

Polardrache hat geschrieben:Ich hab bei mir eine zusätzliche Schleife für die Sprachen direkt nach der Header-Ausgabe eingebaut. Allerdings musst Du den Output-Code von Hand anpassen, wenn Du mehr Sprachen hast.
Hi, ich nehme an, so kannst Du aber nichts in der zweiten Sprache konfigurieren, oder?

Ich habe eine viersprachige Seite, und will gerne für jede Sprache die Konfigurationsmöglichkeiten haben (Prio, Change-freq, Ausschluß ...)

Um alles in einer einzelnen sitempa.xml zu haben, werde ich wohl alle vier mergen müssen, oder gibt es eine besser Möglichkeit?

nonano
Beiträge: 43
Registriert: Do 13. Apr 2006, 17:45
Kontaktdaten:

Re: Neue Version der XML Sitemaps für Contenido >= 4.8.9

Beitrag von nonano » Do 27. Mai 2010, 09:02

xmurrix hat geschrieben: Download:
- Contenido_module_XML_Sitemaps_20090126.zip
Hey xmurrix,
Tausend Dank dafür. Find ich sehr hilfreich. Einzig die Option, nicht nur auf Kategorien, sondern auch auf Artikel bezogen Ausnahmen zu definieren, würde ich mir noch wünschen :)
Für mehrsprachige Sites mit AMR habe ich mir was einfallen lassen:

Datei sitemap.php im Ordner /cms/ anlegen. Folgende Zeilen reinkopieren:

Code: Alles auswählen

<?php
$arr_langs = explode(',', $lang);

# debug: 
# header("Content-type: text/plain");

$dir = 	preg_replace("/\w+\.php\d?/", "", $_SERVER['SCRIPT_NAME']);
$url = 'http://' .$_SERVER['SERVER_NAME'] .$dir .'front_content.php?idart=' .$_GET['idart'] .'&lang='; # language parameter is set in for loop!

$data=false;
for($i=0; $i<count($arr_langs); $i++) {
	
	$urlsinlang = '';
	$file = fopen($url .$arr_langs[$i], "r");
	while(!feof($file))
		$urlsinlang .=fgets($file, 4096);
	fclose($file);
	
	
	# extract urlset and wrapping stuff
	preg_match("/^(<\?xml[^>]+\?>\s*<urlset[^>]+>\s*)(.+)(<\/urlset>\s*)$/ms", $urlsinlang, $matches);

	
	# opening tag
	if($i==0) {
		header("Content-type: text/xml");
		echo $matches[1];
	}
	
	# urls for this language
	echo "\n" .'<!-- :::::::::::: urlset for lang ID ' .$arr_langs[$i] .': :::::::::::: -->' ."\n";
	echo $matches[2];
	
	# closing tag
	if($i==count($arr_langs)-1) {
		echo $matches[3];
	}
}

?>

.htaccess anpassen:

Code: Alles auswählen

(...)
# One RewriteRule to rule them all
# --------------------------------
(...?)
RewriteCond %{REQUEST_URI} !sitemap\.
RewriteRule !\.(js|ico|gif|jpg|jpeg|png|css|pdf|txt|xml)$ front_content.php [NC,QSA,L]

# SITEMAP
RewriteRule ^sitemap\.xml$  sitemap.php?idart=94&lang=1,2,3,4 [NC,QSA,L]
Man beachte die Zeilen, in denen das Stichwort sitemap auftaucht. lang=1,2,3,4 ist ggf zu ersetzen, je nachdem wieviele Sprachen vorhanden sind / welche mit in der Sitemap erscheinen sollen. idart müsst ihr natürlich auch anpassen.

Nun ist es noch zu empfehlen, die Sitemap in der robots.txt zu propagieren;

Code: Alles auswählen

User-agent: *
Sitemap: http://example.com/sitemap.xml

hohorstmann
Beiträge: 270
Registriert: Do 27. Apr 2006, 02:38
Wohnort: Tief im Westen
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von hohorstmann » Di 5. Apr 2011, 15:14

Liebe Leute,
ich nutze noch C 4.8.8 und möchte gern eine XML-Sitemap erzeugen.
Nun habe ich diverse Threads gelesen, zuletzt http://forum.contenido.org/viewtopic.ph ... ap#p144707
und danach m.E. nach verfahren.

Leider läuft da soviel schief, dass ich es garnicht aufschreiben kann. Ich habe den Überblick verloren und wohl nichts verstanden!

Ist da jemand, der mir eine komprimierte Anleitung gibt, wie ich dieses Ding denn installiere.
Oder habe ich nicht alles gegoogled, oder?
Danke schon einmal vorab.

Gruß, Ho

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von xmurrix » Fr 8. Apr 2011, 21:39

hohorstmann hat geschrieben:...
ich nutze noch C 4.8.8 und möchte gern eine XML-Sitemap erzeugen.
...
Leider läuft da soviel schief, dass ich es garnicht aufschreiben kann. Ich habe den Überblick verloren und wohl nichts verstanden!
...
Ist da jemand, der mir eine komprimierte Anleitung gibt, wie ich dieses Ding denn installiere.
...
Eine Einleitung für die Installation und Einrichtung des Sitemap-Moduls, das für alle Contenido und Modulversionen gilt, gibt es leider nicht.

Du schreibst, dass du Contenido 4.8.8 hast, welche XML-Sitemap Modulversion und AMR Plugin Version verwendest du denn?

Wenn es dermaßen viele Fehler gibt, liegt es sehr wahrscheinlich daran, dass die verwendeten Versionen vom XML-Sitemap Modul und des AMR Plugins sich miteinander oder gar mit der Contenido-Version nicht vertragen.

Gruß
xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

hohorstmann
Beiträge: 270
Registriert: Do 27. Apr 2006, 02:38
Wohnort: Tief im Westen
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von hohorstmann » So 10. Apr 2011, 15:57

Hallo xmurrix,

so ich habe das mal grundsätzlich nochmal angepackt:
  • upgrade von 4.8.8 auf 4.8.14
    AMR laut Deiner Vorgabe auf Deiner Website installiert (geiles Sahneschnittchen übrigens!)
Ergebnis: so das läuft also.

Jetzt werde ich nochmal die Google-XML-Sitemap versuchen zu installieren. Wenn ich dann nicht klarkomme, ...

Vorab danke für Deine Hilfe...

Grüße aus Tief-im-Westen, Ho

hohorstmann
Beiträge: 270
Registriert: Do 27. Apr 2006, 02:38
Wohnort: Tief im Westen
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von hohorstmann » Di 12. Apr 2011, 10:03

Guten Morgen allerseits,

done!

Nach dem o.a.
upgrade von 4.8.8 auf 4.8.14
AMR laut Deiner Vorgabe auf Deiner Website installiert (geiles Sahneschnittchen übrigens!)
habe ich jetzt auch die gewünschte Google-XML-Sitemap installiert.

Ich bin dabei den Anweisungen aus
(siehe unten) gefolgt und siehe da ...

Danke Xmurrix für Deine Hinweise, Ho

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von derSteffen » Mi 7. Dez 2011, 16:59

Hallo,

ich habe mal ne Frage. Die Einträge werden in der XML doch so angelegt (sortiert) wie im Menü. Ist es möglich die Sortierung so zu gestalten, dass die neusten Einträge oben stehen (also die last-modified-Einträge)

Vielen Dank

MfG Steffen

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Re: Google Sitemap XML für 4.8x mit und ohne MR

Beitrag von derSteffen » So 11. Dez 2011, 19:41

Die Antwort auf meine Frage!

Einfach die Zeile im Output

Code: Alles auswählen

 A . idtree, E . idart";
in

Code: Alles auswählen

D . lastmodified desc";
ändern.

MfG Steffen

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Google Sitemap XML mit Kategorie und Sortierung

Beitrag von derSteffen » Di 8. Jan 2013, 11:17

Hallo,

ich habe das Modul um zwei Sachen erweitert.

1. Man kann jetzt auszuschließende Kategorien angeben, dann werden alle Artikel innerhalb der Kategorie nicht angezeigt. Untergeordnete Kategorien sind davon nicht betroffen.
2. Die Auflistung der Artikel in der XML kann sortiert werden nach "Baumstruktur" (also wie angelegt) oder nach "letzte Änderung zuerst".

Hier der COde

INPUT

Code: Alles auswählen

?><?php
/**
 * XML Sitemaps - Ausgabe als XML - Version vom 26.01.2009
 * Modul 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                       */
/* --------------------------------------------------------------------------- */

// 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&uuml;ndlich");
$aktualisierung_auswahl[3]["wert"]    = "daily";
$aktualisierung_auswahl[3]["beschr"]  = mi18n("T&auml;glich");
$aktualisierung_auswahl[4]["wert"]    = "weekly";
$aktualisierung_auswahl[4]["beschr"]  = mi18n("W&ouml;chentlich");
$aktualisierung_auswahl[5]["wert"]    = "monthly";
$aktualisierung_auswahl[5]["beschr"]  = mi18n("Monatlich");
$aktualisierung_auswahl[6]["wert"]    = "yearly";
$aktualisierung_auswahl[6]["beschr"]  = mi18n("J&auml;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 ---------------------------------------------- */
$letzteAenderung  = "CMS_VALUE[1]";
$aktualisierung   = "CMS_VALUE[2]";
$prioritaet       = "CMS_VALUE[3]";
$sortierung       = "CMS_VALUE[8]";
$anzAusnahmen     = "CMS_VALUE[4]";
$dontshow         = "CMS_VALUE[5]";
$dontshowCat      = "CMS_VALUE[6]";
$utf8use          = "CMS_VALUE[7]";
// 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 ($letzteAenderung == "") {
  $letzteAenderung = "0";
}

if ($aktualisierung == "") {
  $aktualisierung = $aktualisierung_auswahl[0]["wert"];
}

if ($prioritaet == "") {
  $prioritaet = $prioritaet_auswahl[0]["wert"];
}

if ($sortierung == "") {
  $sortierung = "A . idtree, E . idart";
}

if ($dontshow == "") {
  $dontshow = "";
}

if ($dontshowCat == "") {
  $dontshowCat = "";
}

// Weiterleitungsartikel
if ($weiterleitungen == "") {
  $weiterleitungenCheck = "";
}else{
  $weiterleitungenCheck = " checked=\"checked\"";
}

if ($utf8use == "") {
  $utf8useCheck = "";
}else{
  $utf8useCheck = " 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&uuml;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 &uuml;ber dieses Modul").'</a></td>'."\n";
echo '  </tr>'."\n";

// Soll die letzte Aenderung mit aufgenommen werden?
echo '  <tr>'."\n";
echo '    <td>'.mi18n("&Auml;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("&Auml;nderungsh&auml;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&auml;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";

// Sortierung?
echo '  <tr>'."\n";
echo '    <td>'.mi18n("Sortierung nach:").'</td>'."\n";
echo '    <td>'."\n";
echo '      <select name="CMS_VAR[8]">'."\n";

echo '        <option value="A . idtree, E . idart"';
              if ($sortierung == "A . idtree, E . idart") { echo ' selected'; }
              echo '>'.mi18n("Baumstruktur wie angelegt").'</option>'."\n";
echo '        <option value="D . lastmodified desc"';
              if ($sortierung == "D . lastmodified desc") { echo ' selected'; }
              echo '>'.mi18n("Letzte &Auml;nderung zuerst").'</option>'."\n";

echo '      </select>'."\n";
echo '    </td>'."\n";
echo '  </tr>'."\n";


// Welche Artikel sollen ausgelassen werden?
echo '  <tr>'."\n";
echo '    <td>'.mi18n("Auszuschliessende Artikel:").'<br></td>'."\n";
echo '    <td>'."\n";
echo '      <input type="text" name="CMS_VAR[5]" value="'.$dontshow.'" size="50"><br>'."\n";
echo '      '.mi18n("Artikel-Id (idart) mit Komma getrennt (z.B. 5,23,89)")."\n";
echo '    </td>'."\n";
echo '  </tr>'."\n";


// Welch Kategorie sollen ausgelassen werden?
echo '  <tr>'."\n";
echo '    <td>'.mi18n("Auszuschliessende Kategorien:").'<br>(untergeordnete Kategorien <br>werden nicht mit eingeschlossen)</td>'."\n";
echo '    <td>'."\n";
echo '      <input type="text" name="CMS_VAR[6]" value="'.$dontshowCat.'" size="50"><br>'."\n";
echo '      '.mi18n("Kategorie-Id (idcat) mit Komma getrennt (z.B. 3,4,12)")."\n";
echo '    <br></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">&nbsp'.$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&auml;hlen...").'</option>'."\n";
     echo '        <option value="changefreq"';
                   if ($aSettings["k".$i]["ElementType"] == "changefreq") { echo ' selected'; }
                   echo '>'.mi18n("&Auml;nderungsh&auml;ufigkeit").'</option>'."\n";
     echo '        <option value="priority"';
                   if ($aSettings["k".$i]["ElementType"] == "priority") { echo ' selected'; }
                   echo '>'.mi18n("Priorit&auml;t").'</option>'."\n";
   echo '      </select>'."\n";
   echo '      &nbsp;'.$sSubmitLink.'&nbsp;'."\n";


   if ($aSettings["k".$i]["ElementType"] != "0") {
     echo '      <br><br>'."\n";

     // Kategorie auswaehlen
     echo '      '.mi18n("Kategorien ausw&auml;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 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&ouml;tigt man keine UTF-8-Codierung!)")."\n";
echo '    </td>'."\n";
echo '  </tr>'."\n";


echo '</table>'."\n";
?><?php
OUTPUT

Code: Alles auswählen

<?php
/**
 * XML Sitemaps - Ausgabe als XML - Version vom 26.01.2009
 * Modul Output
 */


/* DEFINITION DER CMS-VARIABLEN ---------------------------------------------- */
$letzteAenderung  = "CMS_VALUE[1]";
$aktualisierung   = "CMS_VALUE[2]";
$prioritaet       = "CMS_VALUE[3]";
$sortierung       = "CMS_VALUE[8]";
$anzAusnahmen     = "CMS_VALUE[4]";
$dontshow         = "CMS_VALUE[5]";
$dontshowCat      = "CMS_VALUE[6]";
$utf8encode       = "CMS_VALUE[7]";
$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&auml;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&auml;t

      if ($aSettings["k".$i]["ElementType"] == "") {
         $aSettings["k".$i]["ElementType"] == "0";
      }
   }
}



/* DEFAULT-WERTE ------------------------------------------------------------- */

if ($letzteAenderung == "") {
  $letzteAenderung = "0";
}

if ($aktualisierung == "") {
  $aktualisierung = "0";
}

if ($prioritaet == "") {
  $prioritaet = "0";
}

if ($sortierung == "") {
  $sortierung = "A . idtree, E . idart";
}

// Weiterleitungsartikel
if ($weiterleitungen == "") {
  $weiterleitungen == "";
} else {
   $weiterleitungen = 'AND D . redirect = 0';
}

if ($dontshow == "") {
   $dontshow == "";
} else {
   $dontshow =  'AND E . idart NOT IN ('.$dontshow.')';
}

if ($dontshowCat == "") {
   $dontshowCat == "";
} else {
   $dontshowCat =  'AND E . idcat NOT IN ('.$dontshowCat.')';
}


/* 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 ------------------------------------------------------------ */

// 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
             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."
            ".$dontshowCat."
          ORDER BY
            $sortierung";


// execute query
$db->query($query);

$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";

  // 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;

?>
MfG Steffen

Gesperrt