PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xt eCommerce Templates Module SEO Support: GPL Shop: Zusaetzliche Menü Einbindung


Kopernikus
24.03.2006, 08:29
Hallo zusammen

Die einen kennen mich bereits von diesem Thread hier:

http://www.ecombase.de/forum/index.php?showtopic=337

Folgendes Problem habe ich. Ich möchte wie Mhystbuster ein zusätzliches Navigationsmenü unterhalb der bestehenden Kategorie einbauen. Dazu möchte ich jedoch ein reines php Menü verwenden, welches ich bereits als fertiges Script im Netz gefunden habe. Dieses besteht aus einer php Datei (menu.php), einer systemdatei (menu.txt) sowie einer css Stylesheet. Mein Problem ist nun, dass ich nicht weiss wie ich dieses Script unterhalb der bestehenden Kategorie einbauen kann. Beim oben erwähnten Thread hatte der User Mhystbuster sein Script an eine Klasse übergeben. Dies würde ich auch sehr gerne machen, da ich dann das Script in der templates/mein Template/boxes/box_categories.html nach belieben platzieren könnte. Nur habe ich keine Ahnung von Smartys (die mit Schokolade schon) und wie man eine solche Klasse eröffnet.
Alternativ gäbe ich mich natürlich auch mit einer einfachen Einbindung zufrieden.

Wer könnte mir hierbei weiterhelfen?

Hier noch das Script:

menu.php

<?php

/
This Menu system is very simple yet very effective.**It only requires two files:
menu.php (this one) which gets included on your webpage
menu.txt which contains the menu information

In this file you can set how the menu appears.**The menu is laid out in a simple table
with one cell per row.**The $opentag is the opening code for the table.**Change this to
whatever you wish or leave it as is if you don't know what you are doing.**Similarly the
$closetag closes the table.

$Level_1 contains the code needed to display the first level (menu items marked with a +)
$Level_2 contains the code needed to display the second level (menu items marked with a ++)
$Level_3 contains the code needed to display the third level (menu items marked with a +++)

use $Link to refer to where the menu item should link to
use $Text to refer to the text for the menu item
/

//-----------------------------------------------------------------------
//User Configurable Section
//-----------------------------------------------------------------------

$Level_1 = '<td bgcolor="#000080">$Text ($Link)</td>';
$Level_2 = '<td bgcolor="#aaaa80">$Text ($Link)</td>';
$Level_3 = '<td bgcolor="#ffff80">$Text ($Link)</td>';
$opentag = '<table width="100%">';
$closetag = '</table>';

//----------------------------------------------------------------------
//Do not change anything below this line
//----------------------------------------------------------------------

//$buffer[$i][0] = Menu Text
//$buffer[$i][1] = URL
****
if ****($_SERVER["SCRIPT_URI"] != ""){
****$absURL = $_SERVER["SCRIPT_URI"];//get the URL of the page - used to expand menu
}
else {
****$absURL = $_SERVER["SCRIPT_NAME"];//get the URL of the page - used to expand menu
}
//add slashes around the " characters to ensure the eval works and to print correctly in browser
$Level_1 = addslashes($Level_1);
$Level_2 = addslashes($Level_2);
$Level_3 = addslashes($Level_3);

$buffer = array(); //initialise
$expandnode1=-1;** //initialise (set to unused number)
$expandnode2=-1;** //initialise (set to unused number)
$i=1;
$handle = fopen('menu.txt', "r");****//open menu file
while (!feof($handle)) {
****$buffer[$i] = preg_split("/\t+/", trim(fgets($handle)));****//split on tabs
****if (strpos($absURL, $buffer[$i][1]) || $buffer[$i][1] == $absURL){****//mark the point where the menu needs to expand around
********$expandpoint=$i;
****}
****$i++;
}
fclose($handle);

$this_level=substr_count($buffer[$expandpoint][0],"+"); //count the number of "+" in the menu item to determine its level

//this next section determines the exact points that the menu needs to expand on based on the different scenaros
if ($this_level==1){
****if (substr_count($buffer[$expandpoint+1][0],"+")==2){
********$expandnode1=$expandpoint;//where to open into level 2
****}
}

if ($this_level==2){
****for ($i=$expandpoint; $i>0; $i--){
********if (substr_count($buffer[$i][0],"+")==1){
************$expandnode1=$i;//where to open into level 2
************break;
********}
****}
****
****if (substr_count($buffer[$expandpoint+1][0],"+")==3){
********$expandnode2=$expandpoint;//where to open into level 3
****}
}

