Alle Input-Felder bekommen seit ... ich weiß nicht genau seit wann, ich glaube CMSms 1.8 ... die klasse cms_textinput bzw. cms_submit (je nachdem was für ein Input es ist).
Im Prinzip keine schlechte Idee, aber dummerweise nutzen bereits einige Module eine andere Option des API um den Inputfeldern eigene Klassen zu geben. Man kann nämlich z.B. mit der Funktion CreateInputSubmit($id,'name des buttons','value des buttons','zusätzlicher text'); jedem Input noch jeden beliebigen eigenen Text hinzufügen. Z.B. onclick="..." etc. Und so eben auch class="...").
Dabei ensteht dann das Problem, dass die Inputs doppelte Klassen oder doppelte IDs haben können. Einmal die, die das CMS vergibt und die, die über den "zusätzlichen Text"-Parameter vergeben werden.
Ist meiner Meinung nach ein Fehler sowohl im Modul als auch im CMSms Core.
Lösung: Durchsuche die Dateien des Moduls einfach mal nach 'class=' (ohne Anführungsstriche).
Im Prinzip müssen alle Angaben über CSS Klassen oder IDs bei der Verwendung der Modul API Funktionen CreateInputIrgendwas() aus dem Quellcode der Module raus.
Ich hatte mal angefragt was die Entwickler davon halten, ebenso wie name und value den Funktionen einen weiteren Parameter für class hinzuzufügen.
CreateInputSubmit($id,'name des buttons','value des buttons','zusätzlicher text','Eigene Klasse(n)');
Wenn dieser Parameter leer ist, wird class="cms_submit" (o.ä.) verwendet.
Ist der Parameter gesetzt, wird class="cms_submit Eigene Klasse(n)" verwendet.
Ich hoffe, dass das nicht allzu lange auf sich warten lässt.
Last edited by NaN on Sun Sep 05, 2010 10:11 am, edited 1 time in total.
Damit ist alte, vom Formbuilder mitgelieferte Klasse fbsubmit draußen.
Ich muss allerdings gestehen, dass ich eine ältere Version des Formbuilders genutzt habe (0.5.12). Die neueren machten so einige kleine Probleme. Umordnen ging nicht, Templates wurden nicht angenommen. Kann also sein, dass das class-Problem bei neuen bereits behoben ist.
Last edited by antibart on Sun Sep 05, 2010 7:36 am, edited 1 time in total.
mal 'ne Frage dazu, gibt's egtl. in CMSMS sowas wie eine functions.php in Wordpress? Wo man solche Sachen gezielt abstellen kann, damit man nicht im Core/Modulen rumhacken muss?
Ich wäre auch vorsichtig, zu viele Funktionen übers Backend zu steuern. Ich denke da Joomla: vor lauter Knöpfen und Optionen sieht man den Wald vor lauter Bäumen nicht mehr und der Kunde braucht ein Seminar, um sein CMS zu verstehen. Lieber eine kleine Änderung in einer Datei - aber das Backend bleibt sauber.
Wobei das in diesem Fall ja eher ein Timing-Problem ist ...
Antibart, das wäre ja in dem Falle nicht das Backend in dem Sinne, sondern eine Art Datei/DB-Template für den Entwickler. Insofern verstehe ich Deinen Einwurf nicht ganz.
In Wordpress schreibt auch nicht mal schnell ein User eine Regex ins Template
Edit: Das "Problem", was ich mit dieser Art Hack habe, ist einfach, wenn ich ein Update mache(n muss).
Wenn man 5 CMSMS-Installationen irgendwo da draussen hat, dann wird es schwierig zu überschauen, welche Hacks man jeweils im Core hat.
Last edited by mike-r on Mon Sep 06, 2010 6:40 pm, edited 1 time in total.
Das "Problem", was ich mit dieser Art Hack habe, ist einfach, wenn ich ein Update mache(n muss).
Wenn man 5 CMSMS-Installationen irgendwo da draussen hat, dann wird es schwierig zu überschauen, welche Hacks man jeweils im Core hat.
Da haste recht. Ich hab mittlerweile ungefähr 30-40 CMSMS-Installationen da draußen - fast alle ohne Wartungsvertrag, angefangen bei VS 1.3. Und hab jetzt schon mächtig Angst, was da auf mich zukommt, wenn die irgendwann mal nicht mehr kompatibel sind und alle gezungenermaßen ein Update brauchen. ... schlotter...
Last edited by antibart on Tue Sep 07, 2010 6:54 am, edited 1 time in total.