Navigation (Menü)
Navigation (Menü)
Hey,
ich habe folgendes Problem...
ich habe bei mir im Contenido 3 Sturkturbäume erstellt.
Einer ist für die Hauptnavigation und die anderen beiden für jeweilige Links auf den Unterseiten.
Jetzt habe ich das Problem das ich nich auswählen kann auf welchen Baum er mit dem Menü zugreifen soll. Standartmäßig ist immer der obere ausgewählt jedoch bringt mir das in den unteremenüs nicht viel =)
da ist jetzt meine frage:
Wie kann ich mein Modul so anpassen das ich die verschiedenen Sturkturbäume auswählen kann oder gibs da ein modul das es kann.
PS: ich hab das forum gerade schon durchsucht aber nichts passendes gefunden...deswegen sorry wenn die frage schon woanders beantwortet wurde
Gruß Philipp
ich habe folgendes Problem...
ich habe bei mir im Contenido 3 Sturkturbäume erstellt.
Einer ist für die Hauptnavigation und die anderen beiden für jeweilige Links auf den Unterseiten.
Jetzt habe ich das Problem das ich nich auswählen kann auf welchen Baum er mit dem Menü zugreifen soll. Standartmäßig ist immer der obere ausgewählt jedoch bringt mir das in den unteremenüs nicht viel =)
da ist jetzt meine frage:
Wie kann ich mein Modul so anpassen das ich die verschiedenen Sturkturbäume auswählen kann oder gibs da ein modul das es kann.
PS: ich hab das forum gerade schon durchsucht aber nichts passendes gefunden...deswegen sorry wenn die frage schon woanders beantwortet wurde
Gruß Philipp
Re: Navigation (Menü)
Was für ein Modul benutzt Du? In dem Modul Hauptnavigation des Beispielmandanten kannst Du sehen, wie man so etwas über den Modulinput oder mit einer Mandanteneinstellung machen kann.Philipp3k hat geschrieben: Wie kann ich mein Modul so anpassen das ich die verschiedenen Sturkturbäume auswählen kann oder gibs da ein modul das es kann.
Bis dann
Tono
Tono
habe jetzt das Modul Hauptnavigation vom Beispielmandanten eingefügt und eingebunden..
jedoch wenn ich den obstersten Baum auswähle bekomme ich da wo das menü erscheinen sollte folgende ausgabe
templates/navfirst_off.htmltemplates/navfirst_off.htmlHauptnavigation
und wenn ich einen Baum tiefer gehe, also den für die unterseiten kommt garnix mehr
jedoch wenn ich den obstersten Baum auswähle bekomme ich da wo das menü erscheinen sollte folgende ausgabe
templates/navfirst_off.htmltemplates/navfirst_off.htmlHauptnavigation
und wenn ich einen Baum tiefer gehe, also den für die unterseiten kommt garnix mehr

