Clean URLs

Please post answers on the most frequently asked questions about CMSimple
Nicky
Posts: 164
Joined: Sun Feb 08, 2009 9:50 am
Location: Antwerp, Belgium

Re: Clean URLs

Post by Nicky » Fri Mar 11, 2016 1:26 pm

My opinion is that this might be a real important possibility for webdesigners, as older websites I made years ago (in Dreamweaver) all have the obvious format www.mydomain.com/page.html.

For new sites the "www.mydomain.com/?Page"-format is no problem whatsoever and is picked up fine by Google.

However, if a site is several years old and has a good position in the search engines under the known url's, changing to CMSimple could result in 'page not found' messages for the previous version of the site, unless you keep everything online of course parallel to the new CMSimple version, but that is not exactly the intention, cause once on an older page shows up on a top-position in Google index and is clicked, every link also points to other old pages.
Thx for your time.

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

Re: Clean URLs

Post by cmb » Fri Mar 11, 2016 3:31 pm

Nicky wrote:Hi there, is this a manual how to create Clean URLs?
For CMSimple_XH 1.6 see http://cmsimpleforum.com/viewtopic.php? ... =40#p39249.
Nicky wrote:However, if a site is several years old and has a good position in the search engines under the known url's, changing to CMSimple could result in 'page not found' messages for the previous version of the site, […]
Consider to redirect the old pages. With Apache and mod_rewrite that works similar to the .htaccess of the clean URL solution. Another option might be to modify the old files, if you can configure the web server to serve the .html files through PHP:

Code: Select all

<?php header('Location: http://same.domain/?New_page', true, 301);?>
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Clean URLs

Post by cmss » Tue Feb 14, 2017 10:43 am

Ich habe diesen Patch einmal für XH 1.69 angewendet und ein gepatchtes XH1.69 zum Donload bereitgestellt

Link auf viewtopic.php?f=16&t=12141&p=56763#p56763 und direkt :
Neu für XH - Version 1.6.10 (auch php 7.1) net.square7.ch/XH1610

Es geht alles bis auf die Links unter der Templateauswahl.
Als ich den Pagemanager öffnete, wollte der erst einmal die Dateistruktur korrigieren. Nach der automatischen Korrektur waren die Sublinks mit ..x - x.. nicht mehr zugänglich. Neu angelegte gleiche Sublinks gingen aber.
Auch ist unter den Template-Links jetzt ein h4-Sublink. Wer von den Entwicklern hat eine Idee was zu korrigieren ist.

Die cleanen Links funktionieren aber, und man wird diesbezüglich sowieso ein Templateswitcher-Modul einsetzen.
Der Ankerpatch der Maxim-version 1.67 ist in obiger Version jetzt enthalten.

Ein Problem bei der Umstellung von der Maxim-Version 1.6x ist dessen tolower-Funktion in den Urls, die obige Version nicht hat. Das kann man manuell beheben, wenn man die content.htm im Notepad++ öffnet und die großen Buchstaben nachkorrigiert(nach <a href=.. suchen und korrigieren auf groß-klein). Eine andere Möglichkeit ist es, zu den ÄÖÜ-ae-oe-ue im Sprachteil das ganze Alphabet von |A|B|....|Z| hinzufügen(...geht aber auch...).
Last edited by cmss on Sun Feb 11, 2018 12:37 pm, edited 7 times in total.

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

Re: Clean URLs

Post by cmb » Tue Feb 14, 2017 5:21 pm

cmss wrote:Ich habe diesen Patch einmal für XH 1.69 angewendet und ein gepatchtes XH1.69 zum Donload bereitgestellt
Cool! :)
cmss wrote:Es geht alles bis auf die Links unter der Templateauswahl.
Meinst Du die Demo-Seiten der beigelegten Templates, wie z.B. http://example.com/Templates-Plugins/gonzo-h? Die funktionieren bei mir sowohl im Haupt- als auch im Submenü. :?
cmss wrote:Als ich den Pagemanager öffnete, wollte der erst einmal die Dateistruktur korrigieren. Nach der automatischen Korrektur waren die Sublinks mit ..x - x.. nicht mehr zugänglich. Neu angelegte gleiche Sublinks gingen aber.
Auch ist unter den Template-Links jetzt ein h4-Sublink. Wer von den Entwicklern hat eine Idee was zu korrigieren ist.
Das hat nichts mit den clean URLs zu tun, sondern liegt daran, dass Du in der Konfiguration Menu→Levels auf 6 geändert hast. Dadurch entstehen Lücken in der Seitenstruktur (z.B. kann ein <h4> plötzlich direkt unter einem <h2> auftauchen), und die mag der Pagemanager nicht. Grundsätzlich gilt: menu_levels nie nachträglich anpassen (oder den Inhalt dann entsprechend überarbeiten). Und ob 6 menu_levels für die Seitenstruktur wirklich sinnvoll sind? Dann kann man keine Überschriften mehr auf den Seiten verwenden (außer der Seitenüberschrift natürlich).
cmss wrote:Die cleanen Links funktionieren aber, und man wird diesbezüglich sowieso ein Templateswitcher-Modul einsetzen.
Das verstehe ich nicht. Was haben denn clean URLs mit einer Templateauswahl zu tun? Auf jeden Fall wirst Du sowohl Templateswitch als auch Themeswitcher_XH bzgl. der clean URLs anpassen müssen.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Clean URLs