if ($this_level==3){
****for ($i=$expandpoint; $i>0; $i--){
********if (substr_count($buffer[$i][0],"+")==1){
************$expandnode1=$i;//where to open into level 2
************break;
********}
****}

****for ($i=$expandpoint; $i>0; $i--){
********if (substr_count($buffer[$i][0],"+")==2){
************$expandnode2=$i;//where to open into level 2
************break;
********}
****}****
}
echo "$opentag\n";
for ($i=0; $i<=count($buffer); $i++){
****$previous_level=substr_count($buffer[$i-1][0],"+");
****$this_level=substr_count($buffer[$i][0],"+"); //counts the number of plusses in the string (note need to limit this to leading plusses)
****$Text=str_replace("+", "", $buffer[$i][0]);//Text to be displayed on menu item minus all the plusses
****$Link=$buffer[$i][1];//Link to be added to the used on the menu item

//work out when to switch on and off the menu expansion****
****if ($i==$expandnode1){
********$expandnode1_on=TRUE;
****}
****if ($i==$expandnode2){
********$expandnode2_on=TRUE;
****}

****if ($this_level<$previous_level){
********if ($expandnode1_on==TRUE){
************$expandnode1_on=FALSE;
********}
********if ($expandnode2_on==TRUE){
************$expandnode2_on=FALSE;
********}
****}
//print out the menu items
****if ($this_level==1){
********eval("\$Level_1b = \"$Level_1\";");
********echo "<tr>$Level_1b</tr>\n";
********}
****if ($this_level==2 && $expandnode1_on==TRUE){
********eval("\$Level_2b = \"$Level_2\";");
********echo "<tr>$Level_2b</tr>\n";
********}
****if ($this_level==3 && $expandnode2_on==TRUE){
********eval("\$Level_3b = \"$Level_3\";");
********echo "<tr>$Level_3b</tr>\n";
********}
}
echo "$closetag\n";

?>


menu.txt (config Datei)

+Home********index.php
+Library****library.php
++Documents****lib/documents.php
++Books****lib/books.php
**+++Hard Cover****lib/hardcover.php
+Map********map.php
+Search********http://www.google.com

sowie einer css


Gruss
Kopernikus

bluemoon
24.03.2006, 08:41
was möchtest Du eigentlich mit Deinem Menü erreichen bzw. was anzeigen lassen ?

Kopernikus
24.03.2006, 09:04
Ich habe etwa das selbe Problem wie der User Mhystbuster. Ich möchte zusätzlich zu den Produkten meinen Kunden allerlei Leitfäden und Informationen zur Verfügung stellen. Dies sind ca. um die 60 PDF Anleitungen und Beschreibungen. Auch ich verkaufe Produkte für Landwirtschaftliche Zwecke. Um diese im Shop anbieten zu können, benötige ich ein Menü mit Hierarchischer Ebene. Leider wird ein solches Menü im aktuellen xtc Shop noch nicht angeboten. Einzige Lösung, ein zusätzliches Menü.

Gruss
Kopernikus

bluemoon
24.03.2006, 09:27
ich habe von der Smarty noch nicht die Riesenahnung aber ich denke, Du musst in deinem Script die Smarty Befehle einbauen, um dann in einer Box von XT anzeigen zu lassen.

Jetzt stellt sich die Frage, ob man das Rad neu erfinden soll, oder ob man nicht Mythbuster fragt, ob er sein Mod zur Verfügung stellt.

Kopernikus
24.03.2006, 09:36
''>ZITAT</div>ich habe von der Smarty noch nicht die Riesenahnung aber ich denke, Du musst in deinem Script die Smarty Befehle einbauen, um dann in einer Box von XT anzeigen zu lassen.[/b]

und genau dass ist mein Problem. Ich habe keine Ahnung von Smarty oder php. Kann mir jemand sagen was ich wo genau einbauen muss?

bluemoon
24.03.2006, 09:51
schau mal hier : http://smarty.php.net/ (http://anonym.to/?http://smarty.php.net/)

hat mir auch schon viel geholfen ;
vor allem die Crash Course zeigt einem, was Smarty überhaupt bewirkt

datenkasper
24.03.2006, 13:09
...

hendrik
24.03.2006, 13:22
@Datenkaspar
Das ist 'mit'n Panzer quer durchs Blumenbeet' :-) Wenn man soetwas in einem Projekt mehr als einmal macht besteht nahezu 100%ige Gefahr, daß man das irgendwann bitter bereut (Chaos, keiner blickt mehr durch, project closed).

Wie man sowas halbewgs sauber implementiert habe ich gestern recht ausfühlich erläutert. Allerdings hat der nette Forumsadmin den Beitrag vergessen mit zu überführen in den Thread. ;-)

Gruss
Hen

bluemoon
24.03.2006, 14:24
''>ZITAT(datenkasper @ Mar 24 2006, 13:09) 2311
Sollte doch mit folgendem funktionieren:

öffne =>deinTemplate/boxes/box_categories.html

und füge an gewünschter Stelle folgendes ein, natürlich erst ersetzen mit Deinen Angaben.

{php}include('PFAD/ZU/DEINER/MENUE.php');{/php}

menue.php, menue.txt und die css - Dateien in ein eigenes Verzeichnis packen, dann aber beim "includen" nicht vergessen den Pfad anzupassen.

Mal so aus dem stegreif, ohne Gewähr ;-)

... man kann auch in html - Dateien PHP-Code ausführen, oder so ...

ciao, der datenkasper
[/b]
aaaaaaaaaaahhhhhhhhhhhhhhhhhhhh

:blink: :blink:

Edit : das war der erste Gedanke

dann wühle Dich lieber durch Smarty ....

datenkasper
24.03.2006, 15:00
...

bluemoon
24.03.2006, 15:59
der Ansatz mit include ist nicht falsch ;

nur in XT mit Smarty geht das schief

datenkasper
24.03.2006, 17:48
...

bluemoon
24.03.2006, 17:57
''>ZITAT(datenkasper @ Mar 24 2006, 17:48) 2325
... habe selbst externe dateien in meinem shop so eingebunden, ohne Probs
[/b]

