Hallo erst mal
Bin gerade neu zu Contenido gestoßen,
Brauch Hilfe bei der Er Stellung einer Navigation hab das Forum hier durch Geforstet und nicht wirklich Schlauer geworden.
Hier mein Problem.
Beispiel:
Punkts 1 Punkts 2 Punkts 2 beim Mouse Over dann in der zweiten Spalte
Punkt 1.a Punkt 1.b und so weiter Stehen
Wie in dem Absolut genialen Projekt http://www.edco.de/ Menüpunkt Leistung zusehen ist
??? Fragen zur Navigazion !!!!!
moin
ich denke das die Seite mit 2 Navigationsmodulen arbeitet
Das Erste Modul zeigt wohl entweder die Vorhandenen und Online gestellten Kategorieren Bäume oder die Unterkategorieren einer Kategorie an ...
diese Kategorieren wiederum werden wohl mit einem anderen layout/template ausgestatten sein, die zusätlich zum 1. ten Navigationsmodul ein zweites enthält, das wieder entweder ddie Unterkategorieren zu der gewählten Kategorie ODER die Artikel die in dieser Kategorie eingestellt sind ..
das zweite Module gibt es schon im Beispiel das im Contenido Download Pack enthalten ist ( 4.4.2 und 4.4.4 auf jedenfall, die anderen kenn ich nicht ). Sowohl die Unternavigation bzw. die "Artikel" liste könnte man für diesen zweck der zwieten NavBar hernehmen und design mäßig an das Layout anpassen.
Für die Intranetpage habe ich einige verschiedene Module geschrieben, darunter auch ein paar Nav-Module ... werde diese morgen mal mitbringen.
Falls du nciht ganz verstanden hast, hack einfach weiter nach
sers
Stefan Bürk
ich denke das die Seite mit 2 Navigationsmodulen arbeitet
Das Erste Modul zeigt wohl entweder die Vorhandenen und Online gestellten Kategorieren Bäume oder die Unterkategorieren einer Kategorie an ...
diese Kategorieren wiederum werden wohl mit einem anderen layout/template ausgestatten sein, die zusätlich zum 1. ten Navigationsmodul ein zweites enthält, das wieder entweder ddie Unterkategorieren zu der gewählten Kategorie ODER die Artikel die in dieser Kategorie eingestellt sind ..
das zweite Module gibt es schon im Beispiel das im Contenido Download Pack enthalten ist ( 4.4.2 und 4.4.4 auf jedenfall, die anderen kenn ich nicht ). Sowohl die Unternavigation bzw. die "Artikel" liste könnte man für diesen zweck der zwieten NavBar hernehmen und design mäßig an das Layout anpassen.
Für die Intranetpage habe ich einige verschiedene Module geschrieben, darunter auch ein paar Nav-Module ... werde diese morgen mal mitbringen.
Falls du nciht ganz verstanden hast, hack einfach weiter nach

