Skip to content
== ERROR-REPORT (BETA/ALPHA-BUILDS) ==

Notice: Only variable references should be returned by reference in /var/www/virtual/bauigel/bernd.distler.ws/include/db/mysqli.inc.php on line 101.
For more details set $serendipity['production'] = 'debug' in serendipity_config_local.inc.php to receive a stack-trace.

2k11 um Einzelnutzer-Modus erweitern

Ich weiß, Matthias hört es nicht gerne, aber ich bin immernoch der Meinung, dass 2k11 einen Einzelnutzer-Modus benötigt, da der überwiegende Teil der Nutzer sein Blog alleine verwaltet/befüllt. Da finde ich so Dinge wie Name des Autors einfach überflüssig. Daher bastel ich jetzt an einer Konzeptstudie, an welchen Stellen man was ändern/erweitern muss, damit man diesen Modus hat.

Ergänzungen werden nach und nach wohl eingepflegt, damit die Sache ordentlich dokumentiert ist.

Sollte etwas unklar sein oder Verbesserungsvorschläge, einfach in die Kommentare damit smile

Update am 15:10.2012: Code für Vorlage der statischen Seiten ergänzt

config.inc.php

Hier muss man in den Variablen einen neuen array am Ende einfügen. Bitte darauf achten, dass nach dem vorhergehenden array ein Komma gesetzt werden muss, sonst läd die Seite nicht mehr.

  array(
       'var' => 'use_corenav',
       'name' => TWOK11_USE_CORENAV,
       'type' => 'boolean',
       'default' => true
   ),
   array(
       'var' => 'single_user',
       'name' => TWOK11_SINGLEUSER,
       'type' => 'boolean',
       'default' => false
   )
);

lang_de.inc.php

Damit in den Template-Einstellungen ein ordentlicher Text steht, muss noch die Sprachvariable definiert werden…

@define('TWOK11_SINGLEUSER', 'Einzelnutzer-Modus (blendet den Autor des Artikels aus und legt das Datum in die Fußzeile)');

Diese Änderung muss bei Bedarf in allen Dateien mit der Bezeichnung lang_*.inc.php ergänzt werden, natürlich mit passender Übersetzung wink

Achtung: Die Sprachdateien sind sowohl im Hauptverzeichnis (Codierung ISO-8859-1) und im Unterverzeichnis UTF-8 (Codierung UTF-8) zu finden. Ich hatte das übersehen und mich erst gewundert, warum die Variable nicht korrekt dargestellt wurde. Matthias half mir da aber auf die Sprünge smile

entries.tpl

Im header-Bereich muss man einfach die Zeile für Autor und Datum (die Zeile nach h2) um eine if-Abfrage erweitern.

{if not $template_option.single_user}<span class="serendipity_byline block_level"><span class="single_user">{$CONST.POSTED_BY} <a href="{$entry.link_author}">{$entry.author}</a> {$CONST.ON} </span><time datetime="{$entry.timestamp|@serendipity_html5time}" pubdate>{$entry.timestamp|@formatTime:$template_option.date_format}</time>{if $entry.is_entry_owner and not $is_preview} | <a href="{$entry.link_edit}">{$CONST.EDIT_ENTRY}</a>{/if}</span>{/if}

Außerdem muss/sollte man die Fußzeile noch ein wenig erweitern, damit dort sowohl das Datum des Beitrags als auch der Bearbeiten-Link auftauchen.

Dazu schreibt man nach

<footer class="clearfix">
das Datum rein

{if $template_option.single_user}<time datetime="{$entry.timestamp|@serendipity_html5time}" pubdate>{$entry.timestamp|@formatTime:$template_option.date_format}</time> | {/if}

Für den Bearbeiten-Link schreibt man im footer-Bereich vor die Zeile

{$entry.add_footer}

noch

{if $template_option.single_user and $entry.is_entry_owner and not $is_preview} | <a href="{$entry.link_edit}">{$CONST.EDIT_ENTRY}</a>{/if}

entries_summary.tpl

In der Artikelübersicht des Archivs bin ich recht rigoros vorgegangen, es wird einfach die gesamte zweite Zeile ausgeblendet. Ich hatte überlegt, das Datum davor oder dahinter ausgeben zu lassen, aber eigentlich macht das keinen Sinn, denn die Artikel sind sowieso nach Alter sortiert und einen Mehrwert bringt das Datum an dieser Stelle dann nicht.

