Page 14 of 21

Re: Clean URLs

Posted: Sun Apr 16, 2017 6:01 pm
by cmss
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

Re: Clean URLs

Posted: Wed Apr 26, 2017 10:42 am
by cmss
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.

Re: Clean URLs

Posted: Wed Apr 26, 2017 11:03 am
by cmb
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. :?

Re: Clean URLs

Posted: Wed Apr 26, 2017 12:29 pm
by cmss
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.

Re: Clean URLs

Posted: Sun Jul 02, 2017 5:33 pm
by tanavots
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

Re: Clean URLs

Posted: Fri Jul 21, 2017 9:27 pm
by cmss
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.

Re: Clean URLs

Posted: Sat Jul 22, 2017 7:26 am
by manu
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.

Re: Clean URLs

Posted: Sat Jul 22, 2017 10:07 am
by cmss
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

Re: Clean URLs

Posted: Sat Jul 22, 2017 11:36 am
by lck
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.

Re: Clean URLs

Posted: Sat Jul 22, 2017 11:40 am
by lck
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!