sers
Stefan Bürk
du brauchst ZWEI Navigationsmodule ... bzw eines das du konfigurieren kannst und in Zwei Container mit unterschiedlichen Konfigurationen einbaust.
+---------------------------------------+
+ Titelgrafik +
+---------------------------------------+
+ Naviggationsmodul 1 +
+---------------------------------------+
+ Navigationsmodul 2 +
+ ---------------------------------- ----+
+ CONTENT +
+ bzw. weitere elemente +
+----------------------------------------+
So in diese Richtung sieht ja die Struktur der Page aus die du haben möchtest.
Navigationsmodul 1:
Diese Modul liestet entweder Kategoriestammbäume auf oder halt nur die erste ebene der Unterkategorieren zu einer ausgewählten Kategorie.
Navigationmodul 2:
Listet die Unterkategorieren einer gewählten Kategorie aus oder die einzelnen Artikel einer gewählten Kategorie.
Du erstellst also ein Layout in dem du die CMS_CONTAINER[x] definierst.
Als nächstes ein Layout, mit dem du die einzelnen Container mit den entsprechenden Modulen belegst ( Headline, Text, Nav1, Nav2 usw. ).
Module, die für Navi1 und Navi2 nehmen kannst gibt es sowohl im Contenidobeispiel bzw. im Forum hier und im Downloadbereich.
Hier mal ein Modu, das du auch sowohl für Navi1 und auch Navi 2 nehmen kannst:
Modul - Input
Modul Output
Setze also in deiner Template definition dieses Modul sowohl in den Container für Navi1 und Navi2 ein.
Deine Kategoriestruktur sollte dann ca in diese richtung aussehen
HAUPTNAVIGATION
+----+ NAVI 1 - Punkt 1
| +-------+ NAVI2 - Punkt 1.1
| +-------+ NAVI2 - Punkt 1.2
+----+ NAVI 1 - Punkt 2
+-------+ NAVI2 - Punkt 2.1
+-------+ NAVI2 - Punkt 2.2
wobei HAUPTNAVIGATION der Kategoriebaum darstellt;
NAVI 1 - PUNKT 1 und NAVI 1 - PUNKT 2 sind Unterkategorien im "HAUPTNAVIGATION"-Kategorienbaum.
Punkt 1.1 und Punkt 1.2 sind wiederum Unterkategorien zu Punkt 1.
Punkt 2.1 und Punkt 2.2 sind wiederum Unterkategorien zu Punkt 2.
Du legst für diese Kategorien das Template fest, das du mit den Navigationsmodulen definiert hast. in der Entsprechenden Templatekonfiguration zur Kategorie legst du dann für die Kategorie
NAVI1 - Punkt 1
fest, das Navi1 als Startkategorie HAUPTNAVIGATION nimmt, und Navi2 als Startkategorei PUNKT 1 nimmt.
Ebenso bei Punkt 1.1 und 1.2.
Bei NAVI1 - PUNKT 2
wählst du für Navi1 als Startkategorie auch HAUPTNAVIGATION und für Navi2 dann PUNKT 2 als Startkategorie aus.
Ebenso für Punkt 2.1 und 2.2.
HAUPTNAVIGATION
Entweder du nimmst hier ein Template ( ein zweites ) das den NAVI 2 Modul Container nicht enthält und stellst dann in der Kategorietemplatekonfiguration für NAVI1 wiederum HAUPTNAVIGATION als Startkategorie ein.
Wenn du das selbe Template verwendest wie bei den oberen beschrieben konfiguriest du die HAUPTNAVIGATION Templatekonfiguration für NAVI1 auf HAUPTNAVIGATION und Navi2 läßt du auf "-- KEIN --" stehen bzw. stellst dies ein.
Zusätzlich solltest du den Modulcode durchgehen da dieser nur reine a hrefs definiert und dafür eine css klasse verwendet.
Müsstest dann halt den modulcode anpassen bzw ihn für beide navi level utnerschiedlich gestalten wenn du beide mit unterschiedlichen anzeigen bzw grafiken als hintergründe verwenden willst.
Funktional ist das gepostete Modul aber das was du brauchst.
Gruß
Stefan
P.S.: Der Modulcode ist der aus der Beispielseite, nur bissle angepasst ... hab die Datei mit der Headerinformation leider grad ned gefunden.
+---------------------------------------+
+ Titelgrafik +
+---------------------------------------+
+ Naviggationsmodul 1 +
+---------------------------------------+
+ Navigationsmodul 2 +
+ ---------------------------------- ----+
+ CONTENT +
+ bzw. weitere elemente +
+----------------------------------------+
So in diese Richtung sieht ja die Struktur der Page aus die du haben möchtest.
Navigationsmodul 1:
Diese Modul liestet entweder Kategoriestammbäume auf oder halt nur die erste ebene der Unterkategorieren zu einer ausgewählten Kategorie.
Navigationmodul 2:
Listet die Unterkategorieren einer gewählten Kategorie aus oder die einzelnen Artikel einer gewählten Kategorie.
Du erstellst also ein Layout in dem du die CMS_CONTAINER[x] definierst.
Als nächstes ein Layout, mit dem du die einzelnen Container mit den entsprechenden Modulen belegst ( Headline, Text, Nav1, Nav2 usw. ).
Module, die für Navi1 und Navi2 nehmen kannst gibt es sowohl im Contenidobeispiel bzw. im Forum hier und im Downloadbereich.
Hier mal ein Modu, das du auch sowohl für Navi1 und auch Navi 2 nehmen kannst:
Modul - Input
Code: Alles auswählen
/***********************************************
* INPUT
************************************************/
// selected category
$selected = "CMS_VALUE[0]";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
<tr valign=\"top\">
<td>Kategorie wählen:</td>
<td>
<select name=\"CMS_VAR[0]\">";
if($selected!="0" && $selected!=""){
echo"<option value=\"0\">--- kein ---</option>";
}else{
echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
}
// fetch all categorys
$query = " SELECT
A.idcat,
A.level,
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 ORDER BY A.idtree";
// execute query
$db->query($query);
// loop result and build the options
while ($db->next_record()) {
// indent spacer
$spaces = "|";
// how many levels
$levels = $db->f("level");
for ($i = 0; $i < $levels; $i ++) {
// add 2 spaces for every level
$spaces = $spaces . "--";
} // end for
$spaces .= ">";
if ($selected == $db->f("idcat")) {
// selected category
echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} else {
// category
echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";
} // end if
} // end while
echo " </select>";
echo " </td>
</tr>
</table>";
Code: Alles auswählen
<?php
/***********************************************
* OUTPUT
************************************************/
include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");
// ****************************************************************************************************
// SECURITY-CHECKS
// ****************************************************************************************************
// SQL-Injection Überprüfungen und Work-Arounds
// lokale Variabeln initialisieren um Injections zu unterbinden
$db2 = "";
$catStart = "";
$sTmpStr = "";
$db2_sql = "";
$catIds = "";
$key = "";
$val = "";
$sql = "";
// ****************************************************************************************************
// erstelle eine zweite DB-Klasseninstanz, da wir hier
// mit zwei Abfragen udn Resultsets arbeiten müssen
$db2 = new DB_Contenido;
// Hole aus der Artikeldefinition die Ausgewählte Navigationsebene
$catStart = "CMS_VALUE[0]";
if ($catStart != "") {
$sTmpStr = "";
// Ermittlung aller Kategorie IDs der ausgesuchten
// Navigationsebene und speicherug in einem Array
// $catIds = conDeeperCategoriesArray($catStart);
$db2_sql = " SELECT
*
FROM ". $cfg["tab"]["cat"] ." AS A
WHERE
A.parentid = ". $catStart;
// Abfrage ausführen
$db2->query($db2_sql);
// Ermittlung aller Kategorie IDs der ausgesuchten
// Navigationsebene und speicherug in einem Array
while ( $db2->next_record() ) {
$catIds[] = $db2->f("idcat");
}
// Überprüfung ob $catIds wirklich ein Array ist
if ( is_array($catIds) ) {
// die einzelnen IDs durchgegen
foreach($catIds as $key=>$val) {
// Ersten Eintrag überspringen, da es sich dabei umd
// den Menupunkt selbst handelt und dieser nicht
// Angezeigt werden soll.
if ($key != 0) {
// Datenbankabfrage ( SQL QUERY ) aufbauen
$sql = "SELECT
CAT.idcat AS idcat,
name
FROM
".$cfg["tab"]["cat"]." AS CAT,
".$cfg["tab"]["cat_lang"]." AS CATLANG
WHERE CAT.idcat = ".$val."
AND CAT.idcat = CATLANG.idcat
AND CATLANG.idlang = '$lang'
AND CATLANG.visible = '1'";
// Datenbankabfrage durchführen
$db->query($sql);
// die einzelnen Recordsets der Datenbankabfrage durchgehen
while ( $db->next_record() ) {
// überprüfung, ob schon ein Eintrag in der Ausgabevariabel ist
if ( strlen($sTmpStr) == 0 ) {
// ... Nein, dann die Formatierung für den ersten Eintrag verwenden
// und den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . '[<a class="klein" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>]';
}
else
{
// ... Ja, dann die Formatierung für die weiteren Einträge verwenden und
// den Eintrag der Ausgabevariabel hinzufügen
$sTmpStr = $sTmpStr . ' - [<a class="klein" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>]';
} // end if
} // end while
} // if
} // end foreach
// Ausgabevariabel schreiben, da nun alle Einträge behandelt wurden.
echo ' ' . $sTmpStr;
} // end if (is_array)
}
?>
Setze also in deiner Template definition dieses Modul sowohl in den Container für Navi1 und Navi2 ein.
Deine Kategoriestruktur sollte dann ca in diese richtung aussehen
HAUPTNAVIGATION
+----+ NAVI 1 - Punkt 1
| +-------+ NAVI2 - Punkt 1.1
| +-------+ NAVI2 - Punkt 1.2
+----+ NAVI 1 - Punkt 2
+-------+ NAVI2 - Punkt 2.1
+-------+ NAVI2 - Punkt 2.2
wobei HAUPTNAVIGATION der Kategoriebaum darstellt;
NAVI 1 - PUNKT 1 und NAVI 1 - PUNKT 2 sind Unterkategorien im "HAUPTNAVIGATION"-Kategorienbaum.
Punkt 1.1 und Punkt 1.2 sind wiederum Unterkategorien zu Punkt 1.
Punkt 2.1 und Punkt 2.2 sind wiederum Unterkategorien zu Punkt 2.
Du legst für diese Kategorien das Template fest, das du mit den Navigationsmodulen definiert hast. in der Entsprechenden Templatekonfiguration zur Kategorie legst du dann für die Kategorie
NAVI1 - Punkt 1
fest, das Navi1 als Startkategorie HAUPTNAVIGATION nimmt, und Navi2 als Startkategorei PUNKT 1 nimmt.
Ebenso bei Punkt 1.1 und 1.2.
Bei NAVI1 - PUNKT 2
wählst du für Navi1 als Startkategorie auch HAUPTNAVIGATION und für Navi2 dann PUNKT 2 als Startkategorie aus.
Ebenso für Punkt 2.1 und 2.2.
HAUPTNAVIGATION
Entweder du nimmst hier ein Template ( ein zweites ) das den NAVI 2 Modul Container nicht enthält und stellst dann in der Kategorietemplatekonfiguration für NAVI1 wiederum HAUPTNAVIGATION als Startkategorie ein.
Wenn du das selbe Template verwendest wie bei den oberen beschrieben konfiguriest du die HAUPTNAVIGATION Templatekonfiguration für NAVI1 auf HAUPTNAVIGATION und Navi2 läßt du auf "-- KEIN --" stehen bzw. stellst dies ein.
Zusätzlich solltest du den Modulcode durchgehen da dieser nur reine a hrefs definiert und dafür eine css klasse verwendet.
Müsstest dann halt den modulcode anpassen bzw ihn für beide navi level utnerschiedlich gestalten wenn du beide mit unterschiedlichen anzeigen bzw grafiken als hintergründe verwenden willst.
Funktional ist das gepostete Modul aber das was du brauchst.
Gruß
Stefan
P.S.: Der Modulcode ist der aus der Beispielseite, nur bissle angepasst ... hab die Datei mit der Headerinformation leider grad ned gefunden.
Hallo,
ich wundere mich gerade über die Vergewaltigung unserer Sprache - da wird aus "Navigation" eine "Navigazion" aus "mal" wird "ma" und aus "wenn ich Zeit habe" "= Zeit haben".
Ich will sicher nicht den Moralapostel spielen oder gundlos rummotzen - jedoch kommt mir bei solchen Dingen immer ein ungepflegter Jugendlicher in Schlabberhosen in die Sinne, der sich gerade in der Nase popelt, auf den Boden spuckt und sich am Hintern kratzt.
Komisch, wie empfindlich man manchmal bei solchen Trivialitäten wie der Sprache werden kann?
Grüße,
Der Gallier
ich wundere mich gerade über die Vergewaltigung unserer Sprache - da wird aus "Navigation" eine "Navigazion" aus "mal" wird "ma" und aus "wenn ich Zeit habe" "= Zeit haben".
Ich will sicher nicht den Moralapostel spielen oder gundlos rummotzen - jedoch kommt mir bei solchen Dingen immer ein ungepflegter Jugendlicher in Schlabberhosen in die Sinne, der sich gerade in der Nase popelt, auf den Boden spuckt und sich am Hintern kratzt.
Komisch, wie empfindlich man manchmal bei solchen Trivialitäten wie der Sprache werden kann?

