Hi!
Also das kann man alles größenteils per Smarty-Templating lösen.
Als erstes benutzt Du das Plugin "Erweiterte Eigenschaften"und erstellst ein neues Custom Field (vergessen wie das in deutsch lautet), das Du "Schutz" nennst. Wenn Du dann einen Artikel erstellst, hast Du im unteren Bereich dein Feld "schutz". Für die Artikel die geschützt werden sollen trägst Du dann "Ja" ein.
Dann editierst Du die entries.tpl datei deines templates (am besten vorher ein eigenes template erstellen und die benötigten dateien von templates/default/ rüberkopieren).
In der entries.tpl suchst Du Dir folgendes:
Code: Select all
<div class="serendipity_entry_body">
{$entry.body}
</div>
{if $entry.is_extended}
<div class="serendipity_entry_extended"><a id="extended"></a>{$entry.extended}</div>
{/if}
{if $entry.has_extended and not $is_single_entry and not $entry.is_extended}
<br /><a href="{$entry.link}#extended">{$CONST.VIEW_EXTENDED_ENTRY|@sprintf:$entry.title}</a><br />
{/if}
Dieser Teil ist dafür zuständig, den erweiterten teil des Artikels zu zeigen.
Nun fügst Du eine Abfrage ein:
Code: Select all
<div class="serendipity_entry_body">
{$entry.body}
</div>
{if $entry.is_extended AND $is_logged_in}
<div class="serendipity_entry_extended"><a id="extended"></a>{$entry.extended}</div>
{/if}
{if $entry.has_extended and not $is_single_entry and not $entry.is_extended}
{if $is_logged_in}
<br /><a href="{$entry.link}#extended">{$CONST.VIEW_EXTENDED_ENTRY|@sprintf:$entry.title}</a><br />
{else}
<br /><a href="http://www.deineseite.de/index.php?serendipity[subpage]=adduser">Bitte einloggen, um zu lesen</a><br />
{/if}
Zusätzlich erstellst Du noch eine config.inc.php datei in deinem template verzeichnis mit diesem inhalt:
Code: Select all
<?php
$serendipity['smarty']->assign('is_logged_in', serendipity_userLoggedIn());
Dieser Code sorgt für eine neue smarty variable, mitder du prüfen kannst,ob ein user eingeloggt ist. Die Änderungen am Template sorgen dann dafür, dass der erweiterte eintrag nur in solchen fällen gezeigt wird.
Viele Grüße,
Garvin