{if not $template_option.single_user}<span class="serendipity_byline block_level"><span class="single_user">{$CONST.POSTED_BY} <a href="{$entry.link_author}">{$entry.author}</a> {$CONST.ON} </span><time datetime="{$entry.timestamp|@serendipity_html5time}" pubdate>{$entry.timestamp|@formatTime:$template_option.date_format}</time></span>{/if}

Wer das Datum vor dem Artikel haben möchte, kann vor dem a-Bereich einfach die folgende Zeile einfügen:

{if $template_option.single_user}<time datetime="{$entry.timestamp|@serendipity_html5time}" pubdate>{$entry.timestamp|@formatTime:$template_option.date_format}</time> {/if}

plugin_staticpage.tpl


Damit auf statischen Seiten der Autor ebenfalls unterdrückt wird, muss man ein paar if-Bedingungen erweitern…

Im footer-Bereich muss man dazu in folgendem Block

{if $staticpage_author and not $template_option.single_user}
    <span class="single_user"><span class="visuallyhidden">{$CONST.POSTED_BY} </span>{$staticpage_author|@escape}
{/if}
{if $staticpage_author AND $staticpage_lastchange and not $template_option.single_user} | </span>{/if}

um die Abfrage

and not $template_option.single_user

erweitern.

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

== ERROR-REPORT (BETA/ALPHA-BUILDS) ==

Notice: Only variable references should be returned by reference in /var/www/virtual/bauigel/bernd.distler.ws/include/db/mysqli.inc.php on line 101.
For more details set $serendipity['production'] = 'debug' in serendipity_config_local.inc.php to receive a stack-trace.

== ERROR-REPORT (BETA/ALPHA-BUILDS) ==

Notice: Only variable references should be returned by reference in /var/www/virtual/bauigel/bernd.distler.ws/include/db/mysqli.inc.php on line 101.
For more details set $serendipity['production'] = 'debug' in serendipity_config_local.inc.php to receive a stack-trace.

Grischa am :

Ich hatte auch schon mal überlegt, ob ich mir nicht mal nen Fork zu Matthias’ Repository auf GitHub mache und daraus ein konfigurierbares 2k11 mache. Da könnte dann auch Deine Option rein, fände ich für mich auch interessant. smile

Es gibt immer mal wieder Optionen, die User gerne hätten, z.B. Header Hintergrund wie bei mir. Matthias hat allerdings eine recht klare Idee, wie 2k11 sein soll, und da passen Optionen wie damals bei BP nicht rein.

Tja.. Bräuchte wohl mal wieder etwas mehr Zeit für S9y. wink

Grischa schrieb auch: Real Time Web für Server

Bernd am :

Hallo Grischa!

Ich hatte auch schon mal überlegt, ob ich mir nicht mal nen Fork zu Matthias’ Repository auf GitHub mache und daraus ein konfigurierbares 2k11 mache. Da könnte dann auch Deine Option rein, fände ich für mich auch interessant.

Wüsste ich wie es geht, hätte ich vermutlich auch einfach einen GIT-Fork gemacht. Aber ich wollte erst mal so für mich probieren ob es geht bzw. wie aufwändig es ist.

Matthias hat allerdings eine recht klare Idee, wie 2k11 sein soll, und da passen Optionen wie damals bei BP nicht rein.

Verständlich, da sich je nach gewünschtem Feature auch der Wartungsaufwand deutlich erhöhen würde. Allerdings muss ich auch sagen, dass ich die jetzige Methode, den Autor per CSS auszublenden nicht besonders hübsch finde, da dazu im Template extra zusätzliche Definitionen aufgenommen werden mussten. Eine Lösung über Smarty finde ich da einfacher und eleganter. Ich bin aber kein Programmierer/Designer, um zu beurteilen, was im Detail an Aufwand hinter meiner Lösung stecken würde. Sie funktioniert einfach für mich. Demzufolge erhebe ich auch keinen Anspruch darauf, dass Matthias das aufnehmen müsste.

Vielleicht findet sich ja doch mal Zeit, dass ein kleiner Fork von 2k11 entsteht. Ich habe das aber (unabhängig meiner nicht vorhandenen GIT-Kenntnisse) immer gescheut, da mir der Aufwand zu groß wäre, die Änderungen am 2k11-Zweig in den Fork aufzunehmen, die ja doch immer mal wieder kommen.

Kommentar schreiben

Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Textile-Formatierung erlaubt
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.
Bewirb einen Deiner letzten Artikel
Dieses Blog erlaubt Dir mit Deinem Kommentar einen Deiner letzten Artikel zu bewerben. Bitte gib Deine Blog URL als Homepage ein, dann wird eine Auswahl erscheinen, in der Du einen Artikel auswählen kannst. (Javascript erforderlich)
Formular-Optionen