w3concepts.alist.mod2.v1 + sprachversionen

Gesperrt
micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

w3concepts.alist.mod2.v1 + sprachversionen

Beitrag von micha667 »

hi zusammen,
ich hab ein kleines problem mit der liste w3concepts.alist.mod2.v1 und der verwendung von 2 sprachversionen. während eine andere version der liste nur die artikel der jeweiligen sprache korrekt anzeigt, werden sie bei dieser version mit den kat-titel in klammern gedoppelt.

d.h. es wird z.B.

artikel 1 (aktuelles) // aus DE
artikel 1 (news) //aus ENG

angezeigt, wobei aber beide links auf die dt. version verweisen, also nur die englische kat-bezeichnung zusätzlich verwendet wird.

hat jemand ne ahnung, wie ich das abstellen kann?

zum bessern verständnis der link auf den testwebspace:
http://dedi144.your-server.de/www31/con ... hp?idcat=3

für hinweise schonmal vorab besten dank

gruß
micha
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

damit mans leichter findet welches modul gemeint ist:
http://w3concepts.net/1/1/51/89.html
*** make your own tools (wishlist :: thx)
micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

nachtrag

Beitrag von micha667 »

hab mir das heute wieder vorgenommen. hab´ den part, der die unstimmigkeit verursacht, ausfindig gemacht.

um´s nochmal zusammen zufassen:

die version der obigen liste, die zusätzlich die "Kategorie" in Klammern mit ausgibt, doppelt bei 2 Sprachversionen in der Ausgabe alle Einträge, schreibt also in jeder Sprachversion z.b. sowohl die DE als auch die ENG Kat-Bezeichnung hinter den Eintrag. (Die Links der Einträge verweisen dabei aber alle auf die DE-version)

(http://dedi144.your-server.de/www31/con ... hp?idcat=3 )

Hab die Stelle mal im Code mit Sternchen gekennzeichnet. Ich hab allerdings auf Anhieb keine Ahnung, wie ich ich die Abfrage auf eine Sprache beschränke. Ein Ändern des $lang in der WHERE Abfrage hat keine Wirkung.


Code: Alles auswählen

case -2:
            $sql_1 = "
                SELECT count(*) AS anzahl
                FROM {$cfg['tab']['cat']} AS a,
                     {$cfg['tab']['cat']} AS b,
                     {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
                WHERE
                    (
                        (
                            c.parentid = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ";
            $sql_2 = "
                SELECT f.name, c.idcat, d.idart, e.idartlang, e.created, DATE_FORMAT(e.created,'%d.%m.%y') AS erstellungsdatum
                FROM {$cfg['tab']['cat']} AS a,
                {$cfg['tab']['cat']} AS b,
                {$cfg['tab']['cat']} AS c
                LEFT JOIN {$cfg['tab']['cat_art']} AS d ON c.idcat = d.idcat
                LEFT JOIN {$cfg['tab']['art_lang']} AS e ON d.idart = e.idart
        ****LEFT JOIN {$cfg['tab']['cat_lang']} AS f ON c.idcat = f.idcat****
                WHERE
                    (
                        (
                            c.parentid = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.parentid = a.idcat
                        )
                        OR
                        (
                            c.idcat = b.idcat
                            AND b.idcat = a.idcat
                        )
                    )
                    AND a.idcat = $categorie
                    AND e.online = 1
                    AND e.redirect = 0
                    AND e.external_redirect = 0
                    AND e.idlang = $lang
                    $nurstartartikel
                ORDER BY e.created DESC
                LIMIT $limit, $angezeigte_anzahl
                ";
            break;
wäre echt nett, wenn einer der Cracks mal drüberschauen könnte. Evtl. ist es ja nur ne Kleinigkeit

danke + Gruß
Micha
micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

Beitrag von micha667 »

bin drauf gekommen.

wen´s interessiert:
beim listen-modul, das zusätzlich den kat-namen hinter den hochgereichten artikeln anzeigt, muß bei verwendung von mehreren sprachversionen in das jeweilige "$sql_2" noch ein:

AND f.idlang = $lang

vor das

AND e.idlang = $lang

bei der WHERE-abfrage, was ja dann doch irgendwie logisch ist ;-)
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

schoen, dass du auch die Loesung gepostet hast! :) Vielleicht hilft es ja auch anderen ...
Gesperrt