Hier also nochmal die Module. Es sind vier Stück. Deswegen beschränke ich mich hier mal nur auf die Ausgabe-Teile der Hauptnavigationspunkte. Bei den Unternavigationspunkte gibt es ja eh keinen Eingabe-Teil.
Template 1:
CMS_Container[1] oben erhält Modul 1
CMS_Container[2] mitte erhält Modul 2
CMS_Container[3] unten erhält Modul 3
Template 2:
CMS_Container[1] oben erhält Modul 1
CMS_Container[2] mitte erhält Modul 4
CMS_Container[3] unten erhält Modul 3
Die zwei Templates habe ich, weil ich den CMS_Container[2] entsprechend von Modul 2 in Modul 4 ändern muss. Ich glaube nicht, dass der CMS_Container[2] mit ein und demselben Modul klarkommt.
Modul 1 Hauptnavigation_Oben:
Code: Alles auswählen
<?php
$test_1 = "CMS_VALUE[0]";
if ( !is_object($db1) ) {
$db1 = new DB_Contenido;
}
function catIsChildOf_1($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;
}
}// end while
return false;
}//end function
if ( catIsChildOf_1($idcat, "CMS_VALUE[0]") ) {
$sel_idcat_1 = $idcat;
} else {
$sel_idcat_1 = "CMS_VALUE[0]";
}
/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');
/**
* Array storing all the
* navigation data
*/
$navitems_1 = array();
/* Template Instance */
$me_tpl_1 = new Template;
/**
* Recursive function for creating
* the navigation array
* @param Int $idcat Category id
*/
function nav_1($idcat) {
global $navitems_1, $client, $lang, $cfg;
$db = new DB_Contenido;
$db1 = 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 != "CMS_VALUE[0]" ){
$navitems_1 = array();
$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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = 'CMS_VALUE[0]'
ORDER BY
A.idtree
";
$db->query($sql);
while ($db->next_record()) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
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
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'
";
$db1->query($sql);
$db1->next_record();
$target = ( $db1->f("ext") == 0 ) ? '_self' : '_blank';
$navitems_1[$db->f("idcat")] = array(
"idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}// end while
}// end if
return true;
}//end if
$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
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
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
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'
";
$db1->query($sql);
$db1->next_record();
$target = ( $db1->f("ext") == 0 ) ? '_self' : '_blank';
$tmp_nav_1[$db->f("idcat")] = array(
"idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}//end while
$tmp_nav_1[$idcat]["sub"] = $navitems_1;
$navitems_1 = $tmp_nav_1;
/* Function call */
nav_1($parentid);
}// end function
$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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$sel_idcat_1'
ORDER BY
A.idtree
";
$db->query($sql);
while ( $db->next_record() ) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
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
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'
";
$db1->query($sql);
$db1->next_record();
$target = ( $db1->f("ext") == 0 ) ? '_self' : '_blank';
$navitems_1[$db->f("idcat")] = array(
"idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}//end while
/* Create Navigation Array */
nav_1($sel_idcat_1);
/* Start Output buffer */
ob_start();
foreach ($navitems_1 as $key => $data) {
/* 1. Navigations Ebene */
$me_tpl_1->reset();
$me_tpl_1->set('d', 'NAME', $data['name']);
$me_tpl_1->set('d', 'TARGET', $data['target']);
$me_tpl_1->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$me_tpl_1->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$me_tpl_1->generate('templates/nav_1first_1_on.html');
} else {
$me_tpl_1->generate('templates/nav_1first_1_off.html');
}//end if
if (is_array($data['sub'])) {
$tmp_data_me1 = array();
$tmp_data_me1 = $data;
}// end if
}// end foreach
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Modul 2: Unternavigation zur oberen Hauptnavigation
<?php
if (is_array($tmp_data_me1['sub'])) {
$data = $tmp_data_me1;
foreach ($data['sub'] as $key => $data) {
/* 2. Navigations Ebene */
$me_tpl_1->reset();
$me_tpl_1->set('d', 'NAME', $data['name']);
$me_tpl_1->set('d', 'TARGET', $data['target']);
$me_tpl_1->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$me_tpl_1->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$me_tpl_1->generate('templates/nav_1second_1_on.html');
} else {
$me_tpl_1->generate('templates/nav_1second_1_off.html');
}
if (is_array($data['sub'])) {
$tmp_data_me12 = array();
$tmp_data_me12 = $data;
}
}// end foreach
}// end if
if (is_array($tmp_data_me12['sub'])) {
$data = $tmp_data_me12;
foreach ($data['sub'] as $key => $data) {
/* 3. Navigations Ebene */
$me_tpl_1->reset();
$me_tpl_1->set('d', 'NAME', $data['name']);
$me_tpl_1->set('d', 'TARGET', $data['target']);
$me_tpl_1->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$me_tpl_1->next();
if ($idcat == $data['idcat']) {
$me_tpl_1->generate('templates/nav_1third_1_on.html');
} else {
$me_tpl_1->generate('templates/nav_1third_1_off.html');
}
}// end foreach
}// end if
?>
Modul 3: Hauptnavigation_Unten
Code: Alles auswählen
<?php
$test_2 = "CMS_VALUE[0]";
$db1="";
if ( !is_object($db1) ) {
$db1 = new DB_Contenido;
}
function catIsChildOf_2($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;
}
}// end while
return false;
}//end function
if ( catIsChildOf_2($idcat, "CMS_VALUE[0]") ) {
$sel_idcat_2 = $idcat;
} else {
$sel_idcat_2 = "CMS_VALUE[0]";
}
/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');
/**
* Array storing all the
* navigation data
*/
$navitems_2 = array();
/* Template Instance */
$me_tpl_2 = new Template;
/**
* Recursive function for creating
* the navigation array
* @param Int $idcat Category id
*/
function nav_2($idcat) {
global $navitems_2, $client, $lang, $cfg;
$db = new DB_Contenido;
$db1 = 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 != "CMS_VALUE[0]" ){
$navitems_2 = array();
$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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = 'CMS_VALUE[0]'
ORDER BY
A.idtree
";
$db->query($sql);
while ($db->next_record()) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
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
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'
";
$db1->query($sql);
$db1->next_record();
$target = ( $db1->f("ext") == 0 ) ? '_self' : '_blank';
$navitems_2[$db->f("idcat")] = array(
"idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}// end while
}// end if
return true;
}//end if
$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
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
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
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'
";
$db1->query($sql);
$db1->next_record();
$target = ( $db1->f("ext") == 0 ) ? '_self' : '_blank';
$tmp_nav_2[$db->f("idcat")] = array(
"idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}//end while
$tmp_nav_2[$idcat]["sub"] = $navitems_2;
$navitems_2 = $tmp_nav_2;
/* Function call */
nav_2($parentid);
}// end function
$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
B.idclient = '$client' AND
C.idlang = '$lang' AND
C.visible = '1' AND
B.parentid = '$sel_idcat_2'
ORDER BY
A.idtree
";
$db->query($sql);
while ( $db->next_record() ) {
/* Check for external redirects... */
$sql = "SELECT
a.external_redirect AS ext
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
b.is_start = '1' AND
c.idclient = '".$client."' AND
c.idcat = b.idcat AND
a.idart = b.idart AND
a.idlang = '".$lang."'
";
$db1->query($sql);
$db1->next_record();
$target = ( $db1->f("ext") == 0 ) ? '_self' : '_blank';
$navitems_2[$db->f("idcat")] = array(
"idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}//end while
/* Create Navigation Array */
nav_2($sel_idcat_2);
/* Start Output buffer */
ob_start();
foreach ($navitems_2 as $key => $data) {
/* 1. Navigations Ebene */
$me_tpl_2->reset();
$me_tpl_2->set('d', 'NAME', $data['name']);
$me_tpl_2->set('d', 'TARGET', $data['target']);
$me_tpl_2->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$me_tpl_2->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$me_tpl_2->generate('templates/nav_2first_1_on.html');
} else {
$me_tpl_2->generate('templates/nav_2first_1_off.html');
}//end if
if (is_array($data['sub'])) {
$tmp_data_me2 = array();
$tmp_data_me2 = $data;
}// end if
}// end foreach
/* Read out buffer */
$html = ob_get_contents();
/* Clean buffer */
ob_end_clean();
/* Output buffer-contents */
echo $html;
?>
Modul 4: Unternavigation zur unteren Hauptnavigation
<?php
if (is_array($tmp_data_me2['sub'])) {
$data = $tmp_data_me2;
foreach ($data['sub'] as $key => $data) {
/* 2. Navigations Ebene */
$me_tpl_2->reset();
$me_tpl_2->set('d', 'NAME', $data['name']);
$me_tpl_2->set('d', 'TARGET', $data['target']);
$me_tpl_2->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$me_tpl_2->next();
if ($_GET['idcat'] == $data['idcat'] || is_array($data['sub'])) {
$me_tpl_2->generate('templates/nav_2second_1_on.html');
} else {
$me_tpl_2->generate('templates/nav_2second_1_off.html');
}
if (is_array($data['sub'])) {
$tmp_data_me22 = array();
$tmp_data_me22 = $data;
}
}// end foreach
}// end if
if (is_array($tmp_data_me22['sub'])) {
$data = $tmp_data_me22;
foreach ($data['sub'] as $key => $data) {
/* 3. Navigations Ebene */
$me_tpl_2->reset();
$me_tpl_2->set('d', 'NAME', $data['name']);
$me_tpl_2->set('d', 'TARGET', $data['target']);
$me_tpl_2->set('d', 'HREF', $sess->url('front_content.php?idcat='.$data['idcat']));
$me_tpl_2->next();
if ($_GET['idcat'] == $data['idcat']) {
$me_tpl_2->generate('templates/nav_2third_1_on.html');
} else {
$me_tpl_2->generate('templates/nav_2third_1_off.html');
}
}// end foreach
}// end if
?>