Page 6 of 12
Re: Code - Fragen
Posted: Fri Mar 08, 2019 11:50 am
by cmb
lck wrote: ↑Fri Mar 08, 2019 10:50 am
Woran kann ich in einem Template erkennen, welche PHP-Version mindestens erforderlich ist oder gibt es dafür ein Tool?
Es gibt
PHP CompatInfo, dass auch von CMSimple_XH
verwendet wird.
Verwendungsbeispiel für lck_overlay_02:
phpcompatinfo.phar herunter laden, und im Templateverzeichnis ablegen. Im Templateverzeichnis phpcompatinfo.json mit folgendem Inhalt anlegen:
Code: Select all
{
"source-providers": [
{
"in": ". as current",
"exclude": [
],
"name": "/\\.(php|htm)$/"
}
],
"plugins": [
],
"analysers": [
],
"services": [
]
}
Dann auf der Kommandozeile (cmd.exe):
Code: Select all
cd template\lck_overlay_02
php phpcompatinfo-5.1.0.phar analyser:run --alias current
Das produziert dann folgende Ausgabe:
Code: Select all
Data Source Analysed
Directories 1
Files 2
Errors 0
Extensions Analysis
Extension Matches REF EXT min/Max PHP min/Max PHP all
Core Core 4.0.0
standard standard 4.0.0 4.0.0
Total [2] 4.0.0
Namespaces Analysis
Namespace Matches REF EXT min/Max PHP min/Max PHP all
+global Core 4.0.0
Total [1] 4.0.0
No interface found
No trait found
No class found
Functions Analysis
Function Matches REF EXT min/Max PHP min/Max
XH_printUrl 1 user 4.0.0
content 1 user 4.0.0
head 1 user 4.0.0
include_jQuery 1 user 4.0.0
is_readable 2 standard 4.0.0 4.0.0
languagemenu 1 user 4.0.0
lastupdate 1 user 4.0.0
li 1 user 4.0.0
locator 1 user 4.0.0
loginlink 1 user 4.0.0
newsbox 2 user 4.0.0
onload 1 user 4.0.0
sitename 1 user 4.0.0
submenu 1 user 4.0.0
Total [14] 4.0.0
Constants Analysis
Constant Matches REF EXT min/Max PHP min/Max
XH_ADM 1 user 4.0.0
Total [1] 4.0.0
No condition found
Requires PHP 4.0.0 (min), PHP 4.0.0 (all)
Re: Code - Fragen
Posted: Fri Mar 08, 2019 12:04 pm
by frase
cmb wrote: ↑Fri Mar 08, 2019 11:50 am
Es gibt PHP CompatInfo, dass auch von CMSimple_XH verwendet wird.
Wow. Wieder was gelernt.
Ich nehme mal an, dass Ludwig im Moment seine Templates für das Repo vorbereitet.
In diesem Fall würde ich aber einfach nur die erforderliche PHP-Version der getesteten XH-Version angeben.
Nicht, dass irgendjemand denkt: Ah, das läuft ja mit PHP4 ... und versucht dann XH auf PHP4 zu installeren
Re: Code - Fragen
Posted: Fri Mar 08, 2019 6:11 pm
by lck
cmb wrote: ↑Fri Mar 08, 2019 11:50 am
Dann auf der Kommandozeile (cmd.exe):
Code: Select all
cd template\lck_overlay_02
php phpcompatinfo-5.1.0.phar analyser:run --alias current
Besten Dank Christoph. Ganz so einfach ging es bei mir doch nicht. Ins Templateverzeichnis wechseln ok, aber anstatt
Code: Select all
php phpcompatinfo-5.1.0.phar analyser:run --alias current
musste ich den absoluten Pfad zu php.exe angeben (*Nachtrag: Ich verwende portable Versionen von Xampp, dewegen muss der komplette Pfad angegeben werden)
Code: Select all
d:\xampp_7.3.2\php\php.exe phpcompatinfo-5.1.0.phar analyser:run --alias current
frase wrote: ↑Fri Mar 08, 2019 12:04 pm
Ich nehme mal an, dass Ludwig im Moment seine Templates für das Repo vorbereitet.
Das hat mich einfach grundsätzlich interessiert und ist bestimmt auch für andere interessant.
frase wrote: ↑Fri Mar 08, 2019 12:04 pm
In diesem Fall würde ich aber einfach nur die erforderliche PHP-Version der getesteten XH-Version angeben.
Nicht, dass irgendjemand denkt: Ah, das läuft ja mit PHP4 ... und versucht dann XH auf PHP4 zu installieren
Ja klar. PHP 4 wird wohl kein Hoster mehr verwenden, hoffe ich doch
.
Re: Code - Fragen
Posted: Wed Mar 13, 2019 9:18 pm
by lck
https://wiki.cmsimple-xh.org/doku.php/userprelude.php wrote:
userprelude.php
Since CMSimple_XH 1.6.5 the file cmsimple/userprelude.php will be included before cms.php, if it exists. This offers the possibility to do some early customization without the need to modify index.php (what's especially nice for multilingual websites with multiple index.php). In particular, this file can be used for a maintenance mode by exiting the script execution before cms.php would be included.
Kann mir jemand dazu mal ein konkretes Beispiel geben, anhand eine Wartungsseite. Wie muss diese Datei aufgebaut sein?
Meine bisherigen Versuche sind gescheitert, entweder wurde der Text nur vor dem Inhalt der Seite ausgegeben oder die Seite wurde ausgegeben, aber am Ende der Seite erhielt ich folgende Meldung, obwohl die Datei
mit <?php beginnt.
Header-Information kann nicht geändert werden - die Header wurden bereits verschickt (die Ausgabe begann in ...\cmsimplexh172\cmsimple\userprelude.php:1)
Re: Code - Fragen
Posted: Wed Mar 13, 2019 9:33 pm
by olape
Hier geht es darum, code einzubinden. Weniger darum, direkte Ausgaben zu tätigen.
Zum Beispiel bbclone.
Dieser Code müsste sonst in die index.php, bei mehrsprachigen Sites in die index.php jeder Sprache.
Über diesen Weg muss man den Code nur einmalig einbinden.
Ausserdem ist dieser Weg Updatesicher.
Nachtrag.
Als Wartungsmodus kann man natürlich eine Ausgabe bringen.
Danach müsste es aber beendet werden (exit;)
Denn dabei soll es ja nicht mehr weiter gehen.
Re: Code - Fragen
Posted: Wed Mar 13, 2019 10:15 pm
by cmb
lck wrote: ↑Wed Mar 13, 2019 9:18 pm
Kann mir jemand dazu mal ein konkretes Beispiel geben, anhand eine Wartungsseite. Wie muss diese Datei aufgebaut sein?
Olaf hat es bereits sehr gut zusammengefasst. Aber ein kleines konkretes Beispiel:
Code: Select all
<?php header('HTTP/1.1 503 Service Unavailable')?>
<html>
<!-- Wartungsseiteninhalt -->
</html>
<?php exit?>
Re: Code - Fragen
Posted: Thu Mar 14, 2019 10:49 am
by lck
olape wrote: ↑Wed Mar 13, 2019 9:33 pm
Als Wartungsmodus kann man natürlich eine Ausgabe bringen.
Danach müsste es aber beendet werden (exit;)
Genau das war die Lösung.
cmb wrote: ↑Wed Mar 13, 2019 10:15 pm
Olaf hat es bereits sehr gut zusammengefasst. Aber ein kleines konkretes Beispiel:
Code: Select all
<?php header('HTTP/1.1 503 Service Unavailable')?>
<html>
<!-- Wartungsseiteninhalt -->
</html>
<?php exit?>
Könnte man ein oder zwei Beispiele
hier mit aufnehmen?
Re: Code - Fragen
Posted: Mon Aug 12, 2019 9:07 am
by lck
Betrifft
Onepage_XH.
Der Content einer Onepage-Seite wird ja so ausgegeben:
Code: Select all
<div id="Seitenname" class="onepage_page">
<div class="onepage_page_inner">
...
</div>
</div>
Wäre es möglich die Ausgabe per PHP-Code in der template.htm so anzupassen?
Code: Select all
<div class="onepage_page">
<div class="onepage_page_inner">
<div id="Seitenname">
<h1><a href="Seitenname">Seitentitel</a></h1>
<div class="onepage_page_content">
...
</div>
</div>
</div>
</div>
Eine H1 am Anfang der Seite müsste hierbei natürlich zwingend sein.
Die zusätzlichen div's werden wohl kein großes Problem sein, aber die H1 suchen und dementsprechend zu erweitern, oder?
*Korrektur: würde so auch passen (also nur H1 erweitern und darunter ein zusätzliches div mit einer Klasse onepage_page_content)
Code: Select all
<div id="Seitenname" class="onepage_page">
<div class="onepage_page_inner">
<h1><a href="Seitenname">Seitentitel</a></h1>
<div class="onepage_page_content">
...
</div>
</div>
</div>
Re: Code - Fragen
Posted: Sat Aug 24, 2019 3:23 pm
by lck
lck wrote: ↑Mon Aug 12, 2019 9:07 am
*Korrektur: würde so auch passen (also nur H1 erweitern und darunter ein zusätzliches div mit einer Klasse onepage_page_content)
@Christoph: Geht das oder eher nicht? Wenn nein, dann löse ich das anders. Für eine kurze Antwort wäre ich dankbar, damit ich daran weiterarbeiten kann.
Re: Code - Fragen
Posted: Sat Aug 24, 2019 5:58 pm
by cmb
lck wrote: ↑Mon Aug 12, 2019 9:07 am
Betrifft
Onepage_XH.
[…]
Wäre es möglich die Ausgabe per PHP-Code in der template.htm so anzupassen?
Wenn die Anpassung in template.htm erfolgen soll, dann müsste man ein alternatives Onepage_content() zur Verfügung stellen. Die
eigentliche Implementierung ist kein Hexenwerk, so dass man das mit Copy&Paste und ein bisschen Anpassung machen könnte.
Falls das Template sowieso JS erfordern sollte, dann würde ich die Anpassung wohl eher dort vornehmen.