WebsiteBaker Community Forum

WebsiteBaker Support (2.12.x) => General Help & Support => Hilfe & Support (deutsch) => Topic started by: evaki on June 22, 2019, 02:59:47 PM

Title: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 22, 2019, 02:59:47 PM
Code: [Select]
There was an uncatched exception malformed document created in line (67) of (\modules\output_filter\filters\filterCssToHead.php):Sowas erhält man bei fehlendem <head></head>.
Da in einem speziellen Fall der Abschnitt nicht vorhanden ist und auch nicht sein soll, bräuchte ich eine Lösung für das Problem. Gibt's irgendwo 'nen Schalter, oder muß man am Core rumfummeln?

Ist schon klar: <head> in html = Pflicht, Trotzdem braucht's für Experimente und Testerei manchmal "Extremtrennung" von Code und Content. (Hier wird gerad' wieder mit xml experimentiert)
Ist wieder so'n Fall, wo ich keinen Wächter für'n Code, hier Template, brauche.

Browsern war das schon immer egal, statt html-Elemente Text zu lesen.  :?
MfG. Evaki
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: dbs on June 22, 2019, 03:20:00 PM
Hatten wir letztens erst hier irgendwo im Forum.
/modules/output_filter/filters/index.php Zeile 29

Code: [Select]
// 'CssToHead',
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 22, 2019, 03:23:06 PM
Danke, danke, das ging ja schnell. Dein Tip ohne "Fragen Sie Ihren Arzt oder Apotheker"?
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: dbs on June 22, 2019, 03:28:30 PM
Bin kein Dev.
Darum: alles auf eigene Gefahr.  8)
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 22, 2019, 03:31:33 PM
OK.

Ist m.E. wieder so'n Fall, wo's gut gemeint (isch helf disch), aber leider nicht abschaltbar ist.
Kann man das "irgendwie" einstellbar machen? Für die meisten Anwender ist das ja nützlich, sich über sowas keine Gedanken machen zu müssen - genau!  :-D

Hier wird z.Z. viel "gespielt", so mit mixed Contend, wo dann solche Hilfen unerwünschte Auswirkungen haben, bis zu massiven Codeänderungen. Da werden dann entsprechende Vorlagen u.U. unbrauchbar, die Arbeit dann für die Tonne.
MfG. Evaki
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: Luisehahne on June 22, 2019, 05:01:25 PM
Code: [Select]
There was an uncatched exception malformed document created in line (67) of (\modules\output_filter\filters\filterCssToHead.php):Sowas erhält man bei fehlendem <head></head>.
Da in einem speziellen Fall der Abschnitt nicht vorhanden ist und auch nicht sein soll, bräuchte ich eine Lösung für das Problem. Gibt's irgendwo 'nen Schalter, oder muß man am Core rumfummeln?

Ist schon klar: <head> in html = Pflicht, Trotzdem braucht's für Experimente und Testerei manchmal "Extremtrennung" von Code und Content. (Hier wird gerad' wieder mit xml experimentiert)
Ist wieder so'n Fall, wo ich keinen Wächter für'n Code, hier Template, brauche.

Browsern war das schon immer egal, statt html-Elemente Text zu lesen.  :?
MfG. Evaki

Auch nicht fürn Test werde ich die WB Sicherheit und deren Exceptions aushebeln.
Da bekommt als Entwickler Herzflimmern und normal sollte jeder Webdesigner Kopfschmerzen bekommen.

Dietmar
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 22, 2019, 05:11:12 PM
Quote
Entwickler Herzflimmern und normal sollte jeder Webdesigner Kopfschmerzen
Herzflimmern, nur wegen dieser Filterroutine, die nur Leute brauchen, die nicht in der Lage sind ein rudimentäres html-Template mit gescheiten css-Einträgen an der richtigen Stelle hinzubekommen?
Webdesigner wissen schon was sie tun.
Auch weil sie bei mixed Krams machmal auch auf unkonventionelle includes angewiesen sind.
html5-includes funktionieren auch nicht immer...
So zumindest die Aussagen hierzu, wie das konkret aussieht, weiß ich aktuell nicht.
Jedenfalls sollte Trennung von html und Code weiterhin Ziel bleiben, in diesem Fall wuchtet ein Filter den css-Kram nach <head>, was in Ordnung ist, wenn's gewünscht ist. Ist es aber nicht. Andere Filter sind ja auch mit Ein/Aus steuerbar.

War das "früher............." nicht auch mal so? Mir schwant da was.

Warum nun ein CSS z.B. im Footer ein Sicherheitproblem in WB darstellen soll, kann ich nicht nachvollziehen.

Ach ja, frühe Dokumente des Internets waren sehr oft nur als Textdatei mit html.extention zu sehen - fast wie heute mit html5, wo ja nur rudimentäre Angaben drin sein brauchen.
MfG. Evaki
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 22, 2019, 06:24:47 PM
Code: [Select]
Description for Filters in Module Output-Filter - WB 2.10.0 & WB 2.8.3 SP7 + Patch
CSStoHead (removed)
this Filter is now included in the WB-Core and removed from the Output-Filter-Module. No further Action needed
Dieser Filter wurde direkt in WB eingebunden und im Modul Output-Filter entfernt. Keine weitere Aktion nötig.

