Seite 1 von 1

Angepasste Hilfsnavi

Verfasst: Do 13. Sep 2007, 07:54
von racketeer
Guten Morgen

Da ich meine Hilfsnavigation rechts auf der Seite www.schneckenmuehle.de/web/schnecke gerne mit Hilfe von Div-Containern individuell anpassen möchte hab ich in der Augabe des Moduls Hilfsnavigation einfach die Ausgabe des Moduls Hauptnavigation eingesetzt,

das sieht dann irgendwie so aus:

Code: Alles auswählen

<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname  :      Hilfsnavigation
* Author(s)   :     Andreas Lindner
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     05.08.2005
************************************************/

cInclude("frontend", "includes/functions.navigation.php");
cInclude('classes', 'class.template.php');
	
$catStart = "CMS_VALUE[0]";
if(($catStart=='')||($catStart=='0')){
    $cApiClient = new cApiClient($client);
    $catStart= $cApiClient->getProperty('navigation', 'idcat_hilfsnavi');
}
if(!is_object($oClient)) {
	$oClient = new cApiClient($client);
}

$navigation = array();
$navigation = createNavigationArray($catStart, $db);

if (count($navigation) > 0) { 
	foreach ($navigation 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/hptnav_on.html');
		}elseif(is_array($data['sub'])){
	        $tpl->generate('templates/hptnav_open.html');
	    } else {
	        $tpl->generate('templates/hptnav_off.html');
	    }
           }
	} 
}


?>
die Modultemplates habe ich dementsprechend auch angelegt, irgendwie funktioniert das, und irgendwie nicht, geht man oben auf News, wird rechts wiederum so wie ich es will die Hauptnavigation angezeigt nur da wo News stehen sollte steht das was Ihr da seht... Ich habe den Eindruck das sich der Link selber der grade da ist nicht aufruft...

Könnt Ihr mal bitte schauen ? und helfen?

Vielen Dank

[/url]

Verfasst: Do 13. Sep 2007, 07:56
von racketeer
Habe den Fehler gefunden.. wie gesagt.. Wald und Bäume...
Es war ein Tippfehler in einem der Templates...

Danke... :oops:

Verfasst: Mo 18. Feb 2008, 16:37
von matt.loker
Hi racketeer,
ich wollte gerade die von die angepasste Navi probieren, bekomme aber eine Fehlermeldung. muss man bei den Templates irgendwas beachten?

Code: Alles auswählen

Fatal error: Call to a member function on a non-object in /home/www/domain.de/contenido/cms/front_content.php(1029) : eval()'d code on line 1182
PS: Benutzt wird Contenido 4.6.23

Verfasst: Fr 29. Feb 2008, 08:53
von racketeer
Welchen Fehler ich damals hatte weiss ich heute leider nicht mehr,

aber deine Modultemplates sollten schon so aussehen und heissen:

hptnav_off.html

Code: Alles auswählen

<!-- BEGIN:BLOCK -->
	<div class="hlpnav_passive"><a href="{HREF}"  style="padding-left:50px;">{NAME}</a></div>
<!-- END:BLOCK -->
hptnav_on.html

Code: Alles auswählen

<!-- BEGIN:BLOCK -->
	<div class="hlpnav_active"><a href="{HREF}"  style="padding-left:50px;">{NAME}</a></div>
<!-- END:BLOCK -->

hptnav_open.html

Code: Alles auswählen

<!-- BEGIN:BLOCK -->
	<div class="hlpnav_open"><a href="{HREF}"  style="padding-left:50px;">{NAME}</a></div>
<!-- END:BLOCK -->

Wie beschrieben , nutze ich die 4.6.15er und habe mich mit der 4.6.23 noch nicht auseinandergesetzt. Vieleicht liegt es aber auch daran dass der Input der Hilfsnavigation in der 4.6.23 ein etwas anderer ist, darum hier noch mal der Input den ich nutze:

Code: Alles auswählen

// 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>";
[/quote]