Page 1 of 3

"Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Sun Aug 09, 2015 3:57 pm
by Artmutito
Hallo erst mal!

"Letzte Bearbeitung" (inkl. Datum) soll direkt unter die Überschrift/Seitentitel.

1. Ist das möglich?
2. Kann dann auch noch die Uhrzeit ausgebledet werden?

Vielen Dank, Artmutito

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Sun Aug 09, 2015 5:13 pm
by cmb
Artmutito wrote:"Letzte Bearbeitung" (inkl. Datum) soll direkt unter die Überschrift/Seitentitel.
Derzeit leider nicht (da kann man das nur oberhalb der Überschrift platzieren). So wie es ist, wohl nicht die beste Lösung.
Artmutito wrote:Kann dann auch noch die Uhrzeit ausgebledet werden?
Das Format kannst Du in den Spracheinstellungen unter Lastupdate → Dateformat einstellen (einfach ", H:i" entfernen).

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Mon Aug 10, 2015 11:50 am
by lck
Artmutito wrote:"Letzte Bearbeitung" (inkl. Datum) soll direkt unter die Überschrift/Seitentitel.
Möglich wäre es per css.

In den Seiten-Parametern auswählen: Bearbeitungsdatum anzeigen? oben

Template stylesheet.css ergänzen mit:

Code: Select all

#pp_last_update {
    position: relative;
    top: 4em; /* Wert evtl. noch anpassen */
}

#pp_last_update ~ p:nth-of-type(1) {
    margin-top: 4em; /* Wert evtl. noch anpassen */
} 

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Mon Aug 10, 2015 5:22 pm
by Artmutito
@cmb & Ludwig

Klasse, vielen Dank! Werde es so veruchen ;-)

LG Artmutito

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Tue Aug 11, 2015 2:04 pm
by Artmutito
Uhrzeit ist nun - wie gewünscht - weg.

Unter der Seitenüberschrift ging nur mit

"position: relative" hängt das Datum unter den letzten Absatz des Seitentextes. relative bezieht sich vermutlich nicht auf die Überschrift, sondern auf das Ende des Textes.

Habe mit "position: absolute;" jetzt erst mal eine vorübergehnde Lösung, wäre aber dankbar für bessere Ideen.

LG Artmutito

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Tue Aug 11, 2015 4:13 pm
by cmb
Artmutito wrote:"position: relative" hängt das Datum unter den letzten Absatz des Seitentextes. relative bezieht sich vermutlich nicht auf die Überschrift, sondern auf das Ende des Textes.
relative bezieht sich normalerweise auf die Position, die das Element hätte, wenn es statisch positioniert wäre. Das top:4em sollte es also einfach 4em weiter unten anzeigen. Ich könnte mir aber vorstellen, das da etwas anderes interferiert.

Insgesamt erscheint mir eine CSS-Lösung aber recht fragil. Wenn z.B. die Seitenüberschrift mehrere Zeilen belegt, dann passt der Offset vermutlich nicht mehr.

Die sauberste Lösung wäre das bereits per PHP in der gewünschten Reihenfolge auszuliefern, aber das ist nicht ganz ohne. Recht einfach geht es mit JavaScript, was aber natürlich nur klappt, wenn JavaScript auch verfügbar ist.

Probier mal folgenden Code in cmsimple/userfuncs.php:

Code: Select all

<?php

$bjs .= <<<SCRIPT
<script type="text/javascript">
(function () {
    var update = document.getElementById("pp_last_update");
    
    if (update) {
        var heading = update.nextSibling;
        while (heading.nodeType != 1) {
            heading = heading.nextSibling;
        }
        update.parentNode.insertBefore(heading, update);
    }
}());
</script>
SCRIPT;
 

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Wed May 08, 2019 3:32 pm
by mhz
Hallo,
meine weitergehende Frage passt auch zum Punkt.
Bei mit wird bei "Letzte Bearbeitung" dies so angezeigt: 7. Mai 2019 18:29
Wie bekomme ich es hin, dass hinten noch Uhr ergänzt wird, also so: 7. Mai 2019 18:29 Uhr
LG mhz

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Wed May 08, 2019 5:22 pm
by lck
mhz wrote:
Wed May 08, 2019 3:32 pm
Wie bekomme ich es hin, dass hinten noch Uhr ergänzt wird, also so: 7. Mai 2019 18:29 Uhr
Das einfachste wäre wohl per CSS. Template stylesheet.css ergänzen mit:

Code: Select all

#pp_last_update time:after {
	content: "Uhr";
	padding-left: 3px;
}
In den Spracheinstellungen von CMSimple_XH ist dafür kein Feld vorgesehen. Man kann lediglich in der Konfiguration (ganz am Ende) bei FORMAT > Time, none, short, medium, long und full auswählen. Standard ist short.
Bei 'medium' werden auch die Sekunden angezeigt, bei 'long' noch zusätzlich (momentan) MESZ und bei 'full' Mitteleuropäische Sommerzeit.

Man könnte den Text auch in ./plugins/page_params/index.php (ab Zeile 126) ergänzen, aber das wäre nicht updatesicher.

Code: Select all

        $temp = '<div id = "pp_last_update">'
            . $plugin_tx['page_params']['last_edit'] .  ' '
            . '<time datetime="' . date('c', $pd_current['last_edit']) . '">'
            . XH_formatDate($pd_current['last_edit'])
            . '</time></div>';

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Wed May 08, 2019 7:03 pm
by mhz
Danke! - Klappt wunderbar!
Aufgrund der fehlenden Update-Sicherheit habe ich mich für die Template-css-Erweiterung entschieden.
LG mhz

Re: "Letzte Bearbeitung" soll direkt unter den Seitentitel

Posted: Tue May 14, 2019 9:37 pm
by cmb
lck wrote:
Wed May 08, 2019 5:22 pm
In den Spracheinstellungen von CMSimple_XH ist dafür kein Feld vorgesehen. Man kann lediglich in der Konfiguration (ganz am Ende) bei FORMAT > Time, none, short, medium, long und full auswählen. Standard ist short.
Bei 'medium' werden auch die Sekunden angezeigt, bei 'long' noch zusätzlich (momentan) MESZ und bei 'full' Mitteleuropäische Sommerzeit.
Hierbei ist immer zu berücksichtigen, dass diese Einstellung nur wirksam ist, wenn die Intl-Extension von PHP geladen wurde (ansonsten befindet sich eine alternative Einstellmöglichkeit in den Spracheinstellungen).

Auf jeden Fall bin ich mit der jetzigen Variante nicht wirklich glücklich. Zum einen eben, weil es mit bzw. ohne Intl-Extension sehr unterschiedlich ist; zum anderen, weil die Vorgaben doch nicht unbedingt gefallen. Da könnte also durchaus nachgebessert werden. Wollte man die volle Power des IntlDateFormatter nutzen, dann könnte man dessen $pattern-Parameter durchschleifen; ich schätze, dann blieben keine Sonderwünsche mehr offen. Alternativ könnte man natürlich auch überlegen, auf die Intl-Extension ganz zu verzichten (obwohl ich das im Allgemeinen eher problematisch finde).