Grüße,
Der Gallier
@gallier
du magst wohl recht haben ... nur sind wir hier weder in der einer vom staat geförderten lehreinrichtung noch in einer privaten.
Ein "vertipssler" ( in deiner Sprache ein Verfehlen der korrekten Taste) kann immer mal passieren, was aber gerade in einem Forum sehr schnell geschieht.
Deine Moralapostelfunktion kannst dir sonst wo hinschieben, sry .. aber deine Darstellung fnd ich echt übertrieben.
Wenn man unter Zeitdruck ist und keine Zeit hat, einen größeren Post 5 mal durchzugehen um jeglichen Verstoß gegen die Rechtschreibung auszumerzen, ist eine solche anprangung echt mies .... da überlegt sich ja bald jeder 2 mal ob er auf ne Frage antwortet, da ja eine Anprangung wegen eines unbeabsichtigten Verschreibens gleich als "Hexenjagt" geandert wird.
sers
Stefan
du magst wohl recht haben ... nur sind wir hier weder in der einer vom staat geförderten lehreinrichtung noch in einer privaten.
Ein "vertipssler" ( in deiner Sprache ein Verfehlen der korrekten Taste) kann immer mal passieren, was aber gerade in einem Forum sehr schnell geschieht.
Deine Moralapostelfunktion kannst dir sonst wo hinschieben, sry .. aber deine Darstellung fnd ich echt übertrieben.
Wenn man unter Zeitdruck ist und keine Zeit hat, einen größeren Post 5 mal durchzugehen um jeglichen Verstoß gegen die Rechtschreibung auszumerzen, ist eine solche anprangung echt mies .... da überlegt sich ja bald jeder 2 mal ob er auf ne Frage antwortet, da ja eine Anprangung wegen eines unbeabsichtigten Verschreibens gleich als "Hexenjagt" geandert wird.
sers
Stefan