sicher, es funktioniert schon , aber es gibt ein ABER -
es könnte schief gehen

Kopernikus
24.03.2006, 22:03
@Hendrik


''>ZITAT</div>Wie man sowas halbewgs sauber implementiert habe ich gestern recht ausfühlich erläutert. Allerdings hat der nette Forumsadmin den Beitrag vergessen mit zu überführen in den Thread. ;-)[/b]

Gibt's eine chance, dass du mir dies nochmals erläuterst? Respektive wo genau befindet sich dieser Beitrag nun? Beim Admin??? :huh:

Ich stehe momentan nämlich wie der Esel am Berg. Möchte das ganze schon gerne sauber implementieren. Und nicht nur dass, ich will es ja in Zukunft auch rnichtig machen. Habe mir nämlich so ein sehr dickes "jetzt lerne ich PHP, MySQL" gekauft und übe nun jeden Tag. Das mit den Smarty's habe ich trotz probieren bis jetzt einfach noch nicht heraus gefunden.

Übrigens danke euch allen für die grosse Hilfsbereitschaft:D Super Forum hier - Hut ab!

Gruss
Kopernikus

TechWay
24.03.2006, 22:23
hi,

schaut euch mal dieses Menü an! es ist speziell für die Smarty Engine:
http://www.phpinsider.com/php/code/SmartyMenu/ (http://anonym.to/?http://www.phpinsider.com/php/code/SmartyMenu/)

Gruß
TechWay

Kopernikus
24.03.2006, 22:33
Danke für den Tipp - leider funktioniert dieses wieder mit javascript. Hat ein Besucher javascript deaktiviert läuft nichts mehr. Das Menü von Mhystbuster finde ich genial, doch hat der Besucher javascript ausgeschaltet läuft nichts mehr. Das von mir publizierte Menü ist ein reines php Menü. Der Aufbau ist relativ einfach und ich denke wenn ich dieses erst mal eingebaut habe, dann wäre es perfekt.

Gruss
Kopernikus

hendrik
24.03.2006, 22:52
@kopernikus

Smarty ist enorm leistungsfähig aber längst nicht so schwierig in der Anwendung wenn du das Anwendungsprinzip verstanden hast. Von den vielen Befehlen brauchst du praktisch kaum mehr als ein Dutzend. Ich lernte es indem ich mir den Crashkurs reinzog.

http://smarty.php.net/ (http://anonym.to/?http://smarty.php.net/)
http://smarty.php.net/crashcourse.php (http://anonym.to/?http://smarty.php.net/crashcourse.php)
http://smarty.php.net/manual/de/ (http://anonym.to/?http://smarty.php.net/manual/de/)

Wäre ich du würde ich mir zum üben ne einzelne Testseite machen, noch ohne xtc. Diese Seite mittels Smarty splitten in Template und Logik (php) und anschließend versuchen dein Menü zu integrieren. Wenn du damit klar kommst kannst du dich an xtc heran machen.

Tipps wo du patchen musst kannst du dir ja hier holen. ;-) Ach ja. Mein erwähnter Beitrag steht hier:
http://www.ecombase.de/forum/index.php?s=&...findpost&p=2289 (http://www.ecombase.de/forum/index.php?s=&showtopic=337&view=findpost&p=2289)

Gruss
Hen

Mythbuster
24.03.2006, 23:53
Hallo zusammen

Ich möchte mich auch nochmals zu diesem Thema melden.

Ich kann Kopernikus absolut verstehen, dass er ein normales php Menü einbauen möchte. Ich habe mich ja für ein anderes Menü entschieden, musste jedoch kurz nach Inbetriebnahme feststellen, dass mich Kunden fragten, wieso wir keine Infos mehr anbieten.

Tatsächlich gibt es viele User die javascript am Geschäftscomputer oder zuhause deaktiviert haben und deshalb unser javascript Menü nicht sehen.

Das Menü ist in der zwischenzeit wieder ausgebaut und ich überlege mir nun ebenfalls ein normales php Menü einzubauen.
Allerdings weiss auch ich nicht, wie man die ganze Smarty Geschnichte in das von Kopernikus beschriebene Menü einbauen kann.
Und ehrlich gesagt, habe ich nebst meinen sonstigen Shoparbeiten auch kaum Zeit mich in die Materie einzuarbeiten.

@Kopernikus
welche Landwirtschaftlichen Produkte bietest du an?
Interessant, denn wir führen auch einen Shop mit biologischen Bodenverbesserungsmittel für die Landwirtschaft und Hobbygärtner.
Das Produkt welches wir anbieten nennt sich "effektive Mikroorganismen" und stammt aus Japan.
Übrigens für alle die einen Garten beistzen ein heisser Tipp B) Bis jetzt betrieben wir nebst unserem Shop eine extra Info Homepage, auf welcher wir unsere Informationen anbieten.

Nun soll alles in den Shop unter das zusätzliche Menü kommen.
Da das javascript Menü nicht die optimale Lösung ist, wäre ein php Menü schon schön.
Also melde ich auch mein Interesse an diesem Menü an.

Es wäre schön, wenn uns ein Experte sagen könnte wo was hinkommt.
Falls jemand ein kostenpflnichtiges Menü anzubieten hat, bin ich auch bereit etwas springen zu lassen.

@Kopernikus melde Dich falls du eine Lösung gefunden hast.

