Shopsystem ShopPilot
ShopPilot => ShopPilot Enterprise => Thema gestartet von: Andi am Januar 08, 2005, 22:38:41
-
Hallo,
auch wenn ich eventl. nerve.. - ich frage trotzdem:
CATALOG-Identifier
Dieses Teil ist nicht schlecht - ich habe ihn für eine
gewisse Zeit getestet (derzeit noch im "Einsatz").
Theoretisch sehr gut - jedoch habe ich so viele
Untergruppen - das macht mir große Probleme, da die
Sache unübersichtlich wird und der Navigationsbereich
soll ja auch nicht unendlich in die Breite gehen.
Also was müsste man machen ??
>> den Catalog-Baum in der Tiefe beschränken
(also z.B. nur 4 Ebenen aufklappen (obwohl mehr da sind).
Da verschiedene Produktgruppen auch verschiedene
Anforderungen haben, müsste man optimalerweise diese
Ebenen im WC direkt bestimmen können.
Es wäre nett, wenn das SP-Team mal was dazu sagt.
(ob das theor. möglich wäre etc. etc. etc.)
Vielen Dank und viele Grüße
von Andi
Nachtrag: 09.01.
Habe den __catalog_-Identifier zwischenzeitlich entfernt
und verlinke (bis es eine eventuelle Lösung gibt) manuell.
Habe auch mal mit den "Tabs" experimentiert - die sind
jedoch zu wenig anpassbar (da von mir untereinander
angeordnet) - geht auch nicht.
-
Hallo Andi,
ich könnte mir eine Lösung vorstellen:
__catalog2:5__
dies bedeute von Ebene 2 bis 5 darstellen.
__catalog1:3__
nur bis Ebene 3 darstellen.
Wäre das so ok ?
Gruss hop
-
Hallo HOP,
das ist eigentlich eine gute Idee.
Wenn das machbar wäre ... wäre das schon was.
Ich könnte diese Lösung so gebrauchen.
Aber (das musste ja jetzt wieder kommen):
Das wäre ja dann eine "globale" Lösung.
Mein Shop als Beispiel genommen, habe ich z.B.
9 Hauptkategorien - alle haben unterschiedlich viele
Unter + nochmal Unterkategorien etc.
Wie sollte man das Handhaben.
Praktischerweise sollte man im WC einstellen können,
ob diese oder jene Kategorie im __catalog__ erscheint.
Da ich kein Programmierer bin, sage ich das einfach so.
Inwieweit das überhaupt umzusetzten ist, muss HOP sagen.
Die erste Lösung wäre - wie gesagt - schon was.
Momentan (siehe mein Shop) habe ich manuell verlinkt,
auch damit könnte man leben - ist bloß Umständlich,
wenn man mal was ändert...
Was sagen denn die anderen Shopbetreiber so ??
Grüße v. Andi
-
Hallo,
das Problem ist schon jetzt ziemlich elegant lösbar, und zwar mithilfe der Style-Sheets.
Es wird ja für jede Ebene eine Style Definition hinterlegt:
.menu1 (für erste Ebene nicht selektiert)
.msel1 (für erste Ebene selektiert)
Wenn man möchte, dass eine bestimmte Ebene nicht sichtbar ist, kann man dies in der Style Definition angeben.
z.B.
.menu1 { visibility:hidden; ... }
Man sollte dann noch darauf achten, dass die Höhe des Elments zu Null wird und schon ist die jeweilige Ebene verschwunden. Besonderer Vorteil hierbei, für Suchmaschinen bleibt der Link weiterhin relevant.
Gruss hop
-
Lustig, mit dem __catalog__ schlag ich mich auch gerade rum :)
Das Problem bei der Lösung über Stylesheets ist der von Shoppilot erzeugte Quellcode. Der sieht vom ungefähr so aus:
Produkte
Produkt 1
wenn ich über den Stylesheet zB. die Klassen .menu2 und .msel2 auf
visibility:hidden;
bzw besser
display:none; (Nichtanzeige ohne Platzhalter)
setzte, dann bleiben die und die Zeilenumbrüche (
) leider sichtbar, da sie sich ja nicht im SPAN befinden.
Man kann dann anfangen rumzutricksen, die
-Tags auch auf display:none; und die Links () auf display:block; setzen, allerdings bleiben durch die leerzeilen.
Gerade wenn man tiefere Ebenen auch ausblenden will, kann man auch nicht mit negativen Abständen rumtricksen, da zwischen den Zeilen unterschiedliche Anzahlen von Leerzeilen auftreten können.
Meine Alternativ-Idee ist, diesen Identifyer per ssp quasi zu simulieren, es fehlt mit allerdings eine Möglichkeit die Unterseiten einer Seite auszulesen. Gibt es da irgendwas, oder müsste ich mir das per Perl selber schreiben?
(Shoppilot v2.10.01)
Danke und Gruß, Jens
-
Hi,
Unter Porjeckt | Optionen | Darstellungen:
- Catalog-Identifier vollständig über Style-Sheest formatieren
Dann verschwinden die
und Zeichen.
Gruß hop
-
Prima, das macht das Leben um einiges einfacher...
Zu der zweiten Frage, ich hab da noch eine Idee, bei der ich das brauchen könnte, kann man per ssp irgendwie die Unterseiten einer Seite auslesen?
-
Hallo,
in der Enterprise 2.20 gibt es die Funktion:
ssp::get_subpages (int )
Als Parameter wird eine beliebige Seitennummer aus dem Shop übergeben, die Funktion gibt ein Array mit allen Seitennummern zurück, die im Shop als Unterseite dieser Seite eingetragen sind.
Gibt es keine Unterseiten zu der angefragten Seite besitzt das erste Element das Arrays den Wert "undefined".
Beispiel für die Erstellung einer eigenen Navigation mit DropDown-Box (Listbox):
Die Auswahl soll mit Hilfe einer Listbox durchgeführt werden und alle Seiten der 1. Ebene darstellen. Die Auswahl soll mit als auch ohne aktiviertem Javascript funktionieren.
__nav::unterebene__ erzeugt die vollständige Listbox .
Gruss hop
-
Hallo HOP,
an diesem Problem arbeite ich auch gerade.
Bei meinem Frame-shop hatte ich einige Seiten (z.B. "Strickmuster" - Seiten zum anschauen ohne Bestellmöglichkeit) außerhalb des shop-Verzeichnis angelegt und mit "REFRESH" ins Frameset geholt.
Bei Noframe geht das jetzt nicht mehr.
Meine Idee war, die Seiten als Katalogseiten ohne __id__ (also kein Preis und Warenkor sichtbar) anzulegen.
Damit die Navigation übersichtlich bleibt (diese Infoseiten haben 3 Unterebenen - geht also auch nicht mit "Informations-Seite") sollten also - aber NUR bei diesen Seiten - max. 2 Ebenen angezeigt werden.
ich könnte mir eine Lösung vorstellen:
__catalog2:5__
dies bedeute von Ebene 2 bis 5 darstellen.
__catalog1:3__
nur bis Ebene 3 darstellen.
Wäre das so ok ?
Gruss hop
hab diese Lösung probiert, aber dann wird der Identiefer __catalog1:3__ (zumindest bei Live View) vollkommen ignoriert.
mfG
Woll-Insel
-
Hallo,
nein diese Lösung ist nicht realisiert worden. Weil es mit der Stylesheet-Lösung
ebenso geht (siehe oben).
Durch Einbindung unterschiedlicher Styles in die Seite, kann man das Ganze
sehr gut auf Seitenbasis steuern.
Gruss hop
-
mit Style habe ich es auch probiert - das funktioniert, nur habe ich dann zwar keine Anzeige aber (z.B. bei 12 "versteckten" Seiten) einen sehr großen leeren Abstand.
wie mache ich es, daß "die Höhe des Elementes zu Null wird" (s. Zitat)
.menu1 (für erste Ebene nicht selektiert)
.msel1 (für erste Ebene selektiert)
Wenn man möchte, dass eine bestimmte Ebene nicht sichtbar ist, kann man dies in der Style Definition angeben.
z.B.
.menu1 { visibility:hidden; ... }
Man sollte dann noch darauf achten, dass die Höhe des Elments zu Null wird und schon ist die jeweilige Ebene verschwunden. Besonderer Vorteil hierbei, für Suchmaschinen bleibt der Link weiterhin relevant.
-
wie mache ich es, daß "die Höhe des Elementes zu Null wird" (s. Zitat)
Unter Projekt | Optionen | Darstellungen:
Catalog-Identifier vollständig über Style-Sheest formatieren
Dann verschwinden die <br> und die Höhe sollte Null sein.
-
Unter Projekt | Optionen | Darstellungen:
Catalog-Identifier vollständig über Style-Sheest formatieren
> Dann verschwinden die <br> und die Höhe sollte Null sein.
Dann stehen bei uns alle Links unterhalb einer Hauptkategorie erstmal nebeneinander.
Wie bekomme ich denn die Anzeige dann wieder so hin (ohne <br>), damit alle
Produktkategorien wieder untereinder stehen? Kann man das auch über die
CSS-Datei einstellen?
> .menu1 { visibility:hidden; ... }
Das funktioniert gut. Danke nochmal für diesen Hinweis.
Grüße, jg
-
> Dann verschwinden die <br> und die Höhe sollte Null sein.
Dann stehen bei uns alle Links unterhalb einer Hauptkategorie erstmal nebeneinander.
Wie bekomme ich denn die Anzeige dann wieder so hin (ohne <br>), damit alle
Produktkategorien wieder untereinder stehen? Kann man das auch über die
CSS-Datei einstellen?
> .menu1 { visibility:hidden; ... }
Das funktioniert gut. Danke nochmal für diesen Hinweis.
Grüße, jg
Hallo jg,
das ist ganz einfach.
man muss lediglich die Inline Elemente die ohne <br> natürlich in einer Reihe ohne Umbrüche stehen in Block-Elemente verwandeln.
Das geht über die CSS-Eigenschaft : Display : block ;
also z.B.:
.menu1 { display: block; ...}
.msel1 {display: block; ... }
.menu2 {display:block; ... }
etc.
Gruß
cru
-
> .menu1 { display: block; ...}
Danke.
>> .menu1 { visibility:hidden; ... }
>Das funktioniert gut. Danke nochmal für diesen Hinweis.
Besser ist noch - jetzt in unserem Fall: .menu1 { display:none; ... } .
Dann verschwindet auch noch der leere Platzhalter der mit visibility:hidden gesetzt wird.
Grüße, jg