Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 13. April 2011 12:03

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

content dump pager abfragen

Der Code erzeugt mir nen wunderbaren Output mit Pager:

{content_dump assign="dump2" show_in_menu="force" extensions="pageimage,summary" start_id=$content_id exclude=$content_id limit_count="3" page=$page_call}

<ul class="pager clearfix">
 {section name="i" start=1 loop=$pager_info->max+1 step=1}
  <li><a href="{$page_alias}.html?show_page={$smarty.section.i.index}">{$smarty.section.i.index}</a></li>
 {/section}
</ul>

Gibt pro Seite 3 Ergebnisse. Aber was ist wenn es insgesamt nur 1 Ergebnis gibt. Dann wird mir trotzdem "Seite 1" als Link ausgegeben. Wie kann ich das vernünpftig abfragen sodass der Pager nur erscheint wenn er auch tatsächlich gebraucht wird? Stehe da mal wieder aufm Schlauch.
so geht es leider nicht:

{if $dump2|@count gt $pager_info->size}

da beides immer so groß ist wie limit_count

Offline

#2 13. April 2011 12:07

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: content dump pager abfragen

ich kann natürlich mit zwei dumps arbeiten und den einen als @count grundlage nehmen aber gehts noch geschickter?

Offline

#3 13. April 2011 12:31

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.436

Re: content dump pager abfragen

Was ist, wenn Du anstelle von

{section ... loop=$pager_info->max+1 ...

das verwendest:

{section ... loop=$pager_info->size ...

?

EDIT: Ach nee, vergiss es. Ist ja limit_count ...  roll


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#4 14. April 2011 22:01

nhaack
Server-Pate
Ort: Bonn
Registriert: 12. Dezember 2010
Beiträge: 171
Webseite

Re: content dump pager abfragen

$pager_info->size liefert tatsächlich lediglich limit_count zurück. Einfach falls man der Wert nochmal irgendwie braucht.
$pager_info->current liefert die aktuelle "Seite"
$pager_info->max liefert die maximale Anzahl an Seiten in der Paginierung über alle möglichen Einträge zurück.

Soweit ich mich erinnere müsstest du deine Pagination somit einfach wie folgt klammern:

[== smarty/html ==]


{if $pager_info->max > 1 }
   <ul class="pager clearfix">
     {section name="i" start=1 loop=$pager_info->max+1 step=1}
       <li><a href="{$page_alias}.html?show_page={$smarty.section.i.index}">{$smarty.section.i.index}</a></li>
     {/section}
   </ul>
{/if}

Also Paginierung nur, wenn die Anzahl an Seiten größer als 1 ist, was bei nur einem oder zwei Beiträgen nicht der Fall wäre, dann ist die höchste Seite in der Paginierung ebenfalls Page 1.

Hoffe dies hilft dir weiter.

VG
Nils

Offline

#5 14. April 2011 22:17

nicmare
Server-Pate
Registriert: 15. Dezember 2010
Beiträge: 1.314
Webseite

Re: content dump pager abfragen

ja, exakt! genau sowas simples ist mir nicht eingefallen. manchmal denkt man halt zu kompliziert  monkey dankeee

falls es jemanden noch was bringt, habe ich das script für den aktiven pager noch ergänzt:

<li{if $pager_info->current == $smarty.section.i.index} class="selected"{/if}>

Beitrag geändert von nicmare (14. April 2011 22:18)

Offline