Im Weiteren wurde ich noch per PN angefragt, ob ich mein Menü der Allgemeinheit zur Verfügung stelle. Selbstverständlich mache ich das - keine Frage.
Es handelt sich um ein normales Script welches ich irgendwo im Internet fand.
Dank diesem Forum wurde es xtc kompatibel. :)
Ich stelle es morgen hier rein.

Gruss
Mythbuster

Kopernikus
25.03.2006, 08:37
Hallo Mythbuster

Ich biete vor allem biologische Dünge und Silagemittel an. Mein Shop ist jedoch noch nicht online. Dein Shop sieht sehr interessant aus. Ich kenne effektive Mikroorganismen und kann den Erfolg nur bestätigen. Weiterhin viel Erfolg!

Betreffend Lösung, kann dir möglicherweise Harryboo weiterhelfen. Frag ihn mal per pn an.
Falls ich eine Lösung finde, werde ich diese selbstverständlich hier publizieren.

Gruss
Kopernikus


''>ZITAT(Mythbuster @ Mar 24 2006, 23:53) 2341
Hallo zusammen

Ich möchte mich auch nochmals zu diesem Thema melden.

Ich kann Kopernikus absolut verstehen, dass er ein normales php Menü einbauen möchte. Ich habe mich ja für ein anderes Menü entschieden, musste jedoch kurz nach Inbetriebnahme feststellen, dass mich Kunden fragten, wieso wir keine Infos mehr anbieten.

Tatsächlich gibt es viele User die javascript am Geschäftscomputer oder zuhause deaktiviert haben und deshalb unser javascript Menü nicht sehen.

Das Menü ist in der zwischenzeit wieder ausgebaut und ich überlege mir nun ebenfalls ein normales php Menü einzubauen.
Allerdings weiss auch ich nicht, wie man die ganze Smarty Geschnichte in das von Kopernikus beschriebene Menü einbauen kann.
Und ehrlich gesagt, habe ich nebst meinen sonstigen Shoparbeiten auch kaum Zeit mich in die Materie einzuarbeiten.

@Kopernikus
welche Landwirtschaftlichen Produkte bietest du an?
Interessant, denn wir führen auch einen Shop mit biologischen Bodenverbesserungsmittel für die Landwirtschaft und Hobbygärtner.
Das Produkt welches wir anbieten nennt sich "effektive Mikroorganismen" und stammt aus Japan.
Übrigens für alle die einen Garten beistzen ein heisser Tipp B) Bis jetzt betrieben wir nebst unserem Shop eine extra Info Homepage, auf welcher wir unsere Informationen anbieten.

Nun soll alles in den Shop unter das zusätzliche Menü kommen.
Da das javascript Menü nicht die optimale Lösung ist, wäre ein php Menü schon schön.
Also melde ich auch mein Interesse an diesem Menü an.

Es wäre schön, wenn uns ein Experte sagen könnte wo was hinkommt.
Falls jemand ein kostenpflnichtiges Menü anzubieten hat, bin ich auch bereit etwas springen zu lassen.

@Kopernikus melde Dich falls du eine Lösung gefunden hast.

Im Weiteren wurde ich noch per PN angefragt, ob ich mein Menü der Allgemeinheit zur Verfügung stelle. Selbstverständlich mache ich das - keine Frage.
Es handelt sich um ein normales Script welches ich irgendwo im Internet fand.
Dank diesem Forum wurde es xtc kompatibel. :)
Ich stelle es morgen hier rein.

Gruss
Mythbuster
[/b]

Brownbear
27.03.2006, 09:11
Hallo zusammen

Wie siehts aus? Hat schon jemand eine Lösung für das reine php Menü gefunden? Ich wollte ein solches bereits vor 3 Monaten einbauen und habe mich auch intensiv mit den Smarty's befasst. Musste dann jedoch infolge meiner Wissenslücken das ganze Vorhaben streichen. Hat denn niemand der programmieren kann eine Lösung? :rolleyes:


Gruss
Brownbear

Mythbuster
27.03.2006, 11:41
Hallo Brownbear

Nun ich habe auch noch nicht aufgegeben. Da das javascript Menü einfach nicht die optimale Lösung sein kann, habe ich nochmals ein bisschen in diversen Script Archiven gestöbert. Dabei viel mir das Script im Anhang ins Auge. Dieses beinhaltet zwar auch javascript, bleibt jedoch vollständig funktionstüchtig, falls ein User javascript nicht aktiviert hat. Es wäre also optimal!

Ich habe mir das Script mal angesehen und dabei festgestellt, dass der Output an eine html Datei gesendet wird. Wie gesagt ich kann nicht programmieren, aber ich gab mal die Hoffnung nicht auf, dieses irgendwie mit xtc zu verknüpfen. Obwohl ich den halben Sonntag ununterbrochen pöbelte, schaffte ich es nicht, dass Menü anzuzeigen.

Möglicherweise kann sich mal jemand das Script anschauen und mir bzw. uns einen Tipp geben?

Gruss
Mythbuster

TechWay
27.03.2006, 12:04
''>ZITAT(Mythbuster @ Mar 27 2006, 11:41) 2472
Dieses beinhaltet zwar auch javascript, bleibt jedoch vollständig funktionstüchtig, falls ein User javascript nicht aktiviert hat. Es wäre also optimal!
[/b]
Hallo Mythbuster,

da ist doch ein Beispiel dabei, lade es einfach bei dir in ein ordner hoch und öffne die example1.php...
wenn ich allerdings JavaScript deaktiviere, öffnet sich zwar das Menü (was schon gut ist), aber alle Menüs sind schon aufgeklappt und dass kann manchmal eine ziemlich lange liste werden (wie z.b. bei mir... :-D)

[EDIT]
ich habe gerade noch das eine SmartyMenu getestet und es funktioniert einwandfrei, auch wenn man java und javascript deaktiviert hat ;-) zumindest im Firefox
http://www.phpinsider.com/php/code/SmartyMenu/demo/ (http://anonym.to/?http://www.phpinsider.com/php/code/SmartyMenu/demo/)

Gruß
TechWay

Mythbuster
27.03.2006, 12:50
Hallo TechWay


Herzlichen Dank für deine Bemühungen. Nun, einzeln funktioniert das Menü auch bei mir (example1.php), doch wie müsste ich dieses in meinen Shop einbinden? Ich möchte erreichen, dass das Menü unterhalb meiner bisherigen Kategorie angezeigt wird?


''>ZITAT</div>
ich habe gerade noch das eine SmartyMenu getestet und es funktioniert einwandfrei, auch wenn man java und javascript deaktiviert hat ;-) zumindest im Firefox
http://www.phpinsider.com/php/code/SmartyMenu/demo/ (http://anonym.to/?http://www.phpinsider.com/php/code/SmartyMenu/demo/)
[/b]

A ja? Genial. Kann man das Smarty Menü auch nach belieben über css anpassen?

Gruss
Mythbuster

Mythbuster
27.03.2006, 13:55
''>ZITAT(Mythbuster @ Mar 27 2006, 12:50) 2475
Hallo TechWay
Herzlichen Dank für deine Bemühungen. Nun, einzeln funktioniert das Menü auch bei mir (example1.php), doch wie müsste ich dieses in meinen Shop einbinden? Ich möchte erreichen, dass das Menü unterhalb meiner bisherigen Kategorie angezeigt wird?
A ja? Genial. Kann man das Smarty Menü auch nach belieben über css anpassen?

Gruss
Mythbuster
[/b]

Hallo TechWay

Meine Frage betreffend css erübrigt sich. Was ich nun nicht ganz verstehe - wie binde ich das Menü in meinem Shop ein. Ich habe zwar die Installationsanleitung vor und zurück gelesen, doch das erwartete Lnichtlein ist bei mir noch nicht entzündet.

Könntest du mir dabei nochmals behilflich sein?

Gruss
Mythbuster

TechWay
27.03.2006, 16:06
hi,

ich hab jetzt das Menü kurz angetestet...

die Datei SmartyMenu.class.php kommt hier rein:
/includes/classes/Smarty_2.6.10/

function.menu.php kommt hier rein:
/includes/classes/Smarty_2.6.10/plugins/

in deintemplate/javascript/general.js.php kommt dies rein:

<script type="text/javascript"><![CDATA[//><!--

sfHover = function() {
****var sfEls = document.getElementById("nav").getElementsByTagName("LI");
****for (var i=0; i<sfEls.length; i++) {
********sfEls[i].onmouseover=function() {
************this.className+=" sfhover";
********}
********sfEls[i].onmouseout=function() {
************this.className=this.className.replace( new RegExp(" sfhover\\b"), "");
********}
****}
}
if (document.all) { //MS IE
****if (window.attachEvent)
********window.attachEvent("onload", sfHover);
****else { //IE 5.2 Mac does not support attachEvent
********var old = window.onload;
********window.onload = function() { if (old) old(); sfHover(); }
****}
}
//--><!]]></script>


in includes/application_top.php musst du jetzt noch diese Zeile hinzufügen:
require (DIR_WS_CLASSES.'Smarty_2.6.10/SmartyMenu.class.php');
(am besten nach der Zeile require (DIR_WS_CLASSES.'Smarty_2.6.10/Smarty.class.php'); bei mir ists Zeile 509)

nun musst du ein Menü erstellen: (z.b. in categories.php vor der Zeile mit //set cache ID)

// ################# TEST SmartyMenu ANFANG ######################
// attempt to load the menu from the session
****if(($menu = (SmartyMenu::loadMenu('mymenu'))) === false) {
********// first we create the submenu
********SmartyMenu::initMenu($google_menu);
****
********// create the first submenu item
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Google Groups');
********SmartyMenu::setItemLink($item, 'http://groups.google.com/');
********SmartyMenu::setItemClass($item, 'subnav');
****
********// attach the item to the menu
********SmartyMenu::addMenuItem($google_menu, $item);
****
********// repeat process for each item
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Google News');
********SmartyMenu::setItemLink($item, 'http://news.google.com/');
********SmartyMenu::setItemClass($item, 'subnav');
********SmartyMenu::addMenuItem($google_menu, $item);
****
********//Now we create the top-level menu
********SmartyMenu::initMenu($menu);
****
********// create and add items
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Yahoo');
********SmartyMenu::setItemLink($item, 'http://www.yahoo.com/');
********SmartyMenu::setItemClass($item, 'topnav');
********SmartyMenu::addMenuItem($menu, $item);
****
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Google');
********SmartyMenu::setItemLink($item, 'http://www.google.com/');
********SmartyMenu::setItemClass($item, 'topnav');
********// this one has a submenu
********SmartyMenu::setItemSubmenu($item, $google_menu);
********SmartyMenu::addMenuItem($menu, $item);
****
********// our $menu array is now ready!
********
****** // save the menu into the session
****** SmartyMenu::saveMenu('mymenu', $menu);
****}
****$box_smarty->assign('menu', $menu);
// ################# TEST SmartyMenu ENDE** ######################


und dann im template (box_categories.html) an die gewünschte stelle einfügen:
{menu data=$menu}

das wars :D

ich weiß nur nicht warum es bei mir so komisch ist... im IE fehlt bei mir ein Menüeintrag (hauptmenü) und im Firefox klappt das menü nicht auf :(

irgendwas hab ich wohl noch vergessen :angry:

da hab ichs unter den kategorien reingemacht (funktioniert es bei dir rnichtig?):
http://web6.ipx20117.ipxserver.de/xtcommerce/index.php (http://anonym.to/?http://web6.ipx20117.ipxserver.de/xtcommerce/index.php)

ich tüftel noch ein wenig... B)

Gruß
Steffen

TechWay
27.03.2006, 16:18
ahh jetzt hab ichs, es lag daran dass er das menu aus der Session geladen hat...

also wenn du es testest solltest du das mit loadmenu (in der categories.php) kommentieren... ;)
sonst siehst du deine Änderungen nicht

hier zum ausprobieren... wenn du es dann einsetzen willst, dann kannst du die if-bedingung einfach wieder auskommentieren (und die dazugehörige geschweifte Klammer am Ende ebenfalls :) )


// ################# TEST SmartyMenu ANFANG ######################
// attempt to load the menu from the session
//****if(($menu = (SmartyMenu::loadMenu('mymenu'))) === false) {
********// first we create the submenu
********SmartyMenu::initMenu($google_menu);
****
********// create the first submenu item
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Google Groups');
********SmartyMenu::setItemLink($item, 'http://groups.google.com/');
********SmartyMenu::setItemClass($item, 'subnav');
****
********// attach the item to the menu
********SmartyMenu::addMenuItem($google_menu, $item);
****
********// repeat process for each item
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Google News');
********SmartyMenu::setItemLink($item, 'http://news.google.com/');
********SmartyMenu::setItemClass($item, 'subnav');
********SmartyMenu::addMenuItem($google_menu, $item);
****
********//Now we create the top-level menu
********SmartyMenu::initMenu($menu);
****
********// create and add items
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Yahoo');
********SmartyMenu::setItemLink($item, 'http://www.yahoo.com/');
********SmartyMenu::setItemClass($item, 'topnav');
********SmartyMenu::addMenuItem($menu, $item);
****
********SmartyMenu::initItem($item);
********SmartyMenu::setItemText($item, 'Google');
********SmartyMenu::setItemLink($item, 'http://www.google.com/');
********SmartyMenu::setItemClass($item, 'topnav');
********// this one has a submenu
********SmartyMenu::setItemSubmenu($item, $google_menu);
********SmartyMenu::addMenuItem($menu, $item);
****
********// our $menu array is now ready!
********
****** // save the menu into the session
****** SmartyMenu::saveMenu('mymenu', $menu);
//** }
****$box_smarty->assign('menu', $menu);
// ################# TEST SmartyMenu ENDE** ######################


Kann es mal jemand ohne javascript im IE ausprobieren :) im Firefox gehts einwandfrei B)
[EDIT]
ich musste grad feststellen dass es im IE ohne Javascript nicht geht! komisch, warum gehts im Firefox ohne javascript? :?

Gruß
Steffen

bluemoon
27.03.2006, 17:04
jau, bei mir gehts net im IE

TechWay
27.03.2006, 18:38
''>ZITAT(bluemoon @ Mar 27 2006, 17:04) 2490
jau, bei mir gehts net im IE
[/b]
wie sieht es bei dir im Firefox aus (wenn du den hast) ? oder opera oder was es noch gibt...?

