Haupt- und Unterseiten-Struktur für CMS Seiten

Hola,
hier ein kleines Modul, um ein bisschen Struktur in CMS Seiten reinzubekommen, ähnlich wie bei den Kategorien.

Getestet habe ich bis jetzt mit 4.7, freue mich über die Rückmeldung.

Das Modul selbst und noch ein paar Screenshots gibts hier:

viele Grüße

Find ich gut, danke!

feine sache! :smiley:

Finde die Idee ziemlich genial. Leider kriege ich es mit 4.8.1 nicht hin, kann zwar ne parent id eingeben, aber die Seiten erscheinen trotzdem nicht als Unterseiten sondern im Hauptmenü. Liegt’s an mir oder ist es tatsächlich nicht kompatibel?

EDIT: Jetzt wird sie mir zwar angezeigt, aber doppelt, einmal als Hauptkategorie und dann wie gewünscht als Unterkategorie einer anderen CMS Seite… Irgendwo hakts noch, aber ich bin etwas ratlos. Für alle Tipss dankbar :slight_smile:

Hallo Miri-am,

mich würde doch sehr interessieren, ob Du das noch hinbekommen hast mit vt-csmstructure und wenn ja, wie? wir haben hier nämlich das gleiche Verhalten: parent-ID kann angelegt werden, die einzelnen cms-seiten werden aber nebeneinander angezeit. so als würde der zusätzliche code in widget/header/categorylist.tpl nicht verwendet.

Leider hakt die Einbindung bei uns auch.

Im Roxive Template wird es auch nicht richtig angezeigt.

Gibt es da ein update?

eine out of the box Kompatibilität mit fremden Themes kann ich leider nicht gewährleisten.
Was genau “hakt” denn? Welche Shop Version ist im Einsatz?

edit: update ist online. https://github.com/vanilla-thunder/vt-cmsstructure
Doku gibt es erst mal auf englisch (doc_en.html) , ich werde am WE auch mal eine auf Deutsch schreiben.

Bei Fragen einfach hier melden

Ich vermute mal da muss noch was in die css von Roxive, nach dem update sieht es weiter so aus:

Habe gerade noch mal nachgeschaut:

Weder in dem eingefügten Block noch in der dahinterliegenden tpl sind css Anweisungen.
Also müsste doch eigentlich das grundsätzliche Layout gelten…

Das Modul ist an das Azure angelehnt, für Roxive müssten die Tempaltes definitiv angepasst werden.
Die entsprechenden Dateien sind:
modules/vt-cmsstructure/views/tpl/header_cmsmenu.tpl für das Menü im Header.
modules/vt-cmsstructure/views/tpl/sidebar_cmsmenu.tpl für das Menü in der Sidebar.

wie genau man sie anpassen muss, weiß ich leider nicht, da ich das Roxive Theme nicht besitze. Warte mal ab, was Kai zu deinem Vorschlag aus dem anderen Thema sagt.

@gartenwein: Hat leider nichts mit RoxIVE zu tun, sondern mit den Klassen, die in Marats Modul verwendet werden. Wenn du den ul-Elementen die passenden Bootstrap-Klassen gibst, wird’s auch klappen. Sollte eigentlich ne Sache von 10min sein.

Hab es geschafft!

In den .tpl für das Modul wurden keinerlei Klassen definiert. Keine Ahnung warum dann Roxive dann nicht die Klassen rein geschrieben hat.

In der header_cmsmenu.tpl des Moduls habe ich dem ul tag dann die Klasse “dropdown-menu” zugewiesen. Um das vorangehende li mit der Klasse “dropdown” mitzugeben musste ich es in der categorylist.tpl des roxive theme schreiben.

Hat länger gedauert, da ich kein Profi bin immer mit der Konsole nachschauen und ausprobieren musste.

Aber es funktioniert.

Wie sollte es das denn tun? :rolleyes:

Die Funktion mit den externen Seiten funktioniert leider nicht. (zumindest in der PE 4.9.4)

Der Haken bei externe Seite wird nicht gespeichert.

Aber grundsätzlich: Geile Idee!

komisch, wir haben es in einer PE und da läuft es.
Versuch mal views neu zu generieren und wenn es nicht hilft… hast du Zugang zu der Datenbank?

stimmt!

Ich dachte das D3 Modul aktualisiert auch die Views wenn man im Header klickt.

Anyway:

Funktioniert und ist wie gesagt echt genial.
Nach sowas hatte ich vorgestern mehrere Stunden gegooglet und hatte nur möglichkeiten gefunden CMS Seiten in templates einzubauen.

Kann mir hier nochmals einer helfen ?

Habe das Modul vt-cms eingebaut, kann auch die Seiten entsprechend
finden. Der erste Eintrag in der Kategorie (FAQs) ist auch da, die Untereinträge
sind aber nur in der Sidebar sichtbar. Das Popup in der Kategorie kommt leider
nicht.

Das ganze ist hier mal einzusehen.

Ich benutzte den CE 4.9.4 (Der Shop befindet sich im Auf- bzw. Umbau).

Bei der Aktivierung des Moduls kam:

[I]Strict Standards: Only variables should be assigned by reference in /kunden/swb-knuepfer.de/kunden/knuepfer/oshop/oxid/core/adodblite/adodbSQL_drivers/mysql/mysql_meta_module.inc on line 377

Warning: Cannot modify header information - headers already sent by (output started at /kunden/swb-knuepfer.de/kunden/knuepfer/oshop/oxid/core/adodblite/adodbSQL_drivers/mysql/mysql_meta_module.inc:377) in /kunden/swb-knuepfer.de/kunden/knuepfer/oshop/oxid/core/oxutils.php on line 1133[/I]