Code: Alles auswählen
?><?php
/***********************************************
* CONTENIDO MODUL - INPUT
*
* Modulname : Hauptnavigation
* Author(s) : Jan Lengowski, Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 12.08.2005
************************************************/
#Select tree
?>
<table cellspacing="0" cellpadding="0" cellpadding="4">
<tr>
<td class="text"><?php echo mi18n("Baum wählen");?>:</td>
<td>
<select name="CMS_VAR[0]">
<option value="0">-- <?php echo mi18n("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
------------------------------------------------------------------
------------------------------------------------------------------
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Hauptnavigation
* Author(s) : Jan Lengowski, Andreas Lindner, 4fb
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 12.08.2005
************************************************/
#System properties in use:
#Type: navigation, Name: idcat_homepage
#Contains idcat of tree to be displayed in main navigation
#Includes
cInclude("frontend", "includes/functions.navigation.php");
#If no tree is selected, use client setting
$start_cat = "CMS_VALUE[0]";
if ($start_cat=='') {
$cApiClient = new cApiClient($client);
$start_cat = $cApiClient->getProperty('navigation','idcat_homepage');
}
if ( !is_object($db2) ) {
$db2 = new DB_Contenido;
}
/**
* Check if a category is child
* of another category
*
* @return boolean true/false
* @author Jan Lengowski <Jan.Lengowski@4fb.de>
* @copyright four for business AG 2003
*/
function catIsChildOf($id, $idparent) {
global $cfg, $client, $lang;
$db = new DB_Contenido;
$parent = $id;
while ( $parent != 0 ) {
$sql = "SELECT
a.parentid
FROM
".$cfg["tab"]["cat"]." AS a,
".$cfg["tab"]["cat_lang"]." AS b
WHERE
a.idclient = '".$client."' AND
b.idlang = '".$lang."' AND
a.idcat = b.idcat AND
a.idcat = '".$parent."'";
$db->query($sql);
$db->next_record();
$parent = $db->f("parentid");
if ($parent == $idparent) {
return true;
}
}
return false;
}
if ( catIsChildOf($idcat, $start_cat) ) {
$sel_idcat = $idcat;
} else {
$sel_idcat = $start_cat;
}
/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');
/**
* Array storing alle the
* navigation data
*/
$navitems = array();
/* Template Instance */
$tpl = new Template;
/**
* Recursive function for creating
* the navigation array
* @param Int $idcat Category id
*/
function nav($idcat) {
global $navitems, $client, $lang, $cfg, $start_cat;
$db = new DB_Contenido;
$db2 = new DB_Contenido;
$sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'";
$db->query($sql);
$db->next_record();
$parentid = $db->f("parentid");
if ( $parentid == 0 ) {
if ( $idcat != $start_cat ){
$navitems = array();
$sql = "SELECT
A.idcat,
C.name,
C.public,
C.idcatlang
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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '".$start_cat."'
ORDER
BY A.idtree";
$db->query($sql);
while ($db->next_record()) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext,
a.idartlang AS idartlang
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";
$db2->query($sql);
$flag = false;
while ($db2->next_record()&&!$flag) {
if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
{
$flag = true;
$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
$navitems[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target,
"public" => $db->f("public"),
"idcatlang" => $db->f("idcatlang"));
}
}
}
}
return true;
}
$sql = "SELECT
A.idcat,
C.name,
C.public,
C.idcatlang
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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$parentid'
ORDER BY
A.idtree";
$db->query($sql);
while ($db->next_record()) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext,
a.idartlang AS idartlang
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";
$db2->query($sql);
$flag = false;
while ($db2->next_record() && !$flag) {
if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
{
$flag = true;
$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
$tmp_nav[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"public" => $db->f("public"),
"idcatlang" => $db->f("idcatlang"),
"target" => $target);
}
}
}
$tmp_nav[$idcat]["sub"] = $navitems;
$navitems = $tmp_nav;
/* Function call */
nav($parentid);
} // end function
$sql = "SELECT
A.idcat,
C.name,
C.public,
C.idcatlang
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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$sel_idcat'
ORDER BY
A.idtree";
$db->query($sql);
while ( $db->next_record() ) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext,
a.idartlang AS idartlang
FROM
".$cfg["tab"]["art_lang"]." AS a,
".$cfg["tab"]["cat_art"]." AS b,
".$cfg["tab"]["cat"]." AS c
WHERE
b.idcat = '".$db->f("idcat")."' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'";
$db2->query($sql);
#$db2->next_record();
$flag = false;
while ($db2->next_record()&&!$flag) {
if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
{
$flag = true;
$target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
$navitems[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"public" => $db->f("public"),
"idcatlang" => $db->f("idcatlang"),
"target" => $target);
}
}
}
/* Create Navigation Array */
if(($sel_idcat=='')||($sel_idcat=='0')){
$cApiClient = new cApiClient($client);
$sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage');
}
nav($sel_idcat);
/* Start Output buffer */
ob_start();
foreach ($navitems as $key => $data) {
/* 1. Navigation level */
if (checkCatPermission($data['idcatlang'],$data['public'])) {
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$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');
}elseif(is_array($data['sub'])){
$tpl->generate('templates/navfirst_open.html');
} else {
$tpl->generate('templates/navfirst_off.html');
}
/* 2. Navigation level */
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
if (checkCatPermission($data['idcatlang'],$data['public'])) {
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$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');
}elseif(is_array($data['sub'])){
$tpl->generate('templates/navsecond_open.html');
} else {
$tpl->generate('templates/navsecond_off.html');
}
/* 3. Navigation level */
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
if (checkCatPermission($data['idcatlang'],$data['public'])) {
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$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');
}elseif(is_array($data['sub'])){
$tpl->generate('templates/navthird_open.html');
} else {
$tpl->generate('templates/navthird_off.html');
}
/* 4. Navigation level */
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
if (checkCatPermission($data['idcatlang'],$data['public'])) {
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$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/navfourth_on.html');
}elseif(is_array($data['sub'])){
$tpl->generate('templates/navfourth_open.html');
} else {
$tpl->generate('templates/navfourth_off.html');
}
/* 5. Navigation level */
if (is_array($data['sub'])) {
foreach ($data['sub'] as $key => $data) {
if (checkCatPermission($data['idcatlang'],$data['public'])) {
$tpl->reset();
$tpl->set('d', 'NAME', $data['name']);
$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/navfifth_on.html');
} else {
$tpl->generate('templates/navfifth_off.html');
}
} // end if
} // end foreach
} // end if
} // end if
} // end foreach
} // end if
} // end if
} // end foreach
} // end if
} // end if
} // end foreach
} // end if
} // end if
} // end foreach
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
hier ist das modul so wie es jetzt in Contenido eingebunden ist =)
Das ist das Modul Hauptnavigation, wie man im Header leicht erkennen kann. Dieses Modul ist Teil des Beispielmandanten.
Um einen anderen Baum anzuzeigen, muss Du das Modul konfigurieren. Das heißt Du gehst auf Content->Kategorie. Du klickst hinter jeder Kategorie auf Kategorie bearbeiten und dann auf Kategorie konfigurieren. Ein neues Fenster wird angegzeigt, in dem Du den Baum jedes Navigationsmodules auswählen kannst. Speichern mit einem Klick auf das grüne Häckchen unten.
Das gleiche dann für alle Artikel. Klicke in jeder Kategorie auf jeden Artikel und dann im Menu auf Konfiguration.
Wird bei einer Kategorie oder einem Artikel nur Template: ---Kein--- angezeigt, ist hier auch nichts zu tun.
Bitte ließ Dir dringend die Handbücher durch, die sind zwar noch für 4.6.23, aber das hlift allemal. Dann hättest Du fragen können: "Wie komm ich an die Konfiguration einer Kategorie?" Und das Problem wäre schnell erledigt gewesen.
Um einen anderen Baum anzuzeigen, muss Du das Modul konfigurieren. Das heißt Du gehst auf Content->Kategorie. Du klickst hinter jeder Kategorie auf Kategorie bearbeiten und dann auf Kategorie konfigurieren. Ein neues Fenster wird angegzeigt, in dem Du den Baum jedes Navigationsmodules auswählen kannst. Speichern mit einem Klick auf das grüne Häckchen unten.
Das gleiche dann für alle Artikel. Klicke in jeder Kategorie auf jeden Artikel und dann im Menu auf Konfiguration.
Wird bei einer Kategorie oder einem Artikel nur Template: ---Kein--- angezeigt, ist hier auch nichts zu tun.
Bitte ließ Dir dringend die Handbücher durch, die sind zwar noch für 4.6.23, aber das hlift allemal. Dann hättest Du fragen können: "Wie komm ich an die Konfiguration einer Kategorie?" Und das Problem wäre schnell erledigt gewesen.
Bis dann
Tono
Tono
hey,
ich hab nochmal ne frage...
wenn ich 2 container mit dem Modul Hauptnavigation in eine Seite stelle damit ich einmal den Hauptbaum und einen unterbaum einzeigen lassen kann kommt diese fehlermeldund
ich hab keine ahnung was das sein soll
[/quote]
ich hab nochmal ne frage...
wenn ich 2 container mit dem Modul Hauptnavigation in eine Seite stelle damit ich einmal den Hauptbaum und einen unterbaum einzeigen lassen kann kommt diese fehlermeldund
Code: Alles auswählen
Fatal error: Cannot redeclare catischildof() (previously declared in /var/kunden/webs/cits/ternion/contenido/includes/include.con_editcontent.php(619) : eval()'d code:229) in /var/kunden/webs/cits/ternion/contenido/includes/include.con_editcontent.php(619) : eval()'d code on line 704

-
- Beiträge: 5478
- Registriert: Di 2. Mär 2004, 21:11
- Wohnort: Halchter, wo sonst? ;-)
- Kontaktdaten:
Dann betätige mal die Suchfunktion des Forums, es gibt mehr als genug Beiträge zum Thema, und wenn du nach einem Teil der Fehlermeldung suchst, wirst du garantiert auch auf genug Beiträge stoßen, die die Lösung des Problems nennen.Philipp3k hat geschrieben:ich hab keine ahnung was das sein soll
Ich weiß, es ist bequemer, alles in einem (eigenen) Thread zu fragen, aber hey, wozu hat man sich bemüht und eine Suchfunktion im Forum implementiert?
Bitte keine unaufgeforderten Privatnachrichten mit Hilfegesuchen schicken. WENN ich helfen kann, dann mache ich das im Forum, da ich auch alle Postings lese. PN werden nicht beantwortet!