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.