Post by cmss » Sat Feb 18, 2017 5:13 pm

Noch ein weiteres zum Pagemanager :
Wenn man eine li-Liste mit Überschrift-Elementen wie sie zum Beispiel in Megamenus zur Strukturierung verwendet werden(auch in langen Klappmenüs) erstellen will <ul><li>Kapitel 1</li><li><a h href=...</li><li><a h href=...</li> <li><a h href=...</li> <li>Kapitel 2</li><li><a h href=...</li><li><a h href=...</li>usw. - so bietet der Pagemanager kein Element ohne Verbindung zu einer Seite an. Man könnte natürlich

<li>Kapitel 1<br><a h href=...</li><br> Kapitel 2 versuchen, aber dann kann man nicht stylen - sofern das momentan überhaupt geht. Vielleicht kann man den Pagemanager etwas um ein stylbares Element erweitern erweitern - oder weiss jemand eine andere Lösung ?

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

Re: Clean URLs

Post by cmb » Sat Feb 18, 2017 10:45 pm

cmss wrote:Vielleicht kann man den Pagemanager etwas um ein stylbares Element erweitern erweitern - oder weiss jemand eine andere Lösung ?
Schau Dir mal Toxic_XH an; ist leider noch alpha, aber damit kann man zum einen Menükategorien hinzufügen, die eigene gestaltbare Elemente zum Menü hinzufügen, und zum anderen können einzelnen Seiten im Menü bestimmte CSS-Klassen zugewiesen werden.
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Clean URLs

Post by cmss » Sun Feb 19, 2017 7:40 pm

Zum Toxic wären einige erpobte Klassen - Beispiele hilfreich

Ein anderer Punkt wäre die Möglichkeit im Pagemanager jedem Link eine Klasse namentlich zu weisen zu können - zb per Dropdown. Damit eröffneten sich ganz neue Horizonte.

Es geht natürlich auch mit dem :nth-of-type() selector wie nth-child(2) { background: red; ...

oder auch ( nthmaster.com)´:

li:nth-child(n+4):nth-child(-n+8) span {
background-color: #298EB2;
box-shadow: inset -3px -3px 10px rgba(0, 0, 0, 0.4), 0 0 10px black;
}

Das Problem ist dann leider eine sich ändernde Menüstruktur bei der Seitenerweiterung.

Eine andere Möglichkeit wäre ein Zusatzfeld CSS-Klasse im Seitenkopf statt im Pagemanager - das wäre ein Meilenstein für die Einfachheit der Templateentwicklung.

Eine noch bessere Möglichkeit ware ein ul-li-Manger mit solchen Funktionen für jedes Template . Auf stackoverflow sind einige Beispiele wie man über php-Zusatzfunktionen eine Klasse an ein Li anhängt.

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

Re: Clean URLs

Post by cmb » Thu Mar 16, 2017 5:03 pm

cmss wrote:Eine andere Möglichkeit wäre ein Zusatzfeld CSS-Klasse im Seitenkopf statt im Pagemanager - das wäre ein Meilenstein für die Einfachheit der Templateentwicklung.
cmb wrote:Schau Dir mal Toxic_XH an; […], und zum anderen können einzelnen Seiten im Menü bestimmte CSS-Klassen zugewiesen werden.
Voilà! :)
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 Mar 29, 2017 4:45 pm

cmb wrote:
cmss wrote:Vielleicht kann man den Pagemanager etwas um ein stylbares Element erweitern erweitern - oder weiss jemand eine andere Lösung ?
Schau Dir mal Toxic_XH an; ist leider noch alpha, aber damit kann man zum einen Menükategorien hinzufügen, die eigene gestaltbare Elemente zum Menü hinzufügen, und zum anderen können einzelnen Seiten im Menü bestimmte CSS-Klassen zugewiesen werden.
* Nachdem ich mir Toxic etwas genauer angesehen habe: : Das Feld Kategorie ist natürlich nützlich und lässt auch Bilder einfügen zu. Wenn man zu einen Verzweigungslink und dem Link darunter die Kategorie stylt (zB mit Trennstrichen) ist der Verzweigungslink of nicht mehr ansprechbar - manchmal geht es auch temporär wieder.

Im Quellcode erscheint zB. " <li class="toxic_category">-----Test-----</li><li class="sdocs class1-e"><span>Einführung</span> ".
Somit kann ich .toxic_category{...} und (s)docs und class1e entsprechend nachstylen im stylesheet.css.

