Sprachenproblem: Kategorie wird nicht umgeschlatet

Gesperrt
BlackCaD
Beiträge: 7
Registriert: So 22. Aug 2004, 23:50
Kontaktdaten:

Sprachenproblem: Kategorie wird nicht umgeschlatet

Beitrag von BlackCaD »

Hallo

Ich habe da ein kleines Problem mit dem Modul http://www.contenido.org/forum/viewtopic.php?t=4821 oder ich bin einfach nur zu dusselig. :?

Der Content wird zwar gewechselt aber die Kategoriebezeichnung bleibt immer auf der zweiten Sprache. Ich bin mir nicht sicher ob ich alles richtig gemacht habe: Erstmal habe ich eine zweite Sprache angelegt, dann das Modul angelegt, einen neuen Container im Template mit dem Modul definiert und dann den Container im Layout eingefügt. Dann habe ich rechts oben die zweite Sprache ausgewählt und in den Kategorien den Kategorienamen geändert und auf online gestellt.
Ist evtl. in diesen Arbeitsschritten ein Fehler?

Link zu der Testseite: http://zwischenzug.de/cms/


Für Hilfe wäre ich dankbar, da ich ein anderes Projekt viersprachig erstellen muß.


CU
Michael
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

welche Navigation benutzt du?
BlackCaD
Beiträge: 7
Registriert: So 22. Aug 2004, 23:50
Kontaktdaten:

Beitrag von BlackCaD »

Hallo!

Ich bin nicht sicher ob ich dich richtig verstanden habe, aber hier mal der Code vom Modul Hauptnavigation:

Eingabe:

Code: Alles auswählen

/**
 * Navigation
 *
 * INPUT
 *
 * @autor Jan Lengowski <Jan.Lengowski@4fb.de>
 * @copyright four for business AG 2003
 */

?>
<table cellspacing="0" cellpadding="0" cellpadding="0">
    <tr>
        <td class="text_medium" style="padding: 10px;">Baum w?hlen:</td>
        <td style="padding: 10px;">
            <select name="CMS_VAR[0]">
            <option value="0">-- kein --</option>
            <?php

                $sql = "SELECT
                            A.idcat,
                            C.name
                        FROM
                            ".$cfg["tab"]["cat_tree"]." AS A,
                            ".$cfg["tab"]["cat"]." AS B,
                            ".$cfg["tab"]["cat_lang"]." AS C
                        WHERE
                            A.idcat     = B.idcat AND
                            B.idcat     = C.idcat AND
                            C.idlang    = '".$lang."' AND
                            B.idclient  = '".$client."' AND
                            C.visible   = 1 AND
                            A.level     = '0'
                        ORDER BY
                            A.idtree";

                $db->query($sql);

                while ( $db->next_record() ) {

                    if ( "CMS_VALUE[0]" == $db->f("idcat") ) {
                        echo '<option selected="selected" value="'.$db->f("idcat").'">'.$db->f("name").'</option>';

                    } else {
                        echo '<option value="'.$db->f("idcat").'">'.$db->f("name").'</option>';

                    }
                }

            ?>
            </select>
        </td>
    </tr>
</table>

<?php
Hier habe ich nichts verändert.


Ausgabe:

Code: Alles auswählen

<table border="0" cellspacing="0" cellpadding="0">
<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Navigation ALL
* Author      :     Jürgen Brings
* Created     :     02-04-2004
* Modified    :     27-08-2004   Michael Schwarz
************************************************/

/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

$navitems = array();

/* Template Instance */
$tpl = new Template;

                $sql2 = "SELECT DISTINCT
                            TREE.idcat,
                            LANG.name,
                            TREE.level

                        FROM
                            ".$cfg["tab"]["cat_tree"]." AS TREE,
                            ".$cfg["tab"]["cat"]." AS CAT,
                            ".$cfg["tab"]["cat_lang"]." AS LANG
                        WHERE
                            TREE.idcat = LANG.idcat AND
                            TREE.level > 0 AND
                            LANG.visible   = '1' AND
                            CAT.parentid  = 'CMS_VALUE[0]'   
                           
                        ORDER
                            BY TREE.idtree";

$db2  = new DB_Contenido;
$db2->query($sql2);

while ($db2->next_record()) {

$navitems[$db2->f("idcat")] = array("idcat" => $db2->f("idcat"),"name"=> $db2->f("name"),"level"=> $db2->f("level"));

}


foreach ($navitems as $key => $data) {

if ($data['level']==1) {
    /* 1. Navigations Ebene */
    $tpl->reset();
    $tpl->set('d', 'NAME',  $data['name']);
    $tpl->set('d', 'ID', '_'.$data['idcat']);
    $tpl->set('d', 'TARGET', $data['target']);
    $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
    $tpl->next();

    if ($idcat == $data['idcat']) {
        $tpl->generate('templates/navfirst_on.html');
    } else {
        $tpl->generate('templates/navfirst_off.html');
    }
} // endif

if ($data['level']==2) {

/* 2. Navigations Ebene */
            $tpl->reset();
            $tpl->set('d', 'NAME',  $data['name']);
            $tpl->set('d', 'ID', '_'.$data['idcat']);
            $tpl->set('d', 'TARGET', $data['target']);
            $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
            $tpl->next();

            if ($idcat == $data['idcat']){
                $tpl->generate('templates/navsecond_on.html');
            } else {
                $tpl->generate('templates/navsecond_off.html');
            }

} // endiff

if ($data['level']==3) {

                    /* 3. Navigations Ebene */
                    $tpl->reset();
                    $tpl->set('d', 'NAME',  $data['name']);
                    $tpl->set('d', 'ID', '_'.$data['idcat']);
                    $tpl->set('d', 'TARGET', $data['target']);
                    $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
                    $tpl->next();

                    if ($idcat == $data['idcat']) {
                        $tpl->generate('templates/navthird_on.html');
                    } else {
                        $tpl->generate('templates/navthird_off.html');
                    }

} // endiff

}

?>
</table>
Hier habe ich etwas geändert, aber um ehrlich zu sein weiß ich nicht mehr was.... das ist schon ein paar Monate her... und bisher habe ich Contenido wenig benutzt... :oops:


CU
Michael
swelpot
Beiträge: 101
Registriert: Mo 26. Jul 2004, 20:42
Wohnort: Rhein-Main
Kontaktdaten:

Beitrag von swelpot »

im sql-statement sollte in der where-klausel auf der client und (dein problem) die sprache mit abgefragt werden:
à la:

Code: Alles auswählen

WHERE
  TREE.idcat = LANG.idcat AND
  TREE.level > 0 AND
  LANG.visible   = '1' AND
  LANG.idlang   = '" . $lang . "' AND
  CAT.idclient  = '" . $client . "' AND
  CAT.parentid  = 'CMS_VALUE[0]'   
Grüße

Stefan
BlackCaD
Beiträge: 7
Registriert: So 22. Aug 2004, 23:50
Kontaktdaten:

Beitrag von BlackCaD »

Hallo!

Vielen Dank für die Info! Es hat zwar nicht funktioniert, aber ich habe auf einem anderen Account einfach nochmal eine neue Installation durchgeführt und nun hat es funktioniert. Das alte Projekt ist privat und nicht so wichtig, deswegen macht das nichts wenn es dort (noch) nicht funktioniert. Ich bin ja auch noch am lernen, was Contenido angeht. :)


CU
Michael
Gesperrt