neues layout - neues modul - wird nicht angezeigt

prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

neues layout - neues modul - wird nicht angezeigt

Beitrag von prefix »

hi allerseits!

ich hab jetzt folgendes gemacht:

1. neues layout erstellt und als "Standard" gespeichert, ich poste es hier mal:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gemeinde Sitzenberg-Reidling</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="css/position.css" rel="stylesheet" type="text/css" media="screen" />
<link href="css/col_aktuell.css" rel="stylesheet" type="text/css" media="screen" />
<!--<link href="styles/print.css" rel="stylesheet" type="text/css" media="print" />-->
</head>

<body>
<div class="center"> <!-- beginn seitenzentrierung -->
	<div id="topnavi">
		CMS_CONTAINER[1]
	</div>
	
	<div id="topschrift">
		<img src="http://www.victoria.at/test/sirei/_images/topschrift.jpg" alt="Gemeinde Sitzenberg-Reidling" />
	</div>
	
	<div id="topcontainer">
		<div id="mainnavi">
			<div id="mainnavileiste">
				<div id="mainnavifiller">&nbsp;</div>
				CMS_CONTAINER[2]
			</div>
		</div>
	</div>
	
	<div id="inhaltscontainer">
		<div id="navileft">
			<div id="navileftcontainer">
				<div class="navileftelement">CMS_CONTAINER[3]</div>
			</div>
		</div>
		
		<div id="naviright">
			<div id="navirightcontainer">
				<h1>News</h1>
				<div class="navirightnews">CMS_CONTAINER[4]</div>
				
				<div class="navirightanderes">CMS_CONTAINER[5]</div>
			</div>
		</div>
		
		<div id="content">CMS_CONTAINER[6]</div>
		
		<div id="clearcontent">
		Copyright: Gemeinde Sitzenberg-Reidling | Technik: J. Krammer | Design: T. Konrad 
		</div>
	</div>

</div> <!-- ende seitenzentrierung -->
</body>
</html>
2. das ursprungsmodul "service navigation" kopiert und daraus das modul "aa_dev topnavigation" erstellt - die inputs/outputs 1:1 übernommen

3. den output wie folgt in einem kleinen bereich abgeändert:

Code: Alles auswählen

.....
        while ( $db->next_record() ) {
        
           $target = "_self";
          
          /* Check for redirect and new window flag */
          $sql = "SELECT idart FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='". $db->f("idcat")."' AND is_start = '1'";
          $db2->query($sql);
          if ($db2->next_record())
          {
                $cidart = $db2->f("idart");
                $sql = "SELECT external_redirect FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '$cidart' AND idlang='$lang'";
                $db2->query($sql);
                if ($db2->next_record())
                {
                    $target = ( $db2->f("external_redirect") == 0 ) ? '_self' : '_blank';
                }
          }
          /*echo '<td height="21" class=".navigation" style="border: 0px; border-top:1px; border-color: #F7C473; border-style: dashed; background-color: red; padding-left:7px; padding-right:7px;">
          <a class="klein" target="'.$target.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a></td>';*/
		  
		  echo '<a href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>';
		  
        } // end while

.....
4. dem template "standard" das layout "standard" zugewiesen - die container befüllt - in cms_container[1] soll jetzt eigentlich die topnavi stehen.