Man muss explizit ein anderes Template zuweisen. Momentan geht das stylen der Li's nur über eine Klasse pro Template, die dann im jeweiligen Template definiert ist(class-1a class-2a class-3a class-4a in einer Zeile bei 4 Templates ). Bei Bootstrap.css muss man sich dann die entsprechenden Klassen mit Modifikationen herauskopieren

Das übergeordnete ul hat z.B. <ul class="menulevel2">. Das Nachstylen ist hier (leider) immer in jedem Ast gleich - das sollte man ändern in Menulevel-x.1-6 (x für den Zweig)

Bei Bootstrap werden oft auch noch die Verzweigungs-Anker gestylt. Diese Klassen kann man zwar im Ckeditor eintragen, der kommt aber nicht an den Baum heran.

Evtl. kann hier Code wie "echo $an."<a class=\"LinkBC\" href=\"".$home."\">Startseite</a>"; }}} oder ' class a extends b' oder 'echo('<a class="klassenname">');' weiterhelfen.

Eine andere Möglicheit ist per Javascript : https://developer.mozilla.org/en-US/doc ... /className und wie
https://stackoverflow.com/questions/507 ... en-element

Bezüglich doc und docs(Einstellung parent im Cms) geht es für einfache Menüs. Man kann sich dann bei Elementen mit 'nth-of-' behelfen.

Vielleicht hat einer der Entwickler eine Idee bezüglich des einfachen Nachstylens der Anker im Baum.

Mein weiterer Vorschlag ist auch SASS oder LESS zu integrieren [http://lessphp.gpeasy.com/Readme; https://github.com/leafo/lessphp] (@extend ; if ; etc.). Es gibt auch Winless1.9.1 (- auch andere online-Compiler) und man kann less.js auch in die Seite integrieren(zumindest bis die Seite fertig ist) und dann aus dem stylesheet.less ein css generieren. Das wäre der ideale Zusatz zu toxic.

Man sich zwar anderweitig mit less und Konstrukten wie .paginate > li > a { @extend... } o.ä. behelfen. Das Problem mit less ist leider, daß die extend-Syntax nicht dem ersten Anschein entspricht. Klassennamen addieren geht hier nicht - ist ja auch kein CSS3
..............................................................................
Zum Serverstylen noch eine interessante Seite
http://www.thestyleworks.de/tut-art/css-constants.shtml

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

Re: Clean URLs

Post by cmb » Mon Apr 03, 2017 11:07 am

cmss wrote:Das übergeordnete ul hat z.B. <ul class="menulevel2">. Das Nachstylen ist hier (leider) immer in jedem Ast gleich - das sollte man ändern in Menulevel-x.1-6 (x für den Zweig)
Bei Toxic wie auch beim CMSimple_XH Standardmenü haben doch die erzeugten <ul>s schon die passende menulevelX Klasse. Und strikt gesehen, ist diese nicht mal nötig, weil man ja `ul`, `ul ul`, `ul ul ul` usw. selektieren kann.
cmss wrote:Bei Bootstrap werden oft auch noch die Verzweigungs-Anker gestylt. Diese Klassen kann man zwar im Ckeditor eintragen, der kommt aber nicht an den Baum heran.
In der Tat werden Klassen, die im Editor der Seitenüberschrift hinzugefügt werden, beim Menü nicht berücksichtigt. Das ist, denke ich, aber auch sinnvoll, weil die Klasse im Content etwas ganz anderes bedeuten könnte wie im Menü, und vor allem, weil bei XH 1.7 voraussichtlich die Seitennamen komplett vom Seiteninhalt separiert werden, was ich ebenfalls sinnvoll finde. Aber daher kann man ja per Toxic_XH der jeweiligen Seite eine CSS Klasse zuweisen, die nur im Menü gesetzt wird.
cmss wrote:Mein weiterer Vorschlag ist auch SASS oder LESS zu integrieren [http://lessphp.gpeasy.com/Readme; https://github.com/leafo/lessphp] (@extend ; if ; etc.). Es gibt auch Winless1.9.1 (- auch andere online-Compiler) und man kann less.js auch in die Seite integrieren(zumindest bis die Seite fertig ist) und dann aus dem stylesheet.less ein css generieren. Das wäre der ideale Zusatz zu toxic.
Über Less oder andere CSS-Preprozessoren sollte vielleicht wirklich mal nachgedacht werden. Aber das betrifft weder den Core noch Plugins (zumindest nicht direkt); bei beiden Rate ich zu sparsamem Einsatz von CSS, und da sind dann CSS-Preprozessoren Overkill. Interessant könnten diese aber für Templates sein; da böte sich vielleicht ein kleines Addon oder Plugin an, das diesen Support nachreicht. Toxic_XH hat aber wenig mit CSS zu tun, so dass ich es da nicht sinnvoll finde.
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply