malcomx22 Posted April 12, 2005 Report Share Posted April 12, 2005 Hallo! Ich besch?ftige mich gerade mit der xtc_show_category.inc.php Datei. Hier m?chte ich ein CSS-Men? integrieren. Beispiel: <ul> <li>Kategorie 1 <ul> <li>Kategorie 1.1 <ul> <li>Kategorie 1.1.1</li> </ul> </li> </ul> </li> <li>Kategorie 2 <ul> <li>Kategorie 2.1</li> </ul> </li> <li>Kategorie 3 </li> </ul> Aussehen und Funktionali?t kommt durch CSS. Da ich mich in PHP nicht sehr gut auskenne, wollte ich fragen ob es soetwas schon irgendwo gibt oder ob mir jemand dabei helfen k?nnte das umzusetzen. Was ich bisher geschafft habe (ist syntaktisch beim HTML-Output nicht ganz korrekt): <?php function xtc_show_category($counter) { global $foo, $categories_string, $id; // image for first level $img_1=''; for ($a=0; $a<$foo[$counter]['level']; $a++) { if ($foo[$counter]['level']=='1') { $categories_string .= ''; } $categories_string .= '<ul>'; } if ($foo[$counter]['level']=='') { if (strlen($categories_string)=='0') { $categories_string .='<ul>'; } else { $categories_string .='</ul><ul>'; } $categories_string .= $img_1; $categories_string .= '<li><a href="'; } else { $categories_string .= '<li><a href="'; } if ($foo[$counter]['parent'] == 0) { $cPath_new = 'cPath=' . $counter; } else { $cPath_new = 'cPath=' . $foo[$counter]['path']; } if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $cPath_new.='&category='.xtc_cleanName($foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">'; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= ''; } // display category name $categories_string .= $foo[$counter]['name']; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= ''; } if (xtc_has_category_subcategories($counter)) { $categories_string .= ''; } if ($foo[$counter]['level']=='') { $categories_string .= '</a></li>'; } else { $categories_string .= '</a></li></ul>'; } if (SHOW_COUNTS == 'true') { $products_in_category = xtc_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= ''; //'(' . $products_in_category . ')'; } } $categories_string .= ''; if ($foo[$counter]['next_id']) { xtc_show_category($foo[$counter]['next_id']); } else { $categories_string .= '</ul>'; } } ?> Ich weiss auch ungef?hr wieso, nur kann man das mit diesem Skript so nicht hinbekommen, sondern man m?sste weitere Schleifen einbauen, oder? Link to comment Share on other sites More sharing options...
ademmm Posted April 13, 2005 Report Share Posted April 13, 2005 ich bin auch daran interessiert.... :bounce: :bounce: :bounce: ich habe an verschiedene stellen verschiedene zeichen gesetzt damit ich sehen k?nnte wie meine aenderungen auswirken. so war meine primitive art rauszubekommen.richtig gelungen hats mir auch nicht. Link to comment Share on other sites More sharing options...
malcomx22 Posted April 14, 2005 Author Report Share Posted April 14, 2005 Die Idee mit den Zeichen habe ich auch verfolgt, habe daf?r die Zeilennummer im PHP-Code genommen, so konnte ich feststellen wann welche Zeile aufgerufen wird. Jedoch habe ich festgestellt, dass das momentane Men? nicht flexibel genug ist um so ein CSS-Men? korrekt umzusetzen. Solange keine L?sung sich finden l?sst, werde ich notgedrungen ein Table-Men? erstellen :cry: Bin n?mlich gerade dabei das gesamte XHTML-Template in CSS umzusetzen und ein Table-Men? mittendrin macht sich nicht gerade professionell. Link to comment Share on other sites More sharing options...
dukie6666 Posted April 15, 2005 Report Share Posted April 15, 2005 ich habe es bei mir damals so gel?st: <?php /* ----------------------------------------------------------------------------------------- $Id: xtc_show_category.inc.php,v 1.1 2004/04/26 20:26:42 fanta2k Exp $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright (c) 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(categories.php,v 1.23 2002/11/12); [url]www.oscommerce.com[/url] (c) 2003 nextcommerce (xtc_show_category.inc.php,v 1.4 2003/08/13); [url]www.nextcommerce.org[/url] Released under the GNU General Public License ---------------------------------------------------------------------------------------*/ function xtc_show_category($counter) { global $foo, $categories_string, $id; // image for first level $img_1='<img src="templates/'.CURRENT_TEMPLATE.'/img/icon_arrow.jpg" alt="" />'; for ($a=0; $a<$foo[$counter]['level']; $a++) { if ($foo[$counter]['level']=='1') { $categories_string .= ""; } $categories_string .= ""; } if ($foo[$counter]['level']=='') { if (strlen($categories_string)=='0') { $categories_string .='<ul id="navlist">'; } $categories_string .= '<il><b><a href="'; } else { $categories_string .= '<il><a href="'; } if ($foo[$counter]['parent'] == 0) { $cPath_new = 'cPath=' . $counter; } else { $cPath_new = 'cPath=' . $foo[$counter]['path']; } if (SEARCH_ENGINE_FRIENDLY_URLS == 'true') $cPath_new.='&category='.xtc_cleanName($foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">'; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= '<b>'; } // display category name $categories_string .= $foo[$counter]['name']; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= '</b>'; } if (xtc_has_category_subcategories($counter)) { $categories_string .= ''; } if ($foo[$counter]['level']=='') { $categories_string .= '</a></b></il>'; } else { $categories_string .= '</a></il>'; } if (SHOW_COUNTS == 'true') { $products_in_category = xtc_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= '(' . $products_in_category . ')'; } } if ($foo[$counter]['next_id']) { xtc_show_category($foo[$counter]['next_id']); } else { $categories_string .= '</ul>'; } } ?> Link to comment Share on other sites More sharing options...
malcomx22 Posted April 15, 2005 Author Report Share Posted April 15, 2005 Hierbei kommt aber kein syntaktisch korrektes HTML heraus: <ul><li>Kat 1</li><li>Kat 1.1</li><li>Kat. 2</li></ul> Da m?ssten f?r die Unterkategorie weitere <ul> rein. N?chstes Problem w?re zu pr?fen, wenn eine Unterkategorie auftaucht, die Eltern-kategorie nicht mit direkt zu schliessen, sondern erst am Ende der Kinderkategorie. Beispiel 1 (richtig): <ul> <li>Kategorie 1 <ul> <li>Kategorie 1.1</li> </ul> </li> <li>Kategorie 2</li> </ul> und nicht wie im Beispiel 2 (falsch): <ul> <li>Kategorie 1</li> <ul> <li>Kategorie 1.1</li> </ul> <li>Kategorie 2</li> </ul> In Beispiel 1 wird nicht hinter Kategorie 1 ein verwendet, sondern erst hinter [*]Kategorie 1.1 Link to comment Share on other sites More sharing options...
hausburger Posted December 20, 2005 Report Share Posted December 20, 2005 hat jemand (jetzt) daf?r eine saubere l?sung? Link to comment Share on other sites More sharing options...
grafix-house Posted June 6, 2006 Report Share Posted June 6, 2006 Hat jemand eine HTML syntaktisch richtige L?sung f?r Listen im Kategoriemen?? Link to comment Share on other sites More sharing options...
grafix-house Posted June 6, 2006 Report Share Posted June 6, 2006 <?php /* ----------------------------------------------------------------------------------------- $Id: xtc_show_category.inc.php 1262 2005-09-30 10:00:32Z mz $ XT-Commerce - community made shopping http://www.xt-commerce.com Copyright (c) 2003 XT-Commerce ----------------------------------------------------------------------------------------- based on: (c) 2000-2001 The Exchange Project (earlier name of osCommerce) (c) 2002-2003 osCommerce(categories.php,v 1.23 2002/11/12); [url]www.oscommerce.com[/url] (c) 2003 nextcommerce (xtc_show_category.inc.php,v 1.4 2003/08/13); [url]www.nextcommerce.org[/url] Released under the GNU General Public License list-style version by [email][email protected][/email] ---------------------------------------------------------------------------------------*/ function xtc_show_category2($counter, $prev_counter) { global $foo, $categories_string, $id; if (strlen($categories_string)=='0') { $categories_string .='<ul class="cat_level_'.$foo[$counter]['level'].'"><li>'; } else { if ($foo[$counter]['level'] > $foo[$prev_counter]['level']) { $categories_string .= '<ul class="cat_level_'.$foo[$counter]['level'].'"><li>'; } elseif ($foo[$counter]['level'] == $foo[$prev_counter]['level']) { $categories_string .= '</li><li>'; } elseif ($foo[$counter]['level'] < $foo[$prev_counter]['level']) { $curr_level = $foo[$prev_counter]['level']; while ($foo[$counter]['level'] < $curr_level) { $categories_string .= '</li></ul>'; $curr_level--; } $categories_string .= '</li><li>'; } } $categories_string .= "\n"; $categories_string .= '<a href="'; $cPath_new=xtc_category_link($counter,$foo[$counter]['name']); $categories_string .= xtc_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">'; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= ''; } // display category name $categories_string .= $foo[$counter]['name']; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= ''; } $categories_string .= '</a>'; if (SHOW_COUNTS == 'true') { $products_in_category = xtc_count_products_in_category($counter); if ($products_in_category > 0) { $categories_string .= '(' . $products_in_category . ')'; } } if ($foo[$counter]['next_id']) { xtc_show_category2($foo[$counter]['next_id'], $counter); } else { if ($foo[$counter]['level'] > 0 ) { $curr_level = $foo[$counter]['level']; while ($curr_level > 0 ) { $categories_string .= '</li></ul>'; $curr_level--; } } $categories_string .= '</li></ul>'; } } function xtc_show_category($counter) { xtc_show_category2($counter, 0); } ?> Bei dieser L?sung kannst du die "xtc_show_category.inc.php" beliebig wechseln ohne dar?ber nachzudenken, an welchen stellen noch Anpassungen gemacht worden sind. Gefunden unter: Link zum Thread Link to comment Share on other sites More sharing options...
dukie6666 Posted June 6, 2006 Report Share Posted June 6, 2006 hier gibt es auch eine sch?ne l?sung: http://www.xt-commerce.com/forums/index.ph...ndpost&p=158687 Link to comment Share on other sites More sharing options...
Kingdom Posted June 6, 2006 Report Share Posted June 6, 2006 habt ihr irgendwo eine demo Link to comment Share on other sites More sharing options...
grafix-house Posted June 7, 2006 Report Share Posted June 7, 2006 Originally posted by dukie6666@Jun 6 2006, 05:46 AM hier gibt es auch eine sch?ne l?sung: http://www.xt-commerce.com/forums/index.ph...ndpost&p=158687 Quoted post Nur mit dem Unterschied, das die erzeugte HTML-Liste nicht die Unterkategorien verschachtelt. F?r mich kommt das nur als Notl?sung in Frage, da der Code nicht syntaktisch einwandfrei generiert wird. Habe lange gesucht und probiert. Aber wer m?chte soll es einfach mal ausprobieren und sich den Code mal ohne CSS anschauen. Link to comment Share on other sites More sharing options...
[email protected] Posted December 7, 2006 Report Share Posted December 7, 2006 Besteht noch Interesse? Habe die Datei umgeschrieben Link to comment Share on other sites More sharing options...
Carino Posted February 6, 2007 Report Share Posted February 6, 2007 Hallo, ja ich hätte Interesse... Link to comment Share on other sites More sharing options...
Rool Posted February 9, 2007 Report Share Posted February 9, 2007 ich auch, wär super! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.