#1 (permalink)  
Alt 20.09.2008, 11:57
Neuer Benutzer
 
Registriert seit: 09.08.2008
Beiträge: 28
Standard Unterkategorien nach der 2. Ebene aus Nav ausblenden

Hallo!

Ich habe seit Tagen hier im Forum verschiedene Ansätze ausprobiert, die Unterkategorien ab der 3. Ebene (einschließlich der 3. ) aus der linken Nav herauszunehmen.

Hierzu habe ich den Vorschlag http://www.xt-commerce.com/forum/sho...n+a usblenden

auf meine xtc_show_category.inc.php aus dem YAML-xtc-1.5.0 anzuwenden versucht. Leider vergeblich, da die unten aufgeführte Datei den anderen nicht entspricht und dies wohl die Ursache für Fehler darstellt. Ich habe zwar mehrere Varianten ausprobiert, es gelingt mir jedoch nicht.
Kann mir hier bitte dringend jemand weiterhelfen?

Vielen Dank!

HTML-Code:

<?php
/* -----------------------------------------------------------------------------------------
$Id: xtc_show_category.inc.php 1262 2006-10-27 10:00:32Z mz $

YAML für xt:Commerce - Tabellenfreie Templates
http://www.zs-ecommerce.com

Copyright (c) 2007 Björn Teßmann for Zerosoftware GbR zerosoft.de
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(categories.php,v 1.23 2002/11/12); www.oscommerce.com
(c) 2003 nextcommerce (xtc_show_category.inc.php,v 1.4 2003/08/13); www.nextcommerce.org
(c) 2003-2007 XT-Commerce

Released under the GNU General Public License
---------------------------------------------------------------------------------------*/

function xtc_show_category($counter, $levelNow = -1 , $getPrev = "-1" ) {
global $foo, $categories_string, $id;

// Kategoriennamen umwandeln, so dass eine id-Zuweisung für die CSS-Formatierung möglich wird
// Thanks to Reinhard Hiebl (www.joomla-template-yaml.de/)
// Umlaute Ersetzen
$getId = $foo[$counter]['name'] ;
$searchInId = array("ä" , "ö", "ü", "ß", "Ä", "Ö", "Ü", " ",);
$replaceInId = array("ae" , "oe", "ue", "ss", "Ae", "Oe", "Ue", "");
$getId = str_replace($searchInId, $replaceInId, $getId);
// Sonderzeichen entfernen
$getId = preg_replace("/[^a-zA-Z0-9_]/" , "" , $getId);
// Alles in klein
$getId = strtolower($getId);


// Wenn das erste Element wird als Ebene -1 zugewiesen
if ($getPrev == '-1') {
$foo[$getPrev]['level'] = "-1";
}
// Nächste ID wird als Variable definiert
$getNext = $foo[$counter]['next_id'];

// Wenn das erste Element wird die Body-Box und eine float-Box geöffnet
if ($foo[$counter]['level']=='') {
if (strlen($categories_string)=='0') {
$categories_string .= '';
}
}

// Öffne Liste wenn Elementebene des vorherigen Elements kleiner dem aktuellen ist
if ($foo[$getPrev]['level'] < $foo[$counter]['level']) {
$categories_string .= '<ul>';
}

// Überprüfung ob Elemnt aktiv, sowie öffnen des Listenelements
if ( ($id) && (in_array($counter, $id)) ) {
$categories_string .= '<li class="activeCat" id="cid'.$getId.'">';
} else {
$categories_string .= '<li id="cid'.$getId.'">';
}

// Linkausgabe
$categories_string .= '<a href="';
$cPath_new=xtc_category_link($counter,$foo[$counter]['name']);
$categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new);
$categories_string .= '">';
$categories_string .= $foo[$counter]['name'] ;

// Gibt die Anzahl der Produkte in der Kategorie aus (wenn aktiviert)
if (SHOW_COUNTS == 'true') {
$products_in_category = xtc_count_products_in_category($counter);
if ($products_in_category > 0) {
$categories_string .= '&nbsp;(' . $products_in_category . ')';
}
}

// Überprüfung ob Elemnt aktiv
if ( ($id) && (in_array($counter, $id)) ) {
// Wenn aktuelle Elementebene kleiner als die nächste, schließe Listenelement, sowie Beenden des Links
if ($foo[$counter]['level'] < $foo[$getNext]['level']) {
$categories_string .= '</a>';
} else {
$categories_string .= '</a></li>';
}
} else {
if ($foo[$counter]['level'] < $foo[$getNext]['level']) {
$categories_string .= '</a>';
} else {
$categories_string .= '</a></li>';
}
}

// Wenn nächste Elementebene kleiner ist als die aktuelle, soviele Schließtags wie Differenz ist
if ($foo[$getNext]['level'] < $foo[$counter]['level'] ) {
$cul = $foo[$counter]['level'] - $foo[$getNext]['level'] ;
for ($iul = 1; $iul <= $cul ; $iul++ ) {
$categories_string .= '</ul></li>';
}
}

// Wenn weitere Elemente vorhanden sind, rufe Funktion mit nächstem Element auf, andernfalls schließe Ebene 1 und Boxen
if ($foo[$counter]['next_id']) {
xtc_show_category($foo[$counter]['next_id'], $foo[$counter]['level'], $counter );
} else {
$categories_string .= '</ul>';
}
}

?>

Beitrag bearbeiten/löschen
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #2 (permalink)  
Alt 29.09.2008, 18:53
Neuer Benutzer
 
Registriert seit: 09.08.2008
Beiträge: 28
Standard ???

Keiner eine Idee???
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
ausblenden, ebene, nav, unterkategorien

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Unterkategorien ausblenden imarc Installation und Konfiguration 0 12.09.2008 10:38


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 Uhr.

Copyright © 2011 xt:Commerce GmbH / xt:Commerce International Ltd. - All Rights Reserved

xt:Commerce is a SafeCharge brand