interne Verlinkung - Fehler

Gesperrt
wiwa
Beiträge: 7
Registriert: Do 24. Jul 2003, 20:51
Kontaktdaten:

interne Verlinkung - Fehler

Beitrag von wiwa » Do 18. Sep 2003, 19:09

Hallo Allerseits,
ich habe ein Problem mit V.4.3.2
im Html-Editor bei Aufruf des verlinkungsdialoges, steht in der Auswahlliste nur 1(!) Artikel in der jewiligen Kategorie zur internen Verlinkung zur Auswahl.
Geht das nicht - spricht kann man nicht auf jeden beliebigen Artikel verlinken oder ist das ein Bug ??

Danke für Eure Hilfe
lg
Walter

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

interne Links nicht Multilanguage-Fähig - BUG

Beitrag von Arno Simon » Do 18. Sep 2003, 20:08

Hi,

den von Dir genannten Bug konnte ich nicht nachvollziehen, habe dafür jedoch einen anderen Bug gefunden, welcher den Multilanguage-Einsatz der 4.3.2.1b in Punkto interne Verlinkung angeht!

In der Datei /contenido/includes/include.CMS_LINK.php wird von Zeile 87 bis 99 die SQL zur Erzeugung der Link-Artikelliste gebildet. In dieser SQL fehlt die Einschränkung der Artikel auf die gültige Language-ID.

Durch Austausch der SQL-zeilen gegen

Code: Alles auswählen

                $sql = "SELECT *".
                       " FROM ".$cfg["tab"]["cat_tree"]." AS a,".
                       "      ".$cfg["tab"]["cat_art"]." AS b,".
                       "      ".$cfg["tab"]["cat"]." AS c,".
                       "      ".$cfg["tab"]["cat_lang"]." AS d,".
                       "      ".$cfg["tab"]["art_lang"]." AS e".
                       " WHERE  a.idcat = b.idcat AND".
                       "        b.idcat = d.idcat AND".
                       "        d.idlang = '".$lang."' AND".
                       "        b.idart  = e.idart AND".
                       "        c.idcat = a.idcat AND".
                       "        c.idclient = '".$client."' AND".
											 "      	e.idlang = ".$lang.
                       " ORDER BY a.idtree";
wird der Fehler behoben.

Gruß

Arno

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

interne links in spaw (subartikel)

Beitrag von emergence » Fr 19. Sep 2003, 14:14

ähm ja...

in verzeichnis contenido/external/spaw/insert_link.php

zeile: 106 - 221 durch folgendes ersetzen:

Code: Alles auswählen

echo "<select ID=\"selecttxtName\" SIZE=1 style=\"left: 8.54em; top: 1.0647em; width: 21.5em;height: 2.1294em;\" onchange=\"wechsel(this)\" onClick=\"wechsel(this)\">";

                $sql = "SELECT
                            *
                        FROM
                            ".$cfg["tab"]["cat_tree"]." AS a,
                            ".$cfg["tab"]["cat_art"]." AS b,
                            ".$cfg["tab"]["cat"]." AS c,
                            ".$cfg["tab"]["cat_lang"]." AS d,
                            ".$cfg["tab"]["art_lang"]." AS e
                        WHERE
                            a.idcat = b.idcat AND
                            b.idcat = d.idcat AND
                            d.idlang = '".$lang."' AND
                            b.idart  = e.idart AND
                            c.idcat = a.idcat AND
                            c.idclient = '".$client."' AND
                            e.idlang = '".$lang."'
                        ORDER BY
                            a.idtree";

                $db->query($sql);

                        if ($a_link_intern_value != "") {
                            echo "<option value=\"\">-- ".i18n("None")." --</option>";
                        } else {
                            echo "<option value=\"\" selected>-- ".i18n("None")." --</option>";
                        }

                        while ( $db->next_record() ) {

                                $spaces = "";

                                for ($i=0; $i<$db->f("level"); $i++) {
                                    $spaces .= "&nbsp;&nbsp;";
                                }

                                $tmp_title = $db->f("title");

                                if ( strlen($tmp_title) > 32 ) {
                                    $tmp_title = substr($tmp_title, 0, 32);
                                }

                                $spaces .= "> ";

                                if ( $db->f("idcatart") != $a_link_intern_value ) {
                                        echo "<option value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\">$spaces ".$tmp_title."</option>";
                                        //echo "<option value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\">$spaces ".$db->f("name")."-".$tmp_title."</option>";
                                } else {
                                        echo "<option selected=\"selected\" value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\">$spaces ".$tmp_title."</option>";
                                        //echo "<option selected=\"selected\" value=\"front_content.php?idcatart=".$db->f("idcatart")."&lang=$lang&client=$client\">$spaces ".$db->f("name")."-".$tmp_title."</option>";
                                }
                        }

                echo "</SELECT>";
entspricht dem code aus include.CMS_LINK.php mit einer leichten modifikation.
den namen des verzeichnisbaums habe ich auskommentiert.

zusätzlich habe ich noch zwei metatags innerhalb von insert_link.php ergänzt und zwar

Code: Alles auswählen

        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="expires" content="0">
da sich bei meinem server der artikelbaum nicht aktualisiert hat (auch nicht schlecht)

wiwa
Beiträge: 7
Registriert: Do 24. Jul 2003, 20:51
Kontaktdaten:

Beitrag von wiwa » Mo 22. Sep 2003, 11:10

Emergence !!
besten Dank für die rasche und profunde Problemlösung !!

grusz
wiwa

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Mo 22. Sep 2003, 15:40

Und zum Abschluss: Es ist ein bekannter Fehler, der - nach Aussage der Entwickler - in der V4.4 behoben ist.

Gruß
HerrB

Gesperrt