Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: cms2day Forum - Community & Support rund ums cms2day. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Mittwoch, 27. März 2013, 09:16

Frage bzgl. showFrontendDropdownMenu

Hallo zusammen, hoffe die Frage kommt rüber und jeder versteht was ich meine =)

Ich habe mir über eine Seite ein Template gekauft. Jetzt wollte ich es an cms2day anpassen und habe ein paar kleine Probleme bzgl. der Funktionen 'showFrontendDropdownMenu'. Das eingebettete Menü ist so strukturiert:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<ul id="main-menu">
	<li><a href="#">Menu</a></li>
	<li><a href="#">Menu</a>
		<ul class="sub-menu">
			<li><a href="#">Submenu1</a></li>
			<li><a href="#">Submenu1</a>
				<ul>
					<li><a href="#">Submenu2</a></li>
					<li><a href="#">Submenu2</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="#">Menu</a></li>
	<li><a href="#">Menu</a>
		<ul class="sub-menu">
			<li><a href="#">Submenu1</a></li>
			<li><a href="">Submenu1</a></li>
		</ul>
	</li>
	<li><a href="#">Menu</a></li>
</ul>


Wenn ich jetzt

PHP-Quelltext

1
<?php showFrontendDropdownMenu('0','<ul id="main-menu">|</ul>','<li>|</li>','<li>|</li>','<li>|</li>'); ?>

im Template integriere habe ich das Problem, dass das Submenu nicht so funktiert wie gewollt. Jetzt habe ich mir schon die Arbeit gemacht und den Stylesheet entsprechend umgeschrieben, das Submenu sieht nicht mehr ganz so stylisch aus, aber es geht.

Mit dieser Funktion scheint es wohl nicht zu funktionierten, den ul-Tags verschiedene Anweisungen zu zuweisen.

Nächstes Problem, nach der Änderung im CSS und der oben implementierten Funktion 'showFrontendDropdownMenu' sieht meine Ausgabe natürlich dann so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<ul id="main-menu">
	<li><a href="#">Menu</a></li>
	<li><a href="#">Menu</a>
		<ul id="main-menu">
			<li><a href="#">Submenu1</a></li>
			<li><a href="#">Submenu1</a>
				<ul id="main-menu">
					<li><a href="#">Submenu2</a></li>
					<li><a href="#">Submenu2</a></li>
				</ul>
			</li>
		</ul>
	</li>
	<li><a href="#">Menu</a></li>
	<li><a href="#">Menu</a>
		<ul id="main-menu">
			<li><a href="#">Submenu1</a></li>
			<li><a href="#">Submenu1</a></li>
		</ul>
	</li>
	<li><a href="#">Menu</a></li>
</ul>


Im Code zu sehen, wiederholt die Funktion natürlich dann die CSS Klasse bei jedem erst geöffneten ul-Tag. Es funktioniert, jedoch findet das der w3c nicht sehr schön und meckert ein wenig.

Die von cms2day vorgegebenen Menü Funktionen:
  • showFrontendDropdownMenu
  • showFrontendLevelMenu
  • showFrontendMenu
haben alle 3 das selbe Problem.
Jetzt Fragen dazu, muss ich mir die Arbeit machen und den Stylesheet komplett umschreiben oder gibt es mit diesen Funktionen andere Möglichkeiten?
Wenn ich mir selbst ne php Funktion zusammen bastel (Frage der Zeit :p), kann ich die schöner integrieren, als sie im Template Ordner direkt in die index.html zu schreiben?
Ich möchte eigentlich ungern anderen Dateien außer den in 'includes/templates/template' vorhandenen Dateien ändern, um das System problemlos updaten zu können.
Hoffe ihr habt alles verstanden ;)

Gruß Chris / eNf

Werbung

emet

Admin & Support

  • »emet« ist männlich

Beiträge: 2 530

Wohnort: Rhein/Main

Paypal:

  • Nachricht senden

2

Mittwoch, 27. März 2013, 12:25

Man kann natürlich ein komplett neues Menu in PHP bauen, dann kannst du das auch ausgeben lassen - aber das wäre wohl etwas umständlich.

Du solltest dir mal einfach ein fertiges Template mit DropDownMenu runter laden und dann schaust du dir mal die Ausgabe des Menus im Quellcode an.

Da wirst du sehen, dass dies mit dem Menu deines Templates nichts zu tun hat - da wurde halt auf irgendeine Weise ein Menu integriert. Das hat aber mir anderen Menuausgaben nichts zu tun.

Wenn du ein fertiges Template von uns nimmst, dann siehst du auch in der CSS-datei, wie dies formatiert werden muss. Bzw. kannst du das kopieren und von den Größen und Farben einfach deinem Menu anpassen.
.
HTML, was ist das? Ein neues Männermagazin? Css.., was es so alles gibt!

News: http://www.cms2day.de/news/1/
Features: http://www.cms2day.de/cms-funktionen/

Zufrieden mit cms2day und unserer Arbeit/Support - Spenden (-Button links) sind herzlich Willkommen - Dankeschön.
.

Werbung

3

Mittwoch, 27. März 2013, 14:56

Ich kenne die Menü Struktur von cms2day, deswegen ja meine Frage ;)

Im oberen Code Block sieht man allerdings die Menü Struktur meines gekauften Templates. Frage ist halt bin ich jetzt gezwungen mein CSS des aktuellen Templates komplett zu ändern und umzustellen, eine neue Menü Funktion zu schreiben (wie am besten integrieren??) oder gibt mir eine eurer Funktionen die Möglichkeit?

Werbung

emet

