Externe Navigation einbauen?

Du hast ein Problem gefunden und weißt nicht genau wo es hinpasst...
Antworten
Big Cheese
Beiträge: 76
Registriert: Sa 31. Jul 2010, 09:02

Externe Navigation einbauen?

Beitrag von Big Cheese »

Hallo zusammen

Vielleicht kann mir hier jemand einen Tipp geben? Wenn ich die vorhandene Top Navigation, welche aus einer html und einer css Datei besteht ersetzen möchte - wie baue ich diese dann am saubersten ein? Klar, ich könnte den gesamten html Quellcode in die index.html verfrachten, doch das wäre wohl ein Verbrechen gegen die Ordnung. Wie kann ich die Datei aus der index.html aufrufen?
Doc Olson
Beiträge: 536
Registriert: Mo 10. Mai 2010, 08:54

Re: Externe Navigation einbauen?

Beitrag von Doc Olson »

Das ist ein viel zu allgemeine Frage. "Wie baue ich eine Klimaanlage in mein Auto ein?" wäre ungefähr genauso spezifisch.

Ich gehe mal vom webs Shop und vom webs Template aus. Das HTML-Gerüst wird in der /source/class/categories.php zusammengesetzt. Das Ergebnis ist ein Gerüst aus verschachtelten ungeordneten Listen. Diese werden per CSS gestyled. DA würde ICH ansetzen.
Big Cheese
Beiträge: 76
Registriert: Sa 31. Jul 2010, 09:02

Re: Externe Navigation einbauen?

Beitrag von Big Cheese »

Natürlich betrifft meine Frage den Webs Shop und das webs Template, was denn sonst ;)
Nun ich meinte eigentlich folgendes: Wenn ich z.B. ein externes Script wie z.B. eine alternative top Navigation als Ersatz für die Alte in die index.html einbinden wollte, dann könnte ich bestimmt so ähnlich vorgehen. Entweder ich kopiere den code direkt in die index.html, oder ich lege das script irgendwo ab (z.B. in der /source/boxes) und verweise mittels smarty Aufruf auf das script. Dies war eigentlich meine Frage. Nun ich habe mir mal folgendes überlegt. Könnte ich nicht wie folgt vorgehen?


In der "webs/boxes" lege ich z.B. die Datei top_categories.html mit folgendem Inhalt an:

Code: Alles auswählen

{config_load file="$language/lang_$language.conf" section="boxes"}
<span class="clearfix"></span>{snippet file=TopCategories.html}
In der "webs/snippets" die Datei "TopCategories.html"

Code: Alles auswählen

{if $BOX_CONTENT}
<div class="Box" id="TopCategories">
{if $BOX_CONTENT}
{$BOX_CONTENT}
{/if}
</div>
{/if}
Dann müsste wahrscheinlich noch ein Verweis in die sources/boxes.php

Code: Alles auswählen

require_once(DIR_WS_BOXES . 'top_categories.html');
(das script lege ich natürlich entsprechend unter source/boxes ab)

Und dann sollte ich doch die entsprechende Datei in der Index.html über {$box_TAB_NAVIGATION} aufrufen können. Oder?

Es handelt sich übrigens um folgendes Script: http://net.tutsplus.com/tutorials/html- ... down-menu/
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Externe Navigation einbauen?

Beitrag von Xantiva »

Wie funktioniert die Navigation?

1. .../sources/boxes.php
Hier wird die entsprechende php - Datei inkludiert. Im Webs entweder die "classic" oder die "top" + "normale", u.a. an dieser Stelle:

Code: Alles auswählen

	if ( CATEGORIES_CLASSIC ) {
		require_once(DIR_WS_BOXES . 'categories_classic.php');
	} else {
		require_once(DIR_WS_BOXES . 'categories.php');
	}
2. .../sources/boxes/categories_classic.php (die einfachere Variante)
Die ist recht übersichtlich. Es wird ein "box" Objekt erstellt und geprüft, ob die Ausgabe bereits gecacht vorliegt. Falls nicht, wie die categories Klasse eingebunden.

3. .../sources/class/categories.php
Hier passieren alle Datenbankabfragen und die Erstellung des Kategoriebaums als PHP Array. Diese Klasse liefert auch eine Methode für die Ausgabe als HTML Liste: getOutputHTML()

4. wieder zurück in .../sources/boxes/categories_classic.php
Der Smarty Variablen $CATEGORIES wird die Ausgabe (als HTML Liste) zugewiesen. Zum Schluss wird dann mit der Templatedatei categories.html die Box erstellt und gecacht.

Code: Alles auswählen

	$box->assign('CATEGORIES', $ct->getOutputHTML());
	...
}

$smarty->assign('box_CATEGORIES', $box->fetch('categories.html', $cache_id));
5. index.html
In der index.html wir die $box_CATEGORIES dann verwendet:

Code: Alles auswählen

{$box_CATEGORIES}

