Clean URLs

Please post answers on the most frequently asked questions about CMSimple
cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Re: Clean URLs

Post by cmss » Sun Apr 16, 2017 6:01 pm

Mit Webdeveloper und Dominspector installiert kann man über "Quelltext anzeigen - erzeugten Quelltext anzeigen" sehen, daß es doch geht :
<!--Navigation 1st level-->
<div class="nav sm sm-simple">
<ul class="menulevel1 dropdown-menu">

Danke - Muss man wissen ...
Was geht ist (leider DOM3 das nur neuere Browserbeherrschen) - DOM2 ist angebrachter.
var x = document.getElementsByClassName("menulevel1"); https://www.w3schools.com/jsref/met_ele ... agname.asp
x[0].className = "dropdown2";

bzw. var x = document.getElementById("myDIV").getElementsByTagName("P").length;

und

$('div.nav ul:first').addClass('dropdown-menu');

$('div.nav > ul').addClass('dropdown-menu');

$('div.menulevel1 ul:first').addClass('dropdown-menu');

$('div.menulevel1 ul:eq(2)').addClass('dropdown-menun'); - so kann man alle Elemente einer Ebene ansprechen !

$('div.rotation ul:last').addClass('dropdown-menu');

$('div.rotation ul:first').addClass('sm sm-simple').attr('id', 'main-menu'); mit zusätzlichem Attribut wie ID

Jquery ist leider viel langsamer als php.

Das letzte Problem ist noch dass man in Toxic immer gleiche Menüäste hat, die man evtl mit nthoftype nachsytylen kann.
Anker kann bisher man gar nicht nachstylen . IDs o.ä. zu vergeben geht auch noch nicht.

Ein css mit
.sm-simple ul ul ul ul ul a,
.sm-simple ul ul ul ul ul a:hover,... aus dem Smartmenu ist auch interessant.

Evtl habe ich in ein paar Wochen einige freie neue Menüs fertig

cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Re: Clean URLs

Post by cmss » Wed Apr 26, 2017 10:42 am

Ich habe bei dem Versuch Smartmenü einzubinden ein kleines bzw. größeres Problem.

Die fehlenden Klassen habe ich im Template ergänzt bzw. eingebunden mit

$('div.nav ul:first').addClass('sm sm-simple').attr('id', 'main-menu').attr('data-smartmenus-id',
'14931313557235457').removeClass('menulevel1');
sowie darunter
<div class="nav">
<?php echo li($hc, 1);?>

Im Quellcode ist alles gleich wie im html von Smartmenus(div-classen id etc.) !
Im obigen sm-simple werden den unteren <ul>s keine dropdown-Klassen zugewiesen.
In Cmsimple geht aber nur die oberste Ebene des Menüs. Das Dropdown fehlt völlig.

Wenn ich eine reine Smartmenu - index.html im gleichen Verzeichnis wie Template.htm aufrufe geht das Menü.