Admin & Support

  • »emet« ist männlich

Beiträge: 2 530

Wohnort: Rhein/Main

Paypal:

  • Nachricht senden

4

Donnerstag, 28. März 2013, 13:13

Sorry, hast du meinen Post richtig gelesen.

Da seht alles drin.

1. Selbst eine Menufunktion zu bauen wäre zu übertrieben.

2. Die haben irgendein Menu gebaut, welches aber zu keinen anderen Ausgaben passt. (Das heißt, dass man das nur so nehmen und alles per Hand einbauen kann)
(Fast) Jedes CMS hat einen Menuaufruf und den muss man natürlich an die entsprechende Stelle im Template setzen (anstatt des manuellen Menus) und dann per CSS an die Ausgabe anpassen - ist doch klar.

Ich hoffe du hast es jetzt verstanden.

Wenn du die Ausgabe unseres Menus kennst, warum dann die Frage. Logisch muss die CSS angepasst werden.

Wenn du dir lieber die Mühe machen möchtest ein eigenes Menu zu programmieren, damit du die CSS nicht anpassen musst, dann wäre das absolut übertrieben.
.
HTML, was ist das? Ein neues Männermagazin? Css.., was es so alles gibt!

News: http://www.cms2day.de/news/1/
Features: http://www.cms2day.de/cms-funktionen/

Zufrieden mit cms2day und unserer Arbeit/Support - Spenden (-Button links) sind herzlich Willkommen - Dankeschön.
.

Werbung

5

Donnerstag, 28. März 2013, 19:21

Die Frage kam eher, da ich nicht die 3 Funktionen durchgeschaut und durchprobiert habe. Es hätte ja sein können, dass mir eine dieser Menüfunktionen das ganze erleichtert und ich für das Hauptmenü und die Submenüs nicht das komplette CSS ändern muss, wobei die ul classes nur in ein darüber liegenden div gepackt werden müssen. Problematisch ist nur die ul class für die submenüs.

Aber trotzdem danke.

Werbung

cms2day

Profi

  • »cms2day« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

6

Freitag, 29. März 2013, 04:33

Also, im Prinzip müsstest Du einfach nur dein CSS anpassen und umschreiben.
Du benutzt darin einfach nur die Submenü Klasse "main-menu" beim <ul>, worin die Level 2 Seiten kommen.
Wenn du das im CSS einfach zu ul ul umschreibst, passt das alles.

Beispiel

Du hast in deinem Custom-Menü in der CSS stehen:

Quellcode

1
ul.submenu { ... }

Dann änderst Du das einfach ab auf:

Quellcode

1
#menu ul ul { ... }

Somit vererbst Du allen ul's, die nach dem ersten UL kommen (Level 1) die Eigenschaften.
Ist im Prinzip ganz leicht zu ändern, wenn man es versteht.

Eine extra Klasse im Submenü zu verwenden ist unnöig!
Wenn Du Hilfe beim anpassen brauchst, melde Dich bei mir.

Gegen eine kleine Spende passe ich es Dir gerne an und zeige Dir, dass es machbar ist.

:thumbup:

Werbung

7

Mittwoch, 10. April 2013, 16:24

Kaufe bald ne Lizenz, das is dann die Spende :)

Muss das Thema noch mal aufgreifen. Möchte es gerne sauber lösen.
Da es sich um ein superfish.js Menü handelt, gestaltet sich die Lösung doch etwas problematisch.


Gibt es ne updatefreundliche Lösung, das aller erste <ul> tag des cms2day menücodes mit ner class id zu versehen?

Beispiel: <ul class="menu"> nur beim ersten ul, bei keinem weiteren?!


Gruß an freundliche Helfer :p

Werbung

cms2day

Profi

  • »cms2day« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

8

Mittwoch, 10. April 2013, 17:28

Auch das kann ich dir gerne anpassen, melde Dich dazu einfach bei mir.
Ich frage mich zwar, wieso es ausgerechnet das Superfish Menü sein soll, aber nun gut.

:D

Werbung

9

Mittwoch, 10. April 2013, 17:58

Weil es nen fertig gekauftes Theme ist. Will es ja gerne selbst machen hinbekommen, sonst lern ich nichts dabei. Mir geht's dabei nicht ums Geld oder Geiz, nur der Lernfaktor und Verständnis fürs cms.


Geht's denn mit der is im ersten ul tag?

Superfish übrigens wegen Responsive

Werbung

cms2day

Profi

  • »cms2day« ist männlich

Beiträge: 1 282

CMS Version: 4.x/5.x

Beruf: Webentwickler

Paypal:

  • Nachricht senden

10

Mittwoch, 10. April 2013, 22:03

1. showFrontendDropdownMenu.inc.php öffnen, die findest Du unter /includes/functions/

2. Zeile 148, 240 und Zeile 332 änderst du

PHP-Quelltext

1
print "\n\n  ".$blockEx['0']."\n\n";

zu

PHP-Quelltext

1
print "\n\n  <ul class="submenu">\n\n";


Somit hast Du dann den Aufbau wie gewünscht, mit der class="submenu" bei den Unterpunkten.
Hinweis: Die Zeilen können ggfs. abweichen, weis ja nicht ob du da die aktuelle Version 3.9.9.4 installiert hast.

Für die ID in Level 1 rufst du die Funktion dann in deinem Template so auf:

PHP-Quelltext

1
showFrontendDropdownMenu(0,'<ul id="main-menu">|</ul>','<li class="middle">|</li>','<li class="first">|</li>','<li class="last">|</li>');


:thumbup:

Werbung