Vielleicht passt da schon was nicht. Vielleicht mache ich auch noch was mit den parent.id und Sort Feldern verkehrt. Was kommt bei parent.id genau rein ?

Vielen Dank für eine kurze Nachricht.

Hi,
schau mal bitte über PhpMyAdmin in die Tabelle “oxcontents” rein.
dort sollte es folgende Spalten geben: oxparentloadid, oxsort, external

Falls irgendwas davon fehlt, führe die dazugehörigen SQL Befehle aus:
oxparentloadid:

ALTER TABLE oxcontents ADD OXPARENTLOADID CHAR( 32 ) CHARACTER SET latin1 COLLATE latin1_general_ci NOT NULL DEFAULT '' COMMENT 'vt-cmsstructure - parent cms page ident'

oxsort:

ALTER TABLE oxcontents ADD OXSORT INT( 11 ) NOT NULL DEFAULT '9999' COMMENT 'vt-cmsstructure - sorting order'

external:

ALTER TABLE oxcontents ADD EXTERNAL INT( 1 ) NOT NULL DEFAULT '0' COMMENT 'vt-cmsstructure - external cms'

Danach führe folgende SQL Befehle aus:

INSERT INTO `oxcontents` (`OXID`, `OXLOADID`, `OXSHOPID`, `OXSNIPPET`, `OXTYPE`, `OXACTIVE`, `OXACTIVE_1`, `OXPOSITION`, `OXTITLE`, `OXCONTENT`, `OXTITLE_1`, `OXCONTENT_1`, `OXACTIVE_2`, `OXTITLE_2`, `OXCONTENT_2`, `OXACTIVE_3`, `OXTITLE_3`, `OXCONTENT_3`, `OXCATID`, `OXFOLDER`, `OXTERMVERSION`, `OXTIMESTAMP`, `OXPARENTLOADID`, `EXTERNAL`, `OXSORT`) VALUES
('cmsmenutop1', 'cmsmenu_top1', 'oxbaseshop', 0, 2, 1, 0, '', 'CMS Menu Top 1', '', '', '', 0, '', '', 0, '', '', '943a9ba3050e78b443c16e043ae60ef3', '', '', '2015-05-29 09:04:02', '', 0, 9999),
('cmsmenutop1sub1', 'cmsmenu_top1_sub1', 'oxbaseshop', 1, 1, 1, 0, '', 'CMS Menu Top 1 / Sub 1', '', '', '', 0, '', '', 0, '', '', NULL, '', '', '2015-05-29 09:01:45', 'cmsmenu_top1', 0, 1),
('cmsmenutop1sub2', 'cmsmenu_top1_sub2', 'oxbaseshop', 1, 1, 1, 0, '', 'CMS Menu Top 1 / Sub 2', '', '', '', 0, '', '', 0, '', '', NULL, '', '', '2015-05-29 09:01:45', 'cmsmenu_top1', 0, 2),
('cmsmenutop1sub2sub1', 'cmsmenu_top1_sub2_sub1', 'oxbaseshop', 1, 3, 1, 0, '', 'CMS Menu Top 1 - Sub 2 - Sub 1', '', '', '', 0, '', '', 0, '', '', NULL, '', '', '2015-05-29 09:01:45', 'cmsmenu_top1_sub2', 0, 1),
('cmsmenutop1sub2sub2', 'cmsmenu_top1_sub2_sub2', 'oxbaseshop', 1, 3, 1, 0, '', 'CMS Menu Top 1 - Sub 2 - Sub 2', '', '', '', 0, '', '', 0, '', '', NULL, '', '', '2015-05-29 09:01:45', 'cmsmenu_top1_sub2', 0, 2);

Das sind Demo-Daten für das CMS Menü.

Und dann hast du vermutlich die Tempalte Anpassungen vergessen, schau mal die doc_en.html im Modulordner an, da steht was und wo eingefügt werden muss.

Anschließend views neu generieren lassen und tmp/ leeren.

Hi vanilla thunder

habe alles geprüft, ist alles vorhanden, auch die Contenteinträge sind da,
diese hatte ich schon vorher leicht angepasst.

Mein Problem/Wunsch wäre halt nur, das unter der Kategorie “FAQ” im Header der
das Superfish (?) Menü mit den Untereinträgen kommt. Das ist nicht der Fall.

Ich denke das hat was mit der Parent.ID und ggf. Sort zu tun.
Da steht nichts so richtiges in der Dok.

Sind Einträge als Kategorie definiert, gilt das als 1. Ebene, die 2. Ebene
habe ich als Hauptmenü, ohne parent.ID und sort = 9999 drin, sowie es
sich angelegt hatte.

Die Anpassungen in der TPL.Datei habe ich auch gemacht, der erste
Eintrag erscheint ja auch. Die Sidebar ist auch gefüllt mit den Subeinträgen.

Alles richtig nur das “fliegende” Menü fehlt halt.

Schau nochmals bitte hier nach.

Es geht um die Kategorie “FAQS”, recht oben in der Sidebar siehst Du auch schon die Subeintrage “EnergyCam” und “en:key”

v.g.

Sandro

das ist aber falsch. in den mitgelieferten Demo-Daten hat die zweite Ebene eine parent id, die auf die erste Ebene verweist. Das muss auch so sein, weil der Shop ohne der Parent-Zuordnung es nicht riechen kann, dass du irgendeinen bestimmten Punkt als Untermenü haben willst.
Importiere die original Demo-CMS-Seiten und schau sie kurz an.