Seite 1 von 1
Sprachenproblem: Kategorie wird nicht umgeschlatet
Verfasst: Mi 23. Feb 2005, 22:50
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
Verfasst: Mi 23. Feb 2005, 23:02
von timo
welche Navigation benutzt du?
Verfasst: Do 24. Feb 2005, 08:39
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...
CU
Michael
Verfasst: Do 24. Feb 2005, 10:12
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]'
Verfasst: Do 24. Feb 2005, 10:57
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