dem ist aber leider nicht so :(

hier das frontend: http://www.sitzenberg-reidling.gv.at/cm ... ontent.php

ein blick in den quelltext zeigt, dass die id "topnavi" leer ist, aber der cms_container[1] innerhalb der css-id "topcontainer" liegt :(

ich werde noch verrückt hehe - was bitte mach ich da falsch :?:
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

ok, einem problem bin ich schon auf die spur gekommen: ich hatte schon startartikel definiert, denen ich noch die neue konfiguration geben musste.

wenn man jetzt ganz oben auf "impressum" klickt, stimmt schon mal die anzeige der obersten navigation (topnavi).

die linke navi (mainnavi) wird anscheinend in einem template generiert - da muss ich noch ran.

was ich mich aber echt frage: warum wird die anzeige unterbrochen? klickt mal auf impressum und schaut euch den source an, hier der ganze:

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gemeinde Sitzenberg-Reidling</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="css/position.css" rel="stylesheet" type="text/css" />
<link href="css/col_aktuell.css" rel="stylesheet" type="text/css" />
<meta name="generator" content="CMS Contenido 4.4.4">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>
<div class="center"> <!-- beginn seitenzentrierung -->
	<div id="topnavi">
		
	</div>
	
	<div id="topschrift">
		<img src="http://www.victoria.at/test/sirei/_images/topschrift.jpg" alt="Gemeinde Sitzenberg-Reidling" />
	</div>
	
	<div id="topcontainer">
		<div id="mainnavi">
			<div id="mainnavileiste">
				<div id="mainnavifiller">&nbsp;</div>
				<table cellspacing="0" cellpadding="0" border="0"><!-- Generated by Contenido 4.4.4-->
      <tr><td width="165" colspan="2" height="22" style="border: 0px; border-bottom:1px; border-color: #F7C473; border-style: dashed; background-color: #FFFFFF; padding-left:10px">
      <a target="_self" href="front_content.php?idcat=17">Impressum</a></td></tr>
<!-- Generated by Contenido 4.4.4-->
      <tr><td width="165" colspan="2" height="22" style="border: 0px; border-bottom:1px; border-color: #F7C473; border-style: dashed; background-color: #FFFFFF; padding-left:10px">
      <a target="_self" href="front_content.php?idcat=4">Kontakt</a></td></tr>
<!-- Generated by Contenido 4.4.4-->
      <tr><td width="165" colspan="2" height="22" style="border: 0px; border-bottom:1px; border-color: #F7C473; border-style: dashed; background-color: #FFFFFF; padding-left:10px">
      <a target="_self" href="front_content.php?idcat=5">Redakteur Login</a></td></tr>
</table>
			</div>
		</div>
	</div>
	
	<div id="inhaltscontainer">
		<div id="navileft">
			<div id="navileftcontainer">
				<div class="navileftelement">
der hört einfach mitten drin auf? :x

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

Beitrag von timo »

Weil das Modul an dieser Stelle vermutlich einen Fehler enthält.

Mal ins errorlog.txt sehen ;)
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

hm, ich idiot hab die errorlog-datei vor 2 tagen ganz am server gelöscht, ich sollte wohl nur die daten darin löschen, richtig?
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

prefix hat geschrieben:hm, ich idiot hab die errorlog-datei vor 2 tagen ganz am server gelöscht, ich sollte wohl nur die daten darin löschen, richtig?
Normalerweise wird sie im Backend bei Administration-->System GELEERT. Sie sollte eigentlich auch, wenn nicht vorhanden, neu angelegt werden, aber falls dies nicht der Fall ist, kannst Du sie ja neu anlegen und ihr am besten die Rechte 777 geben.
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

achja, danke - gefunden :)