Was verbiegt Cmsimple im Menü was man ändern könnte ? Das Bootstrap-Acme hat dazu eine eigene Menu.php
geschrieben. (Ausserdem musste ich feststellen dass menulevel1 nur dem ersten ul der ersten Eben zugewiesen wird.

Vielleicht kann man die Cmsimple-Menu-Schnittstelle etwas html5-kompatibler gestalten zumindest für 1.7.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Clean URLs

Post by cmb » Wed Apr 26, 2017 11:03 am

cmss wrote:Die fehlenden Klassen habe ich im Template ergänzt bzw. eingebunden mit

$('div.nav ul:first').addClass('sm sm-simple').attr('id', 'main-menu').attr('data-smartmenus-id',
'14931313557235457').removeClass('menulevel1');
sowie darunter
<div class="nav">
<?php echo li($hc, 1);?>

Im Quellcode ist alles gleich wie im html von Smartmenus(div-classen id etc.) !
Im obigen sm-simple werden den unteren <ul>s keine dropdown-Klassen zugewiesen.
In Cmsimple geht aber nur die oberste Ebene des Menüs. Das Dropdown fehlt völlig.
Das Problem ist der :first Pseudo-Selektor, siehe http://api.jquery.com/first-selector/. Probier mal:

Code: Select all

$('div.nav .menulevel1').addClass('sm sm-simple').attr('id', 'main-menu').attr('data-smartmenus-id', '14931313557235457').removeClass('menulevel1');
cmss wrote:Vielleicht kann man die Cmsimple-Menu-Schnittstelle etwas html5-kompatibler gestalten zumindest für 1.7.
Was meinst Du damit? Ein <nav> kann man im Template leicht darum setzen, und sonst fiele mir nichts ein was beim Menü nicht HTML5 kompatibel ist. :?
Christoph M. Becker – Plugins for CMSimple_XH

cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Re: Clean URLs

Post by cmss » Wed Apr 26, 2017 12:29 pm

Nein das obige geht ja

Das nur 1 Menulevel1 auftaucht liegt wohl an der Baumstruktur.

Die Lösung ist
<script type="text/javascript">
$('div.nav ul:first').addClass('sm sm-simple').attr('id', 'main-menu').attr('data-smartmenus-id', '14931313557235457').removeClass('menulevel1');
</script>

<script type="text/javascript" src="<?php echo $pth['folder']['template']?>js/jquery.smartmenus.js"></script>
<script type="text/javascript" src="<?php echo $pth['folder']['template']?>js/index.js"></script>

Das style .css habe ich zu stylesheet.css umbenannt und die beiden anderen Csse importiert - muss sein!
Man darf auch die Javascripte nicht wie in Smartmenus einbinden sondern so wie oben.
Wenn Interesse besteht kann ich in zwei Tagen hier das Menü als zip veröffentlichen.
Ich muss noch den Unterbau gestalten.

Es liegt als html auf auf http://codepen.io/vadikom/pen/OVRmbe und kann dort exportiert werden.

Aber ich habe noch einen anderen Fehler, der auch dort nicht zu sehen ist : Klicke ich z.B. auf 'Templates-Plugins' (Distribution) so klappt die Auswahl, aber die Formatierung des Feldes (nicht der Seite) entfällt, und obiges Wort rutscht in kleinerer Schrift unter den Rand. Alles was ich im Quelltext feststellen kann ist ein<span>Templates-Plugins</span> genau wie im Header.

Der Fehler ist auch noch komplizierter: Klicke ich auf das oberste Element eines Dropdown so kommt zwar die Seite. Das Dropdown ist danch tot - erst durch anklicken eines Elements daneben wird es wieder ansprechbar. Ob das auch mit dem Span zusammenhängt muss sich herausstellen.
Zu sehen auf http://net.square7.ch/XH1610/?Templates ... sm-dsimple

Die Lösung ist : $('div.nav span:first').addClass('sp2').remove();
Cmsimple fügt dem aktiven Element ein <span> hinzu, das das Smart-Menü durcheinanderbringt...
......................................................................................................................................
Zu einem Issue auf Github stellte der Author von Smartmenu fest :
The problem is server-side. For example, when the "Welcome to CMSimple XH" is not selected, the server outputs the following HTML:

<li class="docs"><a href="/cmxh169curl/Welcome_to_CMSimple_XH">Welcome to CMSimple XH</a>

and when it's selected it outputs a SPAN element instead of the link:

<li class="sdocs"><span>Welcome to CMSimple XH</span>

The best approach is to check the server-side code that generates your menu structure and make sure it always outputs the link.

If you are unable to edit that code, you could use a hacky JS solution - something like this called before the SmartMenus init call:

$('.nav li > span').each(function() {
var $this = $(this);
$this.replaceWith('<a href="#">' + $this.text() + '</a>');
});

This will replace the SPAN with a dummy link and your parent items should display their sub menus without any problems.
Last edited by cmss on Sun Nov 26, 2017 2:09 pm, edited 1 time in total.

tanavots
Posts: 72
Joined: Sat Feb 25, 2012 4:18 pm

Re: Clean URLs

Post by tanavots » Sun Jul 02, 2017 5:33 pm

Hi!
How to get subpages work in CMSimple XH 1.7.0 with CleanURL? The editor gives error message

Code: Select all

tinyMCE not present! Either offline or local library missing.
First level pages, plugins and settings are working fine.

Best

cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Re: Clean URLs

Post by cmss » Fri Jul 21, 2017 9:27 pm

Ich habe mir gerade die neue Version Tinymce 4 vom github unter xh 1.6.10 installiert und erhalte im Gegensatz zur 3.5er-Version die Fehlermeldung
'Failed to load content css: http://cdn.tinymce.com/4/%BASE_URL%/tem ... esheet.css'

Das Base Url von https://cmsimpleforum.com/viewtopic.php ... =40#p39249
hilft auch nicht.

In required-classes.php finde ich :

/define('TINYMCE4_VARIANT', ''); //TinyMCE4 fully installed
define('TINYMCE4_VARIANT', 'CDN'); //TinyMCE4 externally loaded
define('TINYMCE4_CDN_ORIG', '//cdn.tinymce.com/4/tinymce.min.js'); //TinyMCE4 externally loaded

Wer hat eine Idee wie das zu patchen ist.

manu
Posts: 1085
Joined: Wed Jun 04, 2008 12:05 pm
Location: St. Gallen - Schweiz
Contact:

Re: Clean URLs

Post by manu » Sat Jul 22, 2017 7:26 am

Also wenn Du wirklich die aktuelle Version von github runtergezogen hast "clone or download", dann sollte in required_classes.php nichts mehr von diesen Konstanten stehen.

cmss
Posts: 244
Joined: Mon Jan 02, 2017 6:15 pm

Re: Clean URLs

Post by cmss » Sat Jul 22, 2017 10:07 am

Es gibt auf github nur eine Version - habe ich vor einem halben Tag gezogen.
Failed to load content css: http://localhost/xh1610/NeueTemplates/t ... esheet.css
Es ist weiter so - auch mit dem Master. Die SF-Version 4.1.3 macht das auch

Failed to load content css: http://localhost/xh1610/NeueTemplates/t ... esheet.css

lck
Posts: 2957
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Clean URLs

Post by lck » Sat Jul 22, 2017 11:36 am

cmss wrote:Es gibt auf github nur eine Version - habe ich vor einem halben Tag gezogen.
Also hier heruntergeladen.
Wie aussieht, fehlt im Ordner inits das init_fontawesome.js (manu?)
Das dürfte aber nicht die Ursache der Fehlermeldung sein? Bei mir läüft diese Version mit mini2 ohne Fehler.

Verwende doch einmal die Version, die mit CMSimimple_XH 1.7.0 ausgeliefert wird, und lösche vor der Installation die alte Version von tinymce4 komplett.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

lck
Posts: 2957
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Clean URLs

Post by lck » Sat Jul 22, 2017 11:40 am

cmss wrote:Es gibt auf github nur eine Version - habe ich vor einem halben Tag gezogen.
Failed to load content css: http://localhost/xh1610/NeueTemplates/t ... esheet.css
Es ist weiter so - auch mit dem Master. Die SF-Version 4.1.3 macht das auch

Failed to load content css: http://localhost/xh1610/NeueTemplates/t ... esheet.css
Dein Problem ist, Du hast einen neuen Ordner angelegt "NeueTemplates/templates", das ist natürlich falsch. Templates nur unter ./templates einfügen!
Last edited by lck on Tue Jul 25, 2017 9:59 am, edited 1 time in total.
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

Post Reply