Was gestern oder vorgestern noch richtig bzw. sinnvoll sein konnte, muß es heute nicht unbedingt mehr sein. Das sollte auch beim letzten DEV auf dieser Erde mittlerweile angekommen sein.

Der Trend bei diversen CMS geht eindeutig in Richtung Öffnung/Schnittstellen, Cooperation.
Man kann sich natürlich auch einbuddeln - solange noch welche mitbuddeln, geht's ja.
MfG. Evaki

ps. Der Hinweis zur Deaktivierung der entsprechenden Zeile findet sich im Forum nicht unbedingt selten. Warum kein Aufschrei: SICHERHEITSGEFÄHRDU NG? Der Russe kommt, Trumpi wg Ramstein und Dröhnung- ähm Drohnen.
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: dbs on June 22, 2019, 06:36:23 PM
Zu viele Schalter können aber auch zu viel sein.
Wäre es nicht besser dem Filter zu sagen: versuch nicht in den head zu schreiben/schieben, wenn du keinen findest.
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 22, 2019, 07:55:04 PM
Sehr gute Idee!  (Y)
Das Naheliegende sieht man nicht immer sofort. Das ist wenigstens konstruktiv.
"Geht nicht" kenn ich eigentlich nur von deutschen Handwerkern.  :-D
Besser als im Core rum zu machen. Wir wollen keine separate WB-Version.
Weiß zwar noch nicht wie, hoffe aber, daß sich jemand findet.
Wer Droplets basteln kann, könnte möglicherweise auch so'n Filter...
-----------------
Ups, bekam soeben die Rückmeldung, daß CssToHead grundsätzlich nicht gebraucht wird, wenn CSS richtig - sprich valide - plaziert wird/ist.
Bei den aktuellen Versuchen um mixed-content's geht's in diesem Zusammenhang anscheinend auch um zusammengesetzte Templates, Abschnitte werden jeweils unterschiedlich generiert bzw. zusammengefügt. Das scheint dann den Fehler auszulösen.

So, nun ist Wochenende (bis sich der nächste meldet  :roll:

MfG. Evaki
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: dbs on June 23, 2019, 11:01:54 AM
Da sind 2 Funktionen in dem Filter.
Innerhalb dieser Funktionen könnte man zuerst fragen ob es head gibt. Wenn nicht, dann kommt es ungefiltert wieder raus.
Beispiel erste Funktion. Die if-Abfrage umschließt alles außer return $sContent;

Code: [Select]
<?php
    
function _doFilterCssToHead($sContent) {
        if ( 
stripos($sContent,'</head>') !== false ) {
            
// move css definitions into head section
            
$regexPattern "#<body.*(?P<css_tag>(?:<style[^>]+>.*?</style>)|(?:<link[^>]+/{0,1}>)|(?:<link[^>]+>.*?</link>))#isxU";
            
$cssStyles = [];

            
//save all <style/link>-tags in $cssStyles and remove from content
            
$sContent preg_replace_callba ck($regexPattern, function($match) use(&$cssStyles){ $cssStyles[] = $match['css_tag']; return str_replace($match['css_tag'],'',$match[0]); }, $sContent, -1);

            
//append contents from $cssStyles to <head>-section
            
$sContent preg_replace('#</head>#i'PHP_EOL.implode(PHP_EOL$cssStyles).PHP_EOL.'</head>'$sContent);
        }
        return 
$sContent;
    }

Analog auch in der zweiten Funktion machen.
Ist eigentlich sowas von logisch, dass man es einbauen müsste im Core.
Aber irgendwas muss ich übersehen, denn die Devs lieben Logik.  :)
Wahrscheinlich noch logischer erst zu fragen ob vorhanden und dann erst in die Funktion. Also einmal nur außenrum statt zweimal drinnen.
 
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: evaki on June 23, 2019, 11:45:56 AM
Quote
denn die Devs lieben Logik.
Jep, auch wenn ich kritisiere, bohre, und naheliegende Lösungen andenke - mehr kann ich selbst ja meist auch nicht -, weiß ich, daß die DEV dann doch abgesehen vom Durchblick, natürlich den Überblick, also den Blick auf's System haben. Somit warte ich immer neugierig auf Antworten der DEV auf das Vorgetragene, und freue mich auf die oft darauf folgenden Einsichten/Erkenntnisse. So haben wir alle etwas davon.
MfG. Evaki
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: dbs on June 26, 2019, 10:41:46 PM
Tja, sieht nicht so aus als ob hier jemand antwortet.
Sieht auch so aus als ob die Logik schon drin ist. Nennt sich Exception.
Ich fürchte damit hat es sich dann.
Title: Re: CssToHead abschaltbar? - zumindest für'n Test
Post by: DarkViper on June 26, 2019, 11:28:18 PM
Zur Zeit ist mir persönlich die Wohnungssuche und alle Stunde ein kaltes Fussbad mit Abstand das Wichtigste...

Und bevor Dietmar die 2.12.2 nicht fertig und veröffentlicht hat, wird es von der Seite wohl auch keine Änderungen mehr geben.