Hallo,
gibt es im Gästebuch (Ansicht: Auflistung) eine Möglichkeit (oder eine Variable), die Eintragsnummer mit anzuzeigen ? - Also z.B.: Eintrag Nr. 24?
Wenn ich die Variable $entry.entry_id benutze zeigt er mir zwar die richtige Eintragsnummer an, das funktioniert allerdings nur solange man keinen Eintrag löscht. Bei einem gelöschten Eintrag wird dann die entsprechende ID übersprungen, also z.B. Eintrag Nr. 18, ... Nr.19, ... Nr.21.
Das zweite Problem, das ich habe, ist, daß ich gerne die Smilies nicht über (oder unter) dem Eintragsformular haben möchte, sondern direkt über (oder neben) dem Eintragsfeld.
Gibt's da eine Lösung ?
LG,
Matthias
CMS Made Simple 1.6.1 "Canala"
Guestbook 1.1.12
Smileys 0.2.0
[gelöst] Eintrag-Nr. im Gästebuch
-
- New Member
- Posts: 3
- Joined: Wed Jan 20, 2010 6:20 am
[gelöst] Eintrag-Nr. im Gästebuch
Last edited by Mr.Stringer on Tue Jan 26, 2010 12:07 pm, edited 1 time in total.
Re: Eintrag-Nr. im Gästebuch
Wie sieht denn dein Template für die Anzeige des Gästebuchs aus?
Re: Eintrag-Nr. im Gästebuch
Schau dir mal den Smarty-Syntax für eine foreach-Schleife an
http://www.smarty.net/manual/en/languag ... oreach.php
Speziell den Parameter index - damit solltest du einen Eintragszähler hinbekommen, musst lediglich 1 hinzuaddieren, da der index bei 0 anfängt.
Und das Smileys-Problem sollte sich über ein modifiziertes Template lösen lassen ...
http://www.smarty.net/manual/en/languag ... oreach.php
Speziell den Parameter index - damit solltest du einen Eintragszähler hinbekommen, musst lediglich 1 hinzuaddieren, da der index bei 0 anfängt.
Und das Smileys-Problem sollte sich über ein modifiziertes Template lösen lassen ...
-
- New Member
- Posts: 3
- Joined: Wed Jan 20, 2010 6:20 am
Re: Eintrag-Nr. im Gästebuch
Hallo Cyberman,
danke für den Tip mit dem "index".
Die Variable "iteration" ist im Prinzip das gleiche, nur daß es mit der Zählernummer 1 anfängt.
Leider hilft mir das im Moment nicht ganz weiter, da die Zählung im Gästebuch bei dem obersten Eintrag beginnt d.h. ich habe in Summe z.B. 241 Einträge, und beim 241. Eintrag steht dann: "Eintrag Nr. 1", beim 240. Eintrag steht "Eintrag Nr. 2" ...
Die Variable $paginate.total gibt mir die richtige Eintragsnummer aus !!! - Leider weiß ich nicht wie ich die Variable in einer foreach-Schleife zum "runterzählen" benutzen kann.
Hier noch der Code vom Template:
danke für den Tip mit dem "index".
Die Variable "iteration" ist im Prinzip das gleiche, nur daß es mit der Zählernummer 1 anfängt.
Leider hilft mir das im Moment nicht ganz weiter, da die Zählung im Gästebuch bei dem obersten Eintrag beginnt d.h. ich habe in Summe z.B. 241 Einträge, und beim 241. Eintrag steht dann: "Eintrag Nr. 1", beim 240. Eintrag steht "Eintrag Nr. 2" ...
Die Variable $paginate.total gibt mir die richtige Eintragsnummer aus !!! - Leider weiß ich nicht wie ich die Variable in einer foreach-Schleife zum "runterzählen" benutzen kann.
Hier noch der Code vom Template:
Code: Select all
{foreach from=$entries item=entry name=eintrag}
<div class="cms-guestbook-entry">
<div class="cms-guestbook-entry-header">
<div class="cms-guestbook-entry-sender">
<div class="cms-guestbook-entry-posted">
{$entry.date} | {$entry.time} {$titles.time_hour}
{if $entry.e_mail or $entry.homepage}<br />{/if}
{if $entry.e_mail}
<a href="mailto:{$entry.e_mail}"><img src="uploads/images/mail.png" alt="eMail" border="0" align="top"></a>
{if $entry.homepage} | {/if}
{/if}
{if $entry.homepage}
<a href="http://{$entry.homepage}" target="_blank"><img src="uploads/images/home.png" alt="Homepage" border="0" align="top"></a>
{/if}
</div>
Eintrag Nr. {$smarty.foreach.eintrag.iteration}<br />
Von<span class="cms-guestbook-entry-sendername">{$entry.sender}
</span>
{if $entry.country}aus
<span class="cms-guestbook-entry-country">{$entry.country} :</span>
{/if}
</div>
</div>
<div class="cms-guestbook-entry-text">
{$entry.message}
</div>
</div>
{/foreach}
{if $paginate.total > 0}
<div class="cms-guestbook-pagination">
<div class="cms-guestbook-pagination_header">
{$pagination_message} {$paginate.first}-{$paginate.last} {$pagination_of} {$paginate.total}.<br />
</div>
{if $paginate.total > $paginate.limit}
<div class="cms-guestbook-pagination_nav">
{paginate_prev text=$prev_text} {paginate_middle} {paginate_next text=$next_text}
</div>
{/if}
</div>
{/if}
-
- New Member
- Posts: 3
- Joined: Wed Jan 20, 2010 6:20 am
Re: Eintrag-Nr. im Gästebuch
Des Rätsels Lösung:
mit Suchen und probieren hab ichs rausgekriegt.
Hier die Lösung (falls es noch jemand braucht)
Direkt vor der Schleife:
{foreach from=$entries item=entry name=eintrag}
folgenden Eintrag setzen:
{assign var="eintrnr" value=$paginate.total+1-$paginate.first}
"eintrnr" stellt die Eintragsnummer dar
"$paginate.total" - die Anzahl aller Einträge
"$paginate.first" - der "erste" Eintrag der Seite (z.B: [131-140] wäre $paginate.first die Zahl 131)
Dann an der gewünschten Stelle im Gästebuch (in der foreach-Schleife) den Eintrag:
Eintrag Nr. {$eintrnr}
Als letztes noch vor dem Ende der Schleife {/foreach} noch die Subtraktion:
{assign var="eintrnr" value=$eintrnr-1}
fertig...
Komplett siehts so aus:
{assign var="eintrnr" value=$paginate.total+1-$paginate.first}
{foreach from=$entries item=entry name=eintrag}
{$entry.date} | {$entry.time} {$titles.time_hour}
{if $entry.e_mail or $entry.homepage}
{/if}
{if $entry.e_mail}
{if $entry.homepage} | {/if}
{/if}
{if $entry.homepage}
{/if}
Eintrag Nr. {$eintrnr}
Von{$entry.sender}
{if $entry.country}aus
{$entry.country} :
{/if}
{$entry.message}
{assign var="eintrnr" value=$eintrnr-1}
{/foreach}
{if $paginate.total > 0}
{$pagination_message} {$paginate.first}-{$paginate.last} {$pagination_of} {$paginate.total}.
{if $paginate.total > $paginate.limit}
{paginate_prev text=$prev_text} {paginate_middle} {paginate_next text=$next_text}
{/if}
{/if}
Bis dann...