ich glaube es gibt kein Menü was seitlich ausfährt und ohne Javascript ist! :(

Mythbuster
27.03.2006, 19:46
''>ZITAT(TechWay @ Mar 27 2006, 18:38) 2494
wie sieht es bei dir im Firefox aus (wenn du den hast) ? oder opera oder was es noch gibt...?

ich glaube es gibt kein Menü was seitlich ausfährt und ohne Javascript ist! :(
[/b]


Hallo Techway

Wow! Da hast du ja unglaubliche Arbeit geleistet! Ich hätte nie gedacht, dass das derart viel Arbeit gibt. Leider habe ich trotz deiner sehr guten Beschreibung ein Problem. Das Menü ist bei mir bereits expandiert und das javascript scheint nicht zu funktionieren. Ich habe alle javascript Einstellungen aktiviert.

Ich verwende auch den IE. Genügt es das Script lediglich in die general.js zu legen, oder muss dieses noch in der box_categories.html aufgerufen werden?

Nochmals herzlichen Dank für Deine Hilfe
Gruss
Mythbuster

''>ZITAT(Mythbuster @ Mar 27 2006, 19:43) 2498
wie sieht es bei dir im Firefox aus (wenn du den hast) ? oder opera oder was es noch gibt...?

ich glaube es gibt kein Menü was seitlich ausfährt und ohne Javascript ist!
[/b]

Übrigens, ich suche nicht unbedingt ein animiertes Menü. Dasjenige welches als Standartmenü bei xtc dabei ist würde mir vollends reichen. Siehe Kopernikus erster Scriptvorschlag. Leider beinhaltet dieses Menü kein Smarty weshalb ich nicht weiss wie ich dieses einbauen müsste.

Mythbuster
27.03.2006, 20:16
Hmm, ich glaube ich hab den fehler gefunden. Wo wird eigentlich auf die css verwiesen? Gebe ich diese mit {menu_init css="/css/menu.css"} an, bekomm ich ein Fehler. Abgesehen davon, dass es ja keine menu.css gibt. Wie hast du das gelöst?

Gruss
Mythbuster

TechWay
27.03.2006, 21:16
hi,

achso das mit CSS (Cascading Style Sheets ) CSS
http://de.selfhtml.org/css/ (http://anonym.to/?http://de.selfhtml.org/css/) - Top CSS Einsteiger Seite
http://www.css4you.de/ (http://anonym.to/?http://www.css4you.de/) - CSS Reference hab ich vergessen, du nimmst einfach die css (outline_v.css) und kopierst dir den inhalt (außer dem BODY eintrag) in deine stylesheet.css von deinem Template dann sollte es auch funktionieren

Mythbuster
28.03.2006, 07:52
Hallo TechWay

Ich möchte mich bei Dir herzlich bedanken - alles klappt bestens! Ich habe das Menü im IE und Firefox getestet. In beiden funktionierts 100%

Ich weiss Deine Hilfe sehr zu schätzen, nochmals 1000 Dank

Gruss
Mythbuster

TechWay
28.03.2006, 12:22
''>ZITAT(Mythbuster @ Mar 28 2006, 7:52) 2520
Hallo TechWay

Ich möchte mich bei Dir herzlich bedanken - alles klappt bestens! Ich habe das Menü im IE und Firefox getestet. In beiden funktionierts 100%

Ich weiss Deine Hilfe sehr zu schätzen, nochmals 1000 Dank

Gruss
Mythbuster
[/b]

Hi,

gern geschehen :)

funktioniert es bei dir echt ohne Javascript?

wenns so ist, dann bin ich noch am überlegen ob ich meine warengruppen auch nicht mit dem Menü anzeigen lassen soll :D

schick mit mal bitte einen link wo du das Menü benutzt, möchte es mal nochmal genauer unter die lupe nehmen :) (gerne auch per pm, wenn du es nicht öffentlich posten willst)

gruß

Mythbuster
28.03.2006, 13:18
''>ZITAT(TechWay @ Mar 28 2006, 12:22) 2523
Hi,

gern geschehen :)

funktioniert es bei dir echt ohne Javascript?

wenns so ist, dann bin ich noch am überlegen ob ich meine warengruppen auch nicht mit dem Menü anzeigen lassen soll :D

schick mit mal bitte einen link wo du das Menü benutzt, möchte es mal nochmal genauer unter die lupe nehmen :) (gerne auch per pm, wenn du es nicht öffentlich posten willst)

gruß
[/b]

Hallo TechWay

Ich kann momentan nur hier im Geschäft auf Firefox testen. Bei deaktiviertem javascript funktioniert das Menu als wäre javascript aktiviert. Ich werde es heute Abend noch an meinem PC mit deaktiviertem javascript testen. Momentan habe ich das Menu lediglich unter localhost auf meinem usb Stick am laufen. Ich muss zuerst noch die ganzen Menüeinträge bauen, bevor ich es im Shop live schalte.

Falls Du das ganze auch unter den Kategorien einbaust, verräts du dann wie wir es dort auch umsetzen können?

Noch eine Frage. Ich möchte in der zweiten Kategorie Ebene ein kleines gif vor den Text setzen. Wo müsste ich dieses in der css genau einfügen?

Grüsse
Mythbuster

TechWay
28.03.2006, 14:01
Hi,

so in der Art:


#nav li ul { / second-level lists /
****poistion : absolute;
****left: -999em;
****margin-left : 11.05em;
****margin-top : -1.35em;
****list-style-image:url(http://................./templates/xtc4/img/icon_arrow.jpg);
****}


mit relativen Pfad klappts irgendwie net... habs noch nicht rausgefunden :lol:

das bild wird aber irgendwie noch außerhalb angezeigt.... da muss man noch ein bisschen tüffteln B)

[EDIT]
habs jetzt so hingebogen:

#nav, #nav ul { / all lists /
****padding: 0;
****margin: 0;
****list-style: none;
****float : left;
****width : 11em;
****list-style-image:url(./img/icon_arrow.jpg);
}

#nav li { / all list items /
****poistion : relative;
****float : left;
****line-height : 1.25em;
****margin-bottom : -1px;
****width: 11em;
****margin-left:2em;
}

#nav li ul { / second-level lists /
****poistion : absolute;
****left: -999em;
****margin-left : 12em;
****margin-top : -1.35em;
****list-style-image:url(./img/icon_arrow.jpg);
****
}

#nav li ul ul { / third-and-above-level lists /
****left: -999em;
}

#nav li a, span.nolink {
****width: 11em;
****w\idth : 11em; / not a typo, browser hack /
****display : block;
****color : black;
****font-weight : bold;
****text-decoration : none;
****background-color : white;
****border : 1px solid black;
****padding : 0 1.5em;
****margin-left: -1.9em;
}