hier die letzten meldungen:
[19-Mai-2004 11:57:49] Session: freeze() failed.
[19-Mai-2004 11:57:49] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-Mai-2004 11:57:53] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-May-2004 11:58:18] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
[19-May-2004 11:58:19] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
[19-May-2004 11:58:19] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
[19-May-2004 11:58:20] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
[19-May-2004 12:01:13] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... t.php(571) : eval()'d code:318) in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... t.php(571) : eval()'d code on line 662
[19-May-2004 12:02:21] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
[19-May-2004 12:03:31] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
[19-Mai-2004 12:04:11] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-Mai-2004 12:04:14] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-Mai-2004 12:05:24] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-Mai-2004 12:05:34] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-Mai-2004 12:05:40] PHP Parse error: parse error, expecting `']'' in /www/docs/www.sitzenberg-reidling.gv.at/contenido ... d.php(155) : eval()'d code on line 161
[19-May-2004 12:05:42] PHP Fatal error: Cannot redeclare nav() (previously declared in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code:179) in /www/docs/www.sitzenberg-reidling.gv.at/cms/front ... t.php(563) : eval()'d code on line 524
wobei: in den functions.mod.php hab ich NICHTS gemacht hm
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

ok, langsam aber sicher werden mir einige dinge klar!

was ich aber überhaupt nicht verstehe, ist, dass ich den original-code der Haupnavigation, so wie er im install-zustand dabei ist, nicht zum laufen kriege (im output-fenster des moduls wird mir auch der grüne punkt angezeigt):

ist das die richtige bzw. kann bitte jemand den richtigen code posten?

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Navigation 1.1
* Author      :     Jan Lengowski
* Copyright   :     Contenido - four for business
* Created     :     15-05-2003
* Modified    :     26-05-2003
************************************************/

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
 */
if (!function_exists("catIsChildOf"))
{
    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, "CMS_VALUE[0]") ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = "CMS_VALUE[0]";
}

/* 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;

        $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 != "CMS_VALUE[0]" ){

                $navitems = 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."'";

                            $db2->query($sql);
                            $db2->next_record();

                            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

                            $navitems[$db->f("idcat")] = array("idcat"      => $db->f("idcat"),
                                                                "name"      => $db->f("name"),
                                                                "target"    => $target);
                      }

           }
           
           return true;
        }

        $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."'";

                $db2->query($sql);
                $db2->next_record();

                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
                
                $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"),
                                                  "name"    => $db->f("name"),
                                                  "target"  => $target);
        }

        $tmp_nav[$idcat]["sub"] = $navitems;
        $navitems = $tmp_nav;

        /* Function call */
        nav($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'
        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."'";

        $db2->query($sql);
        $db2->next_record();

        $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

        $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
                                           "name"   => $db->f("name"),
                                           "target" => $target);
}

/* Create Navigation Array */
nav($sel_idcat);

/* Start Output buffer */
ob_start();

echo '<table cellspacing="0" cellpadding="0" border="0">';

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

    /* 1. Navigations Ebene */
    $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'] || is_array($data['sub'])) {
        $tpl->generate('templates/navfirst_on.html');
    } else {
        $tpl->generate('templates/navfirst_off.html');
    }

    if (is_array($data['sub'])) {

        foreach ($data['sub'] as $key => $data) {

            /* 2. Navigations Ebene */
            $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'] || is_array($data['sub'])) {
                $tpl->generate('templates/navsecond_on.html');
            } else {
                $tpl->generate('templates/navsecond_off.html');
            }

            if (is_array($data['sub'])) {

                foreach ($data['sub'] as $key => $data) {

                    /* 3. Navigations Ebene */
                    $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');
                    } else {
                        $tpl->generate('templates/navthird_off.html');
                    }

                } // end foreach

            } // end if

        } // end foreach

    } // end if

} // end foreach

echo '</table>';

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;

?>
ich hab den absolult unveränderten eingefügt - es klappt einfach nicht :roll:
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

prefix hat geschrieben: ist das die richtige bzw. kann bitte jemand den richtigen code posten?
[...]
ich hab den absolult unveränderten eingefügt - es klappt einfach nicht :roll:
Von wo hast Du ihn denn genommen und ihn eingefuegt? Vielleicht ist beim Kopieren etwas schiefgelaufen ... Hier ist meine Hauptnavigation von 4.4.4, ob die mit Deiner Version uebereinstimmt, kannst Du selbst ueberpruefen. :-)

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="4">

    <tr>
        <td class="text">Baum wählen:</td>
        <td>
            <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

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Navigation 1.1
* Author      :     Jan Lengowski
* Copyright   :     Contenido - four for business
* Created     :     15-05-2003
* Modified    :     26-05-2003
************************************************/

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
 */
if (!function_exists("catIsChildOf"))
{
    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, "CMS_VALUE[0]") ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = "CMS_VALUE[0]";
}

/* 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;

        $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 != "CMS_VALUE[0]" ){

                $navitems = 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."'";

                            $db2->query($sql);
                            $db2->next_record();

                            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

                            $navitems[$db->f("idcat")] = array("idcat"      => $db->f("idcat"),
                                                                "name"      => $db->f("name"),
                                                                "target"    => $target);
                      }

           }
           
           return true;
        }

        $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."'";

                $db2->query($sql);
                $db2->next_record();

                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';
                
                $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"),
                                                  "name"    => $db->f("name"),
                                                  "target"  => $target);
        }

        $tmp_nav[$idcat]["sub"] = $navitems;
        $navitems = $tmp_nav;

        /* Function call */
        nav($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'
        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."'";

        $db2->query($sql);
        $db2->next_record();

        $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

        $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
                                           "name"   => $db->f("name"),
                                           "target" => $target);
}

/* Create Navigation Array */
nav($sel_idcat);

/* Start Output buffer */
ob_start();

echo '<table cellspacing="0" cellpadding="0" border="0">';

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

    /* 1. Navigations Ebene */
    $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'] || is_array($data['sub'])) {
        $tpl->generate('templates/navfirst_on.html');
    } else {
        $tpl->generate('templates/navfirst_off.html');
    }

    if (is_array($data['sub'])) {

        foreach ($data['sub'] as $key => $data) {

            /* 2. Navigations Ebene */
            $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'] || is_array($data['sub'])) {
                $tpl->generate('templates/navsecond_on.html');
            } else {
                $tpl->generate('templates/navsecond_off.html');
            }

            if (is_array($data['sub'])) {

                foreach ($data['sub'] as $key => $data) {

                    /* 3. Navigations Ebene */
                    $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');
                    } else {
                        $tpl->generate('templates/navthird_off.html');
                    }

                } // end foreach

            } // end if

        } // end foreach

    } // end if

} // end foreach

echo '</table>';

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;

?>
Gruss
Christa
timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo »

wichtig ist auch, daß die Hauptnavigation konfiguriert ist!
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

danke euch beiden - aber egal was ich mache, der html-code wird nicht fertig ausgegeben.

einzige möglichkeit: aa_dev subnavi (sollte in den nie angezeigten linken container rein) wird einfach nicht ausgegeben.

- code vom Halchteranerin probiert: zwar in- und output grün, aber keine ausgabe

- nochmal überprüft, ob die kategorien dementsprechend definiert sind (was wo aufscheint) -> ok -> trotzdem keine ausgabe

hier mein errorlog der letzten minuten:

klick

beachtet mal, dass die session nicht in die db geschrieben werden konnte - hm - also mir fällt dazu nichts mehr ein...
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

prefix hat geschrieben:beachtet mal, dass die session nicht in die db geschrieben werden konnte - hm - also mir fällt dazu nichts mehr ein...
Wenn Du damit das meinst:

Code: Alles auswählen

[19-Mai-2004 14:09:57] Invalid SQL: insert into con_phplib_active_sessions ( sid, name, val, changed ) values 
usw., dann ist das belanglos, Du warst wohl nur laengere Zeit untaetig und bist dann rausgeflogen, das habe ich auch ab und zu.
Die andere Frage, die sich mir aber stellt: Du benutzt nicht zufaellig 2x die Haupt- oder die Service-Navigation aufderselben Seite? Denn DAS geht nicht, ohne die Variablen umzubenennen, irgendwo im Forum wurde das Thema schon mal diskutiert ...[/code]
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

hm, nein - benutze jedes modul nur einmal!

hier mal ein screenshot davon - seltsam seltsam
in container 3 sollte dann die aa_dev subnavi kommen - und die hat das problem
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Jetzt verstehe ich nichts mehr ... :shock: funktioniert bei Dir nun die Hauptnavi oder die Servicenavi nicht, bzw. was meinst Du mit Subnavi? Welches Modul hast Du dafuer eingesetzt?
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

sorry, hehe, ich erklär das mal:

1. aa_dev topnavi: ganz oben hellgrau, klappt

2. aa_dev mainnavi: das hellblaue im dunkelblauen über dem bild - da muss ich nur noch das templatefile umschreiben, damit die table-tags wegkommen

3. die aa_dev subnavi: da ist das problem!!!!!!

so sollte sie aussehen (in entwurfsfarben) - sie wird aber leider überhaupt nicht in contenido gezogen (voriger link -> ohne contenido)

sowie ich sie einbinden will, bricht der html-ausgabecode :(
prefix
Beiträge: 142
Registriert: So 16. Mai 2004, 10:40
Kontaktdaten:

Beitrag von prefix »

da ich ja wirklich newbie in contenido bin, noch eine frage:

ich brauch ja keine mehrstufige subnavi, kann ich das nicht einfach aus der db lesen bzw. gibt es dafür ein modul, das mir das "einfach" (also nur 1 ebene) rausholt und verlinkt?
Gesperrt