mit Suchen und probieren hab ichs rausgekriegt.
Hier die Lösung (falls es noch jemand braucht)
Direkt vor der Schleife:
{foreach from=$entries item=entry name=eintrag}
folgenden Eintrag setzen:
{assign var="eintrnr" value=$paginate.total+1-$paginate.first}
"eintrnr" stellt die Eintragsnummer dar
"$paginate.total" - die Anzahl aller Einträge
"$paginate.first" - der "erste" Eintrag der Seite (z.B: [131-140] wäre $paginate.first die Zahl 131)
Dann an der gewünschten Stelle im Gästebuch (in der foreach-Schleife) den Eintrag:
Eintrag Nr. {$eintrnr}
Als letztes noch vor dem Ende der Schleife {/foreach} noch die Subtraktion:
{assign var="eintrnr" value=$eintrnr-1}
fertig...
Komplett siehts so aus:
{assign var="eintrnr" value=$paginate.total+1-$paginate.first}
{foreach from=$entries item=entry name=eintrag}
{$entry.date} | {$entry.time} {$titles.time_hour}
{if $entry.e_mail or $entry.homepage}
{/if}
{if $entry.e_mail}
{if $entry.homepage} | {/if}
{/if}
{if $entry.homepage}
{/if}
Eintrag Nr. {$eintrnr}
Von{$entry.sender}
{if $entry.country}aus
{$entry.country} :
{/if}
{$entry.message}
{assign var="eintrnr" value=$eintrnr-1}
{/foreach}
{if $paginate.total > 0}
{$pagination_message} {$paginate.first}-{$paginate.last} {$pagination_of} {$paginate.total}.
{if $paginate.total > $paginate.limit}
{paginate_prev text=$prev_text} {paginate_middle} {paginate_next text=$next_text}
{/if}
{/if}
Bis dann...
