Hilfe Google Sitemap u. Mehrsprachigkeit

Gesperrt
volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Hilfe Google Sitemap u. Mehrsprachigkeit

Beitrag von volupp11 » Mo 21. Nov 2011, 21:58

Habe mir das Modul Google Sitemap gezogen und habe ein kleines Problem. Bei Mehrsprachigkeit erkennt das Modul nicht mehr, ob es sich um einen Startartikel handelt oder nicht. Ich bin einfach zu blöd, und finde partout den Fehler nicht. Hier einmal auszugsweise den Quellcode, in dem irgendwo der Wurm steckt:

Code: Alles auswählen

$query = "SELECT
             E . idcat , 
             E . idart , startidartlang ,
             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";


if ($db->f("idart") == $db->f("startidartlang")) {  
 // Wenn Startartikel gebe nur Kategorie aus
    $link = ModRewrite::build_new_url("?idcat=$linkcat");
    } else {
// Wenn kein Startartikel gebe nur Artikel aus
    $link = ModRewrite::build_new_url("?idart=$linkid");
    } 
Ich hoffe jemand hat einen hilfreichen Tipp für mich.
Zuletzt geändert von Oldperl am Di 22. Nov 2011, 07:56, insgesamt 1-mal geändert.
Grund: Moderation: Code-Tags ergänzt

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: Hilfe Google Sitemap u. Mehrsprachigkeit

Beitrag von Spider IT » Di 22. Nov 2011, 09:16

Du vergleichst hier eine idart mit eine idartlang, das geht nicht (Äpfel und Birnen :)).
Änder das zu

Code: Alles auswählen

if ($db->f("idartlang") == $db->f("startidartlang")) {
und nehme D.idartlang in der Query beim SELECT mit auf, dann sollte es funktionieren:

Code: Alles auswählen

$query = "SELECT
             E . idcat , 
             E . idart , startidartlang ,
             D . pagetitle ,
             C . name ,
             D.idartlang,
             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";


if ($db->f("idartlang") == $db->f("startidartlang")) {  
 // Wenn Startartikel gebe nur Kategorie aus
    $link = ModRewrite::build_new_url("?idcat=$linkcat");
    } else {
// Wenn kein Startartikel gebe nur Artikel aus
    $link = ModRewrite::build_new_url("?idart=$linkid");
    }  
Gruß
René

volupp11
Beiträge: 93
Registriert: Di 28. Nov 2006, 00:33
Wohnort: Berlin
Kontaktdaten:

Re: Hilfe Google Sitemap u. Mehrsprachigkeit

Beitrag von volupp11 » Di 22. Nov 2011, 14:53

Ich wußte, ich bin zu blöd. Vielen Dank.

Gesperrt