WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
Also, ein Template sollte möglichst so anfangen, damit es keine Probleme gibt:
<html lang="de-DE">
<head>
<?php simplepagehead(); ?>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
Korrekt?
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ja, das wäre gut.
Sonst muss man in den sauren Apfel beißen und die Platzhalter setzen. (Gegenwärtiger Stand)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Ich muss ehrlich sagen, von den Platzhaltern bin ich auch kein Freund. Ich setze die nur ganz selten ein und muss jedes Mal nachschauen, wie die anzugeben sind.
Ich schaue mir dann die nächsten Tage die Templates auf templates.wbce.org an, die Änderung ist ja ggf. schnell gemacht.
Was ist mit nicht-responsiven Templates? Muss man da irgend einen Dummy-Meta-Tag einfügen?
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Nein, es geht nicht darum, dass ein bestimmtes META Tag vorhanden ist.
In der Regel gibt es ja schon META Tags im head. Mindestens das meta description ist immer vorhanden.
Wir haben eben das automatische Verpflanzen der PLATZHALTER so geregelt, dass die HEAD TOP Platzhalter nach dem letzten Meta Tag verpflanzt werden und die HEAD BTM vor dem schließenden head tag.
Gruß,
Christian
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
wenn simplepagehead benutzt wird, ist das description-metatag im tempate aber nicht vorhanden.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Echt wahr?
Ist das sinnvoll? Oder sinful?
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Es ist sinnvoll, weil nur so die Description bei Modulen, die eigene Seiten generieren, wie NWI, OfA, Bakery etc. entsprechend befüllt wird. Sonst steht da immer nur die selbe Description der Seite.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ah, jetzt verstehe ich, was Du meinst. Nicht IM Template, sondern über die simplepagehead Funktion. Aber es ist im DOM.
Du musst Dir das so vorstellen, dass die OutputFilter erst NACH den Funktionen zum Einsatz kommen. Also die MetaTags wurden bereits von SPH in den DOM gesetzt, erst jetzt kommt der OpF und schaut nach, ob die Platzhalter da sind. Wenn nicht, verpflanzt er sie.
Gruß,
Christian
Beitrag geändert von stefanek (16.07.2019 21:12:09)
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Ach so.
Ich denke, das Problem bei älteren/anderen Templates ist dann, dass die sehr oft so aussehen:
<?php if(function_exists('simplepagehead')) {
simplepagehead();
} else { ?>
<title><?php page_title(); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php if(defined('DEFAULT_CHARSET')) { echo DEFAULT_CHARSET; } else { echo 'utf-8'; }?>" />
<meta name="description" content="<?php page_description(); ?>" />
<meta name="keywords" content="<?php page_keywords(); ?>" />
<?php }
if(function_exists('register_frontend_modfiles')) {
register_frontend_modfiles('css');
register_frontend_modfiles('jquery');
register_frontend_modfiles('js');
} ?>
<link href="<?php echo $this_templatedir; ?>/editor.css" rel="stylesheet" type="text/css" />
<link href="<?php echo $this_templatedir; ?>/template.css" rel="stylesheet" type="text/css" />
<meta name="viewport" content="width=device-width, initial-scale=1">
Und da kommt dann die Insert-Klasse nicht mit zurecht.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
Ja, so ungefähr.
Es ist nicht die Insert-Klasse sondern der OpF der die Platzhalter setzt.
Die Insert-Klasse setzt dann die Dateien an die Stelle der Platzhalter.
Aber im Prinzip ist der Code genau der, der verursacht, dass Platzhalter NACH den zu Fuss verlinkten Scripts und Stylesheets gesetzt werden.
Der Code müsste also eher so:
<?php if(function_exists('simplepagehead')) {
simplepagehead();
} else { ?>
<title><?php page_title(); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=<?php if(defined('DEFAULT_CHARSET')) { echo DEFAULT_CHARSET; } else { echo 'utf-8'; }?>" />
<meta name="description" content="<?php page_description(); ?>" />
<meta name="keywords" content="<?php page_keywords(); ?>" />
<?php } ?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php
register_frontend_modfiles('css');
..........
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
naja, so ungefähr...
simplepagehead() fügt auch schon Platzhalter ein, und zwar genau an der Stelle an der der Aufruf stattfindet. Auch register_frontend_modfiles fügt zunächst nur Platzhalter ein.
Später, wenn der Seitenaufbau abgeschlossen ist, kommt noch der AutoPlaceholder Filter, der sich an den Meta-Tags, am öffnenden und schließenden Head- und Body-Tag orientiert. Dabei greift er auf die von der Insert-Klasse bereitgestellte Methode zurück.
Schließlich werden die Platzhalter vom Insert-Filter befüllt, wobei der eigentliche Filter auch wieder auf die Insert-Klasse zurückgreift. Zum Schluss entfernt der Remove System PH Filter die Platzhalter wieder.
Offline
stefanek
naja, so ungefähr...
simplepagehead() fügt auch schon Platzhalter ein, und zwar genau an der Stelle an der der Aufruf stattfindet. Auch register_frontend_modfiles fügt zunächst nur Platzhalter ein.
Ha!
Das ist es!
Fügen wir da noch
<!--(PH) JS HEAD TOP+ -->
<!--(PH) JS HEAD TOP- -->
<!--(PH) CSS HEAD TOP+ -->
<!--(PH) CSS HEAD TOP- -->
auch noch in den SPH rein.
Dann hat sich das zumindest für alle Templates die diese Funktion verwenden erledigt.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
mrbaseman
done: https://github.com/WBCE/WBCE_CMS/commit … eaff510f99
puhh... nach der Beta-Phase tut sich um Größenordnungen mehr als während der Beta-Phase
Offline
stefanek
uups. Weiter unten ist vielleicht besser:
https://github.com/WBCE/WBCE_CMS/commit … 57dd1f0538
Offline
stefanek
Ja, sehr cool.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
ja. Das war jetzt mal richtig produktiv. Jeder denkt an der Vorlage des jeweils anderen wieder ein Stückchen weiter und so kommt am Ende eine Lösung raus auf die beide allein wahrscheinlich nicht (oder zumindest nicht so schnell) gekommen wären.
Aber ich muss zugeben, der Ablauf wie die Filter und die Queues ineinander greifen ist schon recht komplex geworden. Und in dem obigen Post bin ich ja noch gar nicht darauf eingegangen wie die Insert Queues überhaupt befüllt werden, auf den move stuff und den replace stuff filter und vieles mehr
Offline
Ich will mal einen Bekannten zitieren: "Keinen interessiert der Code."
Ist aber schon komplex.
Mein erster Prototyp bestand bevor diese Platzhalter eingeführt wurden und hat keine Platzhalter benötigt.
Ist doppelt gemoppelt.
Aber es funktioniert.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Ich denke wir sind hier mit allem fertig soweit.
issue #434 seh ich gerade noch. Gabs dafür schon einen Fix?
Offline
Wie es voreingestellt ist, weiß ich nicht, aber das Speichern funktioniert jetzt so, dass der Check drin bleibt.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
florian
und noch ne Korrektur an der Reihenfolge: https://github.com/WBCE/WBCE_CMS/commit … fb4316093f
Danke Christian für den Hinweis per PM.
Offline
florian, stefanek, klawin
Getestet, funktioniert. Keine Probleme mit dem o.g. oder anderen Templates.
Code allein macht nicht glücklich. Jetzt spenden!
Offline
stefanek, mrbaseman
Das nenne ich mal TGemeinsam schafft man mehr."
Nochmal danke an Böseröser für das Reporten des Bugs. So konnten wir das endgültig ausräumen.
“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale
Offline
Ich empfehle euch anstatt \n lieber PHP_EOL zu verwenden.
Nicht kritisch zwar, hier aber noch paar Details: https://stackoverflow.com/questions/681 … eol-in-php
Beitrag geändert von rjgamer (17.07.2019 09:37:16)
Offline
Beim Schreiben in files ist das wichtig. Beim Output zum Clienten, zumindest wenn es HTML-Code ist eher nicht. Man könnte die Zeilenumbrüche auch ganz weg lassen, zumal der remove system ph filter (wenn er aktiv ist) das eh wieder alles raus wirft. Wenn man den deaktiviert, verbessern die Umbrüche aber die Lesbarkeit beim Debuggen
Offline
Nur der Vollständigkeit halber.
The element containing the character encoding declaration must be serialized completely within the first 1024 bytes of the document.
https://html.spec.whatwg.org/multipage/ … ml#charset
Für den IE (zumindest für ältere Versionen) ist es wichtig, dass x-ua-compatible vor allem anderen kommt.
Ich habe eine Amazon-Wishlist. Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal
Offline