ringltangbob Posted April 8, 2010 Report Share Posted April 8, 2010 Hallo zusammen, ich habe mich kürzlich entschieden vom afterbuy-Shop auf Veyton umzusteigen. Ich hatte im alten Shop zusätzlich zur normalen Kategorienanzeige ein Flyout-Menü eingebaut. Ich habe es jetz in Veton integriert nur habe ich noch das Problem, dass die Untermenüs beim Hovern nicht erscheinen. Beim Hovern erscheint nur jenes Untermenü, das gerade ausgeklappt ist. Ich bräuchte praktisch eine Menüstruktur, bei der alle Untermenüs bereits ausgeklappt sind. Zur Veranschaulichung hier der alte Shop (so wies werden soll): carfeature Und hier so wies momentan im Veyton-Shop aussieht: xt:Commerce VEYTON 4.0 Kann mir da irgendwer weiterhelfen? Gruß, Benjamin Link to comment Share on other sites More sharing options...
flavor Posted April 8, 2010 Report Share Posted April 8, 2010 Das würde ich auch gerne wissen. Ich habe es auch schon versucht, ähnlich wie bei amazonen sollte es werde, habs aber nicht hinbekommen. Währe sehr an einer Lösung interesiert.. Link to comment Share on other sites More sharing options...
ringltangbob Posted April 8, 2010 Author Report Share Posted April 8, 2010 Das Menü ist ja schon fertig. Mein Problem ist nur, dass das Flyout-Menü ja sämtliche Kategorien und Unterkategorien von Anfang an benötigt. Veyton gibt die Unterkategorien allerdings erst dann aus, wenn die übergeordnete Kategorie aufgerufen wird. Es müssten praktisch alle Kategorien standardmäßig ausgeklappt sein, dann würde es funktionieren. Link to comment Share on other sites More sharing options...
ringltangbob Posted April 8, 2010 Author Report Share Posted April 8, 2010 leider bin ich auch ein absoluter php-Anfänger. Welche Datei muss da eigentlich verändert werden? In der categories.php stehen ja nur 2 Zeilen. Diesen Thread hab ich schon durchgelesen. Das mit den getrennten Kategorien bringt mir nichts, da dann im Prinzip ja nur die erste Unterkategorie aufgeklappt ist. Bie mir sinds aber teilweise 3 Unterkategorien. Ich hab mal an mardl eine PN geschrieben, der das Problem damals offenbar gelöst hat. Link to comment Share on other sites More sharing options...
ringltangbob Posted April 10, 2010 Author Report Share Posted April 10, 2010 Leider hab ich von mardl keine Antwort bekommen. Hat denn keiner eine Idee...? Link to comment Share on other sites More sharing options...
amilo Posted April 10, 2010 Report Share Posted April 10, 2010 Hallo, die Änderung von mardl öffnet auch nur das erste Level. Hilft dir somit leider auch nicht weiter. Wenn du das unbedingt brauchst schreib einfach eine Anfrage an BUI wie viel das umschreiben der Datei kosten würde. MfG. Hansen Link to comment Share on other sites More sharing options...
ringltangbob Posted April 10, 2010 Author Report Share Posted April 10, 2010 Danke für die Info. Habe jetzt eine Anfrage an BUI geschickt. Mal sehen was dabei rauskommt. Falls jemand trotzdem einen Tipp hat, nur her damit... Link to comment Share on other sites More sharing options...
milganti Posted February 2, 2011 Report Share Posted February 2, 2011 Also wenn ich das richtig sehe muss der Aufruf in der categories.php box nur folgendermaßen geändert werden: $tpl_data = array('_categories'=> $category->getCategoryBox(0, true, 0),'_deepest_level_display'=>$category->deepest_level_display); Wobei sich nur der Aufruf der getCategoryBox ändert. Die Standard Parameter sind 0, false, 0. Durch das ändern des zweiten Parameters welcher den namen "Nested" trägt sollten die Unterkategorien im feld "sub" übergebene werden. Ich kann aber leider nicht testen ob es tiefer als die zweite eben geht weil der shop an dem ich gerade arbeite nur 2 ebenen hat Link to comment Share on other sites More sharing options...
2Break Posted February 2, 2011 Report Share Posted February 2, 2011 betrifft4.0.13: Es kommt wohl auf die Anzahl der Kategorienebenen und die Anzahl der Produkte an, ob diese Navigationsstruktur sinnvoll ist. Wenn man 2 bis 3 Category-Ebenen und viele Produkte hat dann ist die nested-Version des linken Navigationmenüs sehr langsam im Seitenaufbau. Meiner Meinung nach zu langsam für eine Startseite. Das schreckt eher ab den Shop zu besuchen. Zumindest auf der Startseite versuche ich derzeit nur mit einer abgespeckten Navigationsstruktur klarzukommen. Vielleicht ergibt sich in zukünftigen Versionen noch eine innovative Lösung um sehr anspruchsvolle Navigationsstrukturen sehr schnell (schnellerer Webseitenaufbau) darstellen zu können. Link to comment Share on other sites More sharing options...
stwinger Posted February 3, 2011 Report Share Posted February 3, 2011 betrifft4.0.13: Es kommt wohl auf die Anzahl der Kategorienebenen und die Anzahl der Produkte an, ob diese Navigationsstruktur sinnvoll ist. Wenn man 2 bis 3 Category-Ebenen und viele Produkte hat dann ist die nested-Version des linken Navigationmenüs sehr langsam im Seitenaufbau. Meiner Meinung nach zu langsam für eine Startseite. Das schreckt eher ab den Shop zu besuchen. Zumindest auf der Startseite versuche ich derzeit nur mit einer abgespeckten Navigationsstruktur klarzukommen. Vielleicht ergibt sich in zukünftigen Versionen noch eine innovative Lösung um sehr anspruchsvolle Navigationsstrukturen sehr schnell (schnellerer Webseitenaufbau) darstellen zu können. Einen Menübuilder für "nested sets" mit frei einstellbaren html tags gibt es doch als Plugin. Listen nach W3C , ordered, unordered div oder definition list sind möglich.. Menüs pro Shop so viele wie du lustig bist, eigene Verwaltung mit frei zuteilbaren Hookpoints. Ebenentiefe und Startebene pro Menü frei wählbar. Link to comment Share on other sites More sharing options...
2Break Posted February 3, 2011 Report Share Posted February 3, 2011 Die Geschwindigkeit der nested set- Baumgenerierung aus der Datenbank bei sehr komplexen Datenstrukturen ist der Engpass und nicht die Erstelltung von Menüs. ( Es ist mir bekannt, daß mit array-Kenntnissen der nested set-Baum in Veyton an beliebiger Stelle - je nach Kategorie-Level - abgriffen und in CSS/HTML-Menüs umgesetzen werden kann. ) Anregung: Eine Beschleunigung der Geschwindigkeit könnte durch etliche Hilfskonstruktionen erfolgen, z.B. indem der gesamte nested set-Arraybaum bei Veyton für eine gewisse Zeit im Caching liegt und aus dem Cache gelesen wird. Link to comment Share on other sites More sharing options...
stwinger Posted February 3, 2011 Report Share Posted February 3, 2011 Die Geschwindigkeit der nested set- Baumgenerierung aus der Datenbank bei sehr komplexen Datenstrukturen ist der Engpass und nicht die Erstelltung von Menüs. ( Es ist mir bekannt, daß mit array-Kenntnissen der nested set-Baum in Veyton an beliebiger Stelle - je nach Kategorie-Level - abgriffen und in CSS/HTML-Menüs umgesetzen werden kann. ) Anregung: Eine Beschleunigung der Geschwindigkeit könnte durch etliche Hilfskonstruktionen erfolgen, z.B. indem der gesamte nested set-Arraybaum bei Veyton für eine gewisse Zeit im Caching liegt und aus dem Cache gelesen wird. Das Plugin hat keine Probleme mit der Performance, auch nicht bei extrem grossen Kategorienbäumen da dieses Plugin absolut performant geschrieben wurde. Testversion, PM an mich ! Link to comment Share on other sites More sharing options...
daloo Posted February 4, 2011 Report Share Posted February 4, 2011 Also wenn ich das richtig sehe muss der Aufruf in der categories.php box nur folgendermaßen geändert werden: $tpl_data = array('_categories'=> $category->getCategoryBox(0, true, 0),'_deepest_level_display'=>$category->deepest_level_display); Wobei sich nur der Aufruf der getCategoryBox ändert. Die Standard Parameter sind 0, false, 0. Durch das ändern des zweiten Parameters welcher den namen "Nested" trägt sollten die Unterkategorien im feld "sub" übergebene werden. Ich kann aber leider nicht testen ob es tiefer als die zweite eben geht weil der shop an dem ich gerade arbeite nur 2 ebenen hat Also ich habe nun den ganzen Tag versucht die Unterkategorien immer anzuzeigen und verzweifle :/ Auch dein Lösungsvorschlag milganti, hat bei mir nur die Unterkategorien komplett entfernt. Hat noch jemand eine andere Lösung? Link to comment Share on other sites More sharing options...
grisuu Posted March 28, 2011 Report Share Posted March 28, 2011 Also ich habe nun den ganzen Tag versucht die Unterkategorien immer anzuzeigen und verzweifle :/ Auch dein Lösungsvorschlag milganti, hat bei mir nur die Unterkategorien komplett entfernt. Hat noch jemand eine andere Lösung? Dito, stehe genau an der selben Stelle. Gibt es was neues? Link to comment Share on other sites More sharing options...
daloo Posted March 28, 2011 Report Share Posted March 28, 2011 Also ich habe es am Ende hart reingeschrieben in die index.html. Ein Templatehersteller bietet ein Template mit dieser Menüart an, aber das kostet 150Euro und nachdem ich den Herrn anschrieb ob er gegen minderen Preis mir nur diese Technik zur Verfügung stellt, verneinte er. 150 Euro ist mir ein Menü nicht wert, hart gehts auch, so oft ändert man das Menü (zumindest ich) sowieso nicht Link to comment Share on other sites More sharing options...
mlueft Posted June 6, 2011 Report Share Posted June 6, 2011 Hi! Ich habe mir selber eine Box geschrieben, die den gesamten Baum ausgibt. xtCore/boxes/gategoryTree.php <?php defined('_VALID_CALL') or die('Direct Access is not allowed.'); $id = $params["id"]; if( !$params["recursive"] ) $tpl_data["recursive"] = 0; $tpl_data = array( '_categories' => $category->getCategoryBox($id, true, 0), '_deepest_level_display' => $category->deepest_level_display ); if( $params["class"] ) $tpl_data["class"] = $params["class"]; if( $params["recursive"] ) $tpl_data["recursive"] = $params["recursive"]; ?> [/PHP] /templates/[templateName]/xtCore/boxes/categoryTree.php [PHP] {if $_categories|count > 0 } <ul {if $class != null }class="{$class}{$recursive}"{/if}> {section name=i loop=$_categories} <li > {$_categories[i].categories_name}({$_categories[i].categories_id}) {box name=categoryTree id=$_categories[i].categories_id class=$class recursive=$recursive+1 } </li> {/section} </ul> {/if} [/PHP] Vielleicht hilt's jemanden. lg, :michael Link to comment Share on other sites More sharing options...
XThorst Posted February 20, 2013 Report Share Posted February 20, 2013 Hi mlueft, bei deiner Lösung bekomme ich irgendwie gar keine Ausgabe. Habe wie du geschrieben hast die beiden Dateien erstellt und in die entsprechenden Ordner geschoben Aufgerufen wird dann die Box im Template mit {box name=categoryTREE}. Ich bin noch nicht so versiert mit XTcommerce bzw. Smarties sorry schon einmal dafür. Ich benötige jedoch dringend die Baumdarstellung mit verschachtelten ul's. Habe ich etwas übersehen? Danke im Voraus. Grüße Link to comment Share on other sites More sharing options...
mgoeben Posted May 16, 2013 Report Share Posted May 16, 2013 Hi! Habe es etwas erweitert, weil das Skript nur Subkategorien anzeigt, ist man in einer Subkategorie drin, wurden nur noch deren Subkategorien angezeigt, die Übergeordneten nicht mehr. xtCore/boxes/categories_tree.php <?php defined('_VALID_CALL') or die('Direct Access is not allowed.'); if (isset($params["treeid"]) ) { $treeid = $params["treeid"]; } else { $treeid = 0; } if( !$params["recursive"] ) $tpl_data["recursive"] = 0; $tpl_data = array( '_categories' => $category->getCategoryBox($treeid, true, 0), '_deepest_level_display' => $category->deepest_level_display ); if( $params["class"] ) $tpl_data["class"] = $params["class"]; if( $params["recursive"] ) $tpl_data["recursive"] = $params["recursive"]; ?> [/PHP] templates/xt_fl/xtCore/boxes/box_categories_tree.html [HTML]{if $_categories|count > 0 } <ul id="top-main-menu" {if $class != null }class="{$class}{$recursive}"{/if}> <li><a href="index.php"><img src="{$tpl_url_path}img/btn-home.png" width="19" height="19" alt="btn-home" /></a></li> {section name=i loop=$_categories} <li><a class="{if $_categories[i].active} active{/if}" href="{$_categories[i].categories_link}">{$_categories[i].categories_name}</a> {box name=categories_tree treeid=$_categories[i].categories_id class=$class recursive=$recursive+1} </li> {/section} </ul> {/if} [/HTML] Das wird dann eingebunden per {box name=categories_tree class=categorytree} Link to comment Share on other sites More sharing options...
flavor Posted June 30, 2013 Report Share Posted June 30, 2013 Hallo mgoeben, danke für dein Beitrag. Allerdings würde mich mal interessieren welche Version du hast. Bei mir in der 4.1 wird das Template zerschossen! Obs an der Version liegt, oder sich hier ein Fehler eingeschlichen hat ist noch zu klären? Grüße Greg Link to comment Share on other sites More sharing options...
Alex@4tfm Posted June 30, 2013 Report Share Posted June 30, 2013 Die Geschwindigkeit der nested set- Baumgenerierung aus der Datenbank bei sehr komplexen Datenstrukturen ist der Engpass und nicht die Erstelltung von Menüs. ( Es ist mir bekannt, daß mit array-Kenntnissen der nested set-Baum in Veyton an beliebiger Stelle - je nach Kategorie-Level - abgriffen und in CSS/HTML-Menüs umgesetzen werden kann. ) Anregung: Eine Beschleunigung der Geschwindigkeit könnte durch etliche Hilfskonstruktionen erfolgen, z.B. indem der gesamte nested set-Arraybaum bei Veyton für eine gewisse Zeit im Caching liegt und aus dem Cache gelesen wird. Also ehrlich gesagt sollte es bei einem normalen "business webspace" und einem normal strukturierten Shop (< 200 Kategorien ( 3-4 Level tiefe) ) keinerlei Probleme geben. Link to comment Share on other sites More sharing options...
giller Posted June 30, 2013 Report Share Posted June 30, 2013 $tpl_data = array('_categories1'=> $category->getCategoryBox(17), '_categories2'=> $category->getCategoryBox(16), '_categories3'=> $category->getCategoryBox(22), '_categories4'=> $category->getCategoryBox(121), '_categories5'=> $category->getCategoryBox(19), ); ;) schnell flyout so bei mir Link to comment Share on other sites More sharing options...
mgoeben Posted July 1, 2013 Report Share Posted July 1, 2013 @flavor;455023 Bei mir wird das Template nicht zerschossen. Ich verwende noch die 4.0.xx aber an der Version sollte es nicht liegen. @Alex@4tfm Funktioniert schnell und ohne Probleme, sogar wenn es in einem Template mehrfach eingebunden ist. Link to comment Share on other sites More sharing options...
flavor Posted July 1, 2013 Report Share Posted July 1, 2013 Es lag tatsächlich nur an einem fehlenden "}" in deinem Lösungsvorschlag, am Ende von {box name=categories_tree treeid=$_categories[i].categories_id class=$class recursive=$recursive+1}[/PHP] aber, da du gerade da bist. Bei mir werden alle Kategorien + Unterkategorien ausgeklappt angezeigt, ohne einen flyout Effekt. Irgendeine Idee woran es liegen könnte? Danke mgoeben Link to comment Share on other sites More sharing options...
mgoeben Posted July 1, 2013 Report Share Posted July 1, 2013 Hi! Also um das flyout musst du dich schon selbst kümmern, nur ohne dieses Template hättest du nichtmal die Subkategorien. Das Template gibt die Kategorien nur in verschachtelten (UL) Listen aus, die man normalerweise dann per CSS zu einem Flyout Menü erweitern kann. Gruß Marco Link to comment Share on other sites More sharing options...
flavor Posted July 2, 2013 Report Share Posted July 2, 2013 Hallo Marco, ja, der Zusammenhang ist mir nun aufgegangen. Allerdings klappen die submenus nicht auf. mit einer html typischen Verschachtlung alla <div id='flyout-vertical'> <ul> <li><a href='index.html'><span>Kategorien</span></a></li> <li class='has-sub'><a href='#'><span>Products</span></a> <ul> <li class='has-sub'><a href='#'><span>Product 1</span></a> <ul> <li><a href='#'><span>Sub Item</span></a></li> <li class='last'><a href='#'><span>Sub Item</span></a></li> </ul> </li> <li class='has-sub'><a href='#'><span>Product 2</span></a> <ul> <li class='last'><a href='#'><span>Sub Item</span></a></li> </ul> </li>[/PHP] funktioniert das ohne Probleme, aber offenbar weiß ich nicht genau wie ich das css Gefüge mit deiner Version im Einklang bringe. Aktuell [PHP]<div id="flyout-vertical" class=""> {if $_categories|count > 0 } <ul id="" {if $class != null }class="{$class}{$recursive}"{/if}> <li class='active'><a href="index.php"><img src="{$tpl_url_path}img/btn-home.png" width="19" height="19" alt="btn-home" /></a></li> {section name=i loop=$_categories} <li><a class="{if $_categories[i].active} active{/if}" href="{$_categories[i].categories_link}">{$_categories[i].categories_name}</a> {box name=categories_tree treeid=$_categories[i].categories_id class=$class recursive=$recursive+1} </li> {/section} </ul> {/if} </div><!-- #flyout-vertical -->[/PHP] Gerade ist was aufgeblitzt - Ich vermute mal den Fehler in meiner css. müsste wohl diese class abrufen können <a class="{if $_categories[i].active} active{/if}"... wenn ich das richtig verstehe !? Vielleicht ist das ja schnell erklärt. Oder du postest mal freundlicherweise deine Version, falls das keine Umstände bereitet!? Ich bedanke mich für die hilfreiche Unterstützung! Grüße Greg Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.