durchblick Posted October 15, 2012 Report Share Posted October 15, 2012 Hi, der Exportmanager erstellt mir nach langem Testen eine wirklich supertolle sitemap (XML; für Google), die Google sogar akzeptiert; leider werden aber immer nur die URLs der Produktseiten mit in die Datei geschrieben, aber zB. nicht die von Kategorien und Unterkategorien (also von div. Übersichtsseiten, auf denen wir halt auch einen gewissen Text stehen haben). Wie bekomme ich hin, dass die URLs dieser Seiten mit in die sitemap geschrieben werden? Danke, durchblick (4.0.14 CE) Link to comment Share on other sites More sharing options...
giller Posted October 15, 2012 Report Share Posted October 15, 2012 das ist zwar nicht wirklich wichtig aber. Aber man könnte die class.export.php natürlich erweitern einfacher gehts aber wenn man die links statisch in den body des exports einzetzt und sie nur beim ersten durchlauf ausgibt und nur das smarty.now mit setzen läst Link to comment Share on other sites More sharing options...
durchblick Posted October 15, 2012 Author Report Share Posted October 15, 2012 Hi Giller, danke dir; heißt das, der body müsste statt: <url> <loc>{$data.products_link}</loc><lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod><changefreq>monthly</changefreq> <priority>0.8</priority> </url> .. in etwa so aussehen?: <url> <loc>{$data.products_link}</loc><lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod><changefreq>monthly</changefreq> <priority>0.8</priority> </url> <url> <loc>http://www.bsp.de/kategorie1/</loc> <lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod> </url> <url> <loc>http://www.bsp.de/kategorie2/</loc> <loc>{$data.products_link}</loc> <lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod> </url> ... danke, lg, durchblick Link to comment Share on other sites More sharing options...
Matthias Posted October 15, 2012 Report Share Posted October 15, 2012 Geht auch einfacher Google Sitemap für xt:Commerce Link to comment Share on other sites More sharing options...
giller Posted October 15, 2012 Report Share Posted October 15, 2012 ja geht auch ohne geld ausgeben BODY {if $counterw == 0} <url> <loc>http://www.bsp.de/kategorie1/</loc> <lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod> </url> {assign var="counterw" value="1"} {else} <url> <loc>{$data.products_link}</loc><lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod><changefreq>monthly</changefreq> <priority>0.8</priority> </url> {/if} Link to comment Share on other sites More sharing options...
giller Posted October 15, 2012 Report Share Posted October 15, 2012 {if $counterw == 0} //* ist der zähler gleich null? dann tuhe das was hier steht {assign var="counterw" value="1"} hier machen wir nach dem ersten durchgang eine 1 aus dem zähler dannach wird nur noch der untere bereich ausgegeben. {else} ist der zähler nicht null tuhe das was hier steht {/if}ende der durchsage Link to comment Share on other sites More sharing options...
mzanier Posted October 16, 2012 Report Share Posted October 16, 2012 Der Exportmanager kann einiges, man kann das auch ohne händische Eingabe realisieren. Body zb: {php} $added = false; if (!$added) { global $db; $rs = $db->Execute("SELECT * FROM xt_seo_url WHERE link_type=2"); while (!$rs->EOF) { echo '<url> <loc>'._SYSTEM_BASE_HTTP._SRV_WEB.$rs->fields['url_text'].'</loc> <lastmod>'.date('c', time()).'</lastmod> <changefreq>monthly</changefreq> <priority>0.9</priority> </url>'."\n"; $rs->MoveNext(); } $added=true; } {/php} <url> <loc>{$data.products_link}</loc> <lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod> <changefreq>monthly</changefreq> <priority>0.8</priority> </url> [/PHP] die query kann man natürlich noch beliebig erweitern, um auch den kategorie status usw zu beachten. Link to comment Share on other sites More sharing options...
giller Posted October 16, 2012 Report Share Posted October 16, 2012 Ja und so sieht das aus wenn ein Profi Programierer mithilft ich denke jetzt ist dein Problem mehr als angenehm gelöst. Link to comment Share on other sites More sharing options...
durchblick Posted October 16, 2012 Author Report Share Posted October 16, 2012 Ogottogott, ich müsste lügen, wenn ich sagen würde, ich verstehe insbes. den php-code ;o) Danke euch allen; giller, eine letzte Frage, müsste die $counterw nicht nach dem Durchlauf wieder auf 0 gesetzt werden, damit bei einem erneuten Durchlauf die statischen URLs wieder mit berücksichtigt werden? lg,durchblick Link to comment Share on other sites More sharing options...
giller Posted October 16, 2012 Report Share Posted October 16, 2012 Das ist schon alles Koreckt so wäre der Counter nach jeden Durchlauf wieder 0 würden im Export die Kategorien stehen dann ein Produkt dann wieder die Kategorien dann ein Produkt usw. Das wollen wir ja nicht. Ich würde Dir empfehlen Kopier den Code von Herr Zainer in den Body. Und ab geht die Post. Link to comment Share on other sites More sharing options...
giller Posted October 16, 2012 Report Share Posted October 16, 2012 Hier die Beste version läuft auch Schneller gibt dir nur die Deutschen Kategorienamen aus. {if $counterw == 0} {php} global $db; $rs = $db->Execute("SELECT * FROM xt_seo_url WHERE link_type='2' AND language_code='de'"); while (!$rs->EOF) { echo '<url><loc>'._SYSTEM_BASE_HTTP._SRV_WEB.$rs->fields['url_text'].'.html</loc><lastmod>'.date('c', time()).'</lastmod><changefreq>monthly</changefreq><priority>0.9</priority></url>'."\n"; $rs->MoveNext(); } {/php} {assign var="counterw" value="1"} {else} <url> <loc>{$data.products_link}</loc><lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod><changefreq>monthly</changefreq> <priority>0.8</priority> </url> {/if} Link to comment Share on other sites More sharing options...
dr.1977 Posted February 5, 2013 Report Share Posted February 5, 2013 Hallo, Ist es möglich nur die aktiven Kategorien usw. auszugeben ? Link to comment Share on other sites More sharing options...
Sentor77 Posted February 5, 2013 Report Share Posted February 5, 2013 Moin, kein Problem. Dafür einfach die SQL-Abfrage erweitern: ersetze $rs = $db->Execute("SELECT * FROM xt_seo_url WHERE link_type='2' AND language_code='de'");[/PHP] durch [PHP]$sql = " SELECT cat.categories_status, su.* FROM ".TABLE_SEO_URL." su LEFT JOIN ".TABLE_CATEGORIES." cat ON cat.categories_id = su.link_id WHERE su.link_type='2' AND su.language_code='de' AND cat.categories_status = 1 "; $rs = $db->Execute($sql);[/PHP] Damit werden nur nopch Links zu aktiven Kategorien angezeigt. LG Link to comment Share on other sites More sharing options...
dr.1977 Posted February 6, 2013 Report Share Posted February 6, 2013 Hallo Sentor77 und herzlichen Dank. Ich habe das script nun probiert, allerdings sieht es so aus als ob der Zähler nicht "greifen" würde. Sei es Produkte wie Kategorien werden mehrmals exportiert.. Link to comment Share on other sites More sharing options...
dr.1977 Posted February 7, 2013 Report Share Posted February 7, 2013 Ich kann mir nicht erklären warum aber bei mir ergibt {if $counterw == 0} {php} global $db; $sql = " SELECT cat.categories_status, su.* FROM ".TABLE_SEO_URL." su LEFT JOIN ".TABLE_CATEGORIES." cat ON cat.categories_id = su.link_id WHERE su.link_type='2' AND su.language_code='it' AND cat.categories_status = 1 "; $rs = $db->Execute($sql); while (!$rs->EOF) { echo '<url><loc>'._SYSTEM_BASE_HTTP._SRV_WEB.$rs->fields['url_text'].'.html</loc><lastmod>'.date('c', time()).'</lastmod><changefreq>monthly</changefreq><priority>0.9</priority></url>'."\n"; $rs->MoveNext(); } {/php} {assign var="counterw" value="1"} {else} <url> <loc>{$data.products_link}</loc><lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod><changefreq>monthly</changefreq> <priority>0.8</priority> </url> {/if} den mehrmaligen Export sei es der Kategorien wie auch der Produkte. Sieht aus als ob der Zähler nicht "greifen" würde.. Link to comment Share on other sites More sharing options...
Sentor77 Posted February 7, 2013 Report Share Posted February 7, 2013 Moin, ich habe gerade mal deinen Code bei mir durchlaufen lassen und lediglich dein "it" durch "de" ersetzt. Bei mir kommt kein doppelter Content sondern alles wie es soll einmal. Ich habe dir mal meine Einstellungen als Anhang dran gepackt. Velleicht hilft das. LG Link to comment Share on other sites More sharing options...
dr.1977 Posted February 10, 2013 Report Share Posted February 10, 2013 Hi, nun wirst du lachen: Wenn ich den Code in die bei der Erstinstallation vorhandene Exportdefinition reinschreib bekomme ich den DC. Nun habe ich einen neuen Export angelegt und der Code funktioniert perfekt. Dass muss mir mal jemand erklären, wäre interessant.... Jedenfalls herzlichen Dank für deine Hilfe Link to comment Share on other sites More sharing options...
Simsalabim Posted January 8, 2014 Report Share Posted January 8, 2014 Jo hab jetzt schon soviel versucht ganze sinnloßen Beiträge hier forum bringen alle nichts korrekt scheint das bis heute net zu funktionieren irgendwie. Hab den unten stehenden Post eingefügt das ist soweit einer der wenigen der korrekt funktioniert selbst der im handbuch geht net. Wird zwar alles soweit exportiert nur werden alle kategorieren doppelt aufgelistet hab schon mehrfach neue Export erstellt und sonst jeglichen code der hier gepostet wurde ausprobiert und selbst auch schon einiges versucht. Ich bekomm es einfach nicht einfach die alle Produkte und Kategorien einmal zu exportieren vllt kann ja jemand anderes helfen kann doch verdamt nochmal net so schwer sein. {if $counterw == 0} {php} global $db; $sql = " SELECT cat.categories_status, su.* FROM ".TABLE_SEO_URL." su LEFT JOIN ".TABLE_CATEGORIES." cat ON cat.categories_id = su.link_id WHERE su.link_type='2' AND su.language_code='de' AND cat.categories_status = 1 "; $rs = $db->Execute($sql); while (!$rs->EOF) { echo '<url> <loc>'._SYSTEM_BASE_HTTP._SRV_WEB.$rs->fields['url_text'].'</loc> <lastmod>'.date('c', time()).'</lastmod> <changefreq>monthly</changefreq> <priority>1.0</priority> </url>'."\n"; $rs->MoveNext(); } {/php} {assign var="counterw" value="1"} {else} <url> <loc>{$data.products_link}</loc> <lastmod>{$smarty.now|date_format:"%Y-%m-%d"}</lastmod> <changefreq>weekly</changefreq> <priority>0.5</priority> </url> {/if} Link to comment Share on other sites More sharing options...
Amrit Posted January 8, 2014 Report Share Posted January 8, 2014 ... kann doch verdamt nochmal net so schwer sein. für alle die mit dem Exportmanager nicht klar kommen (so wie ich..) gibt es immer noch http://www.xml-sitemaps.com/ benutze ich schon seit jahren... Grüße Link to comment Share on other sites More sharing options...
Simsalabim Posted January 8, 2014 Report Share Posted January 8, 2014 Joa hatte ich auch schon gesehen naja aber das ist keine richtige lösung. Hab ja eigentlich auch schon fast alles nur werden die kategorieren warum auch immer doppelt exportiert anstatt nur einmal Link to comment Share on other sites More sharing options...
Amrit Posted January 8, 2014 Report Share Posted January 8, 2014 Naja, bei mir funktionierts, Kat nur einmal, Artikel und Contenseiten ebenfalls. so... ../de/kat/ ..de/kat/artikel_a ..de/kat/artikel_b usw.. möglicherweise hängts an den URL's?? Grüße ist Dein Shop mehrsprachig?? Link to comment Share on other sites More sharing options...
Simsalabim Posted January 8, 2014 Report Share Posted January 8, 2014 Naja manchmal hilft bissel hirn einschalten ^^. Logisch wenn ich die Kategorieren 2x auf meiner Page anzeige lasse das Sie dann auch 2x exportiert werden liegt an nem anderen Plugin aber lass ich dann vom Pluginhersteller beheben muss wohl nur eine box fürn export auskommentiert werden oder so Link to comment Share on other sites More sharing options...
jamuh Posted February 7, 2014 Report Share Posted February 7, 2014 Moin, kein Problem. Dafür einfach die SQL-Abfrage erweitern: ersetze $rs = $db->Execute("SELECT * FROM xt_seo_url WHERE link_type='2' AND language_code='de'");[/PHP]durch [PHP]$sql = " SELECT cat.categories_status, su.* FROM ".TABLE_SEO_URL." su LEFT JOIN ".TABLE_CATEGORIES." cat ON cat.categories_id = su.link_id WHERE su.link_type='2' AND su.language_code='de' AND cat.categories_status = 1 "; $rs = $db->Execute($sql);[/PHP]Damit werden nur nopch Links zu aktiven Kategorien angezeigt. LG Dieser Code funktioniert bei mir sehr gut! Mein Problem: Ich habe einen Multishop. Wie kann ich den Export auf "shop_1" begrenzen? Die Einstellung im Formular Shop ID wird nicht übernommen Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.