#nav li a:hover {
****background-color : #0066FF;
****color:white;
}

#nav li:hover ul ul, #nav li:hover ul ul ul, #nav li.sfhover ul ul, #nav li.sfhover ul ul ul {
****left: -999em;
}

#nav li:hover ul, #nav li li:hover ul, #nav li li li:hover ul, #nav li.sfhover ul, #nav li li.sfhover ul, #nav li li li.sfhover ul { / lists nested under hovered list items /
****left: auto;
}

nur im IE siehts beschissen aus :blink: :angry:

Gruß

Mythbuster
28.03.2006, 23:38
Hallo TechWay

Ich habe das ganze nun heute Abend bei mir im IE und Firefox ohne javascript nochmals getestet. Leider expandiert auch bei mir das Menü nicht. Ich denke die Jungs und ev. Mädels bei xtc haben sich beim momentanen Standardmenü welches aus reinem php besteht schon etwas überlegt. Wäre es kompliziert, das Menü so umzuschreiben, dass es bei deaktiviertem javascript auch auf "onmouseklick" reagieren würde? Ich kenn mich da zuwenig aus, daher auch die naive Frage.

Gruss
Mythbuster

TechWay
29.03.2006, 00:04
Hi,

ich glaub so ein ausfahrbares menü kann man nur mit javascript realisieren! oder kennt jemand eins ohne?
ich hatte ja auch eine zeit lang das coolmenu bei mir im shop, dann bin ich wegen Suchmaschinen aufs normale umgestiegen...

ich suche gerade nach einem menü ohne java script:
http://www.howtocreate.co.uk/tutorials/testMenu.html (http://anonym.to/?http://www.howtocreate.co.uk/tutorials/testMenu.html)

''>ZITAT</div>
If you are interested in making it horizontal, try CrazyTB's menu. It does not work in IE (IE's CSS (Cascading Style Sheets ) CSS
http://de.selfhtml.org/css/ (http://anonym.to/?http://de.selfhtml.org/css/) - Top CSS Einsteiger Seite
http://www.css4you.de/ (http://anonym.to/?http://www.css4you.de/) - CSS Reference sucks, so this is nothing new), but it does work very well in the others.
[/b]
:lol:

ich hoffe dass dies in dem neuem IE besser wird :)
hat hier jemand den IE 7 beta drauf? kann das jemand mal ausprobieren ob das menü auf der seite die ich oben gennant hab ohne Javascript geht? dankeee ;)

Mythbuster
29.03.2006, 08:08
Hallo TechWay

Das ist wirklich eine Knacknuss! Die Möglichkeit ein halbanimiertes css Menü einzubauen finde ich eine gute Lösung. Ich bin gespannt was du herausfindest. Ich werde auch nochmal unter hotscripts.com suchen. Falls Du eine Lösung findest, könntest du diese dann hier publizieren?

Besten Dank und beste Grüsse
Mythbuster

Mythbuster
29.03.2006, 08:32
Hallo TechWay

Schau Dir mal das folgende Menü an http://www.seoconsultants.com/css/menus/vertical/ (http://anonym.to/?http://www.seoconsultants.com/css/menus/vertical/)

Dieses soll einzig durch css animiert sein. Möglicherweise eine Lösung?

Gruss
Mythbuster

TechWay
29.03.2006, 12:45
''>ZITAT(Mythbuster @ Mar 29 2006, 8:32) 2611
Hallo TechWay

Schau Dir mal das folgende Menü an http://www.seoconsultants.com/css/menus/vertical/ (http://anonym.to/?http://www.seoconsultants.com/css/menus/vertical/)

Dieses soll einzig durch css animiert sein. Möglicherweise eine Lösung?

Gruss
Mythbuster
[/b]
Hi Mythbuster,

wie gesagt im Firefox und anderen Browsern läuft das CSS (Cascading Style Sheets ) CSS
http://de.selfhtml.org/css/ (http://anonym.to/?http://de.selfhtml.org/css/) - Top CSS Einsteiger Seite
http://www.css4you.de/ (http://anonym.to/?http://www.css4you.de/) - CSS Reference-Menü super! (auch ohne Javascript)

aber wenn du im Internet Explorer Java-Scripting deaktivierst, dann läufts dort nicht mehr!
:angry:

ein Grund mehr, komplett auf Firefox umzusteigen :lol:

Gruß
techway

Mythbuster
03.04.2006, 15:45
Hallo zusammen

Wer kann mir diese Frage beantworten?

Ich habe das oben genannte SmartyMenu mit Hilfe von TechWay bei mir eingebaut. Dieses läuft nun problemlos! :D

Damit ich eine gewisse Themenabgrenzung erhalte, würde ich gerne verschiedene Kategoriefarben verwenden. Wie kann ich über css einem Menüpunkt eine eigene Farbe zuweisen?

Momentan ist es ja nur möglich eine generelle Hintergrundfarbe für alle Kategorien zu definieren.

Für jeden Tipp würde ich mich sehr freuen :rolleyes:

Gruss
Mythbuster

ksversand
04.04.2006, 15:51
wir würden auch gerne dieses menü einbauen, aber welche categories.php muss ich den verwenden, da sind ja soviele möglichkeiten, admin, im templates usw.