Wenn Du also eine alternative Navigation implementieren möchtest, musst Du erstens prüfen, ob die HTML Ausgabe des Kategoriebaum so ist, wie benötigt. Andern falls musst Du Änderungen an der Klasse categories.php (function getOutputHTML) vornehmen. (Was sehr wahrscheinlich ist.) Die categories.html gibt Dir dann eigentlich nun noch den "Rahmen".
Big Cheese hat geschrieben:Dann müsste wahrscheinlich noch ein Verweis in die sources/boxes.php

Code: Alles auswählen

require_once(DIR_WS_BOXES . 'top_categories.html');
(das script lege ich natürlich entsprechend unter source/boxes ab)

Und dann sollte ich doch die entsprechende Datei in der Index.html über {$box_TAB_NAVIGATION} aufrufen können. Oder?
Spätestens hier bekommst Du Probleme, denn in der boxes.php wird die "PHP" - Datei aufgerufen, die für die Erzeugung des Kategoriebaum zuständig ist. Keine Template-Datei (.html).
Mein Shop: http://www.basteln-selbermachen.de
Big Cheese
Beiträge: 76
Registriert: Sa 31. Jul 2010, 09:02

Re: Externe Navigation einbauen?

Beitrag von Big Cheese »

Hallo Xantiva

Herzlichen Dank für die ausführliche Erklärung. Uff, ich glaube das habe ich mir doch etwas einfacher vorgestellt. Meine Kenntnisse bei Code Umbauten liegen dann doch eher bei 1% als mehr. Die Navi besteht aus 3 Dateien (einer index.html, csshover3.htc und einer menu.css). Unter folgendem Link wird im Detail erklärt wie sich das Menu zusammensetzt (http://net.tutsplus.com/tutorials/html- ... down-menu/). Vielleicht kannst Du den Link kurz aufrufen und mir sagen, ob es aus deiner Sicht eher eine kompliziertere als einfachere Umbaute werden würde. Das Menü wäre halt absolut zeitgemäss und es liessen sich sehr viele Unterkategorien übersichtlich darstellen (was bei meinen vielen Kategorien ein Segen wäre).
Doc Olson
Beiträge: 536
Registriert: Mo 10. Mai 2010, 08:54

Re: Externe Navigation einbauen?

Beitrag von Doc Olson »

Big Cheese hat geschrieben:Meine Kenntnisse bei Code Umbauten liegen dann doch eher bei 1% als mehr.
Dann beauftrage jemanden, der sich damit auskennt.
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Externe Navigation einbauen?

Beitrag von Xantiva »

Big Cheese hat geschrieben:... eher eine kompliziertere als einfachere Umbaute werden würde. ...
Eher kompliziert. Das Grundprinzip ist ähnlich wie das CSS - Framework was wir für das Webs Template verwendet haben ...

Machbar ist mit einer individuellen Programmierung fast alles - es kostet nur Zeit (und damit Geld).

Ciao,
Mike
Mein Shop: http://www.basteln-selbermachen.de
Big Cheese
Beiträge: 76
Registriert: Sa 31. Jul 2010, 09:02

Re: Externe Navigation einbauen?

Beitrag von Big Cheese »

Machbar ist mit einer individuellen Programmierung fast alles - es kostet nur Zeit (und damit Geld).
Aus diesem Grund habe ich vor ca. 1 Woche hier mal gefragt ob jemand von Euch Interesse hätte eine solche Navi gegen Geld umzusetzen. Erhalten habe ich von Doc Olson folgende Antwort:
Nix für ungut. Ich habe in letzter Zeit mehrere Anfragen von Euch mit einem konkreten Angebot beantwortet. Hab mir Euer Problem angeschaut, mir Lösungen überlegt und wie gewünscht ein Preisschild dran gehängt. Auch habe ich die Schnittstelle für die JTL-Wawi fertig gestellt. Wollten ja einige haben.
Sorry, was soll ich damit anfangen? Ich bin eher selten hier präsent und habe echt keine Ahnung von was er da spricht. Ist ja möglich, dass er mit einigen hier ein Problem hatte, doch ich finde es irgendwie etwas eigenartig, wenn man dann als "Uneingeweihter" direkt eine solche Absage vor den Kopf geknallt bekommt. Ich habe deshalb nicht nochmals gefragt und angenommen, dass ihr somit auch gegen Geld keine Aufträge mehr annehmt. Falls ich mich in diesem Punkt irre, würde ich mich freuen ein Angebot zu erhalten.
Doc Olson
Beiträge: 536
Registriert: Mo 10. Mai 2010, 08:54

Re: Externe Navigation einbauen?

Beitrag von Doc Olson »

Ich hatte da für mich selbst gesprochen.
Xantiva
Beiträge: 948
Registriert: Mo 10. Mai 2010, 16:26
Shop Version: 1.0.10 [dev]
Kontaktdaten:

Re: Externe Navigation einbauen?

Beitrag von Xantiva »

Ich habe Dir eine PN geschrieben, da vor einem Angebot noch diverse Fragen zu klären wären.

Und ja, wir sind hier derzeit über einige User etwas irritiert. Erst große Anfragen, dann noch nicht mal ein: "Nein, danke."
Mein Shop: http://www.basteln-selbermachen.de
Antworten