Page 1 of 1

(Opgelost) Vorige volgende knop news cmsms 2.0

Posted: Thu Oct 01, 2015 11:33 am
by pasmaskas
Beste CMSMS leden,

Ik ben een template aan het omzetten naar cmsms 2.0 en loop nog tegen 1 ding aan als het goed is.

Nu heb ik daar toen via deze tutorial vorige en volgende knoppen in nieuws berichten gekregen aleen die werken nu niet meer:

http://www.i-do-this.com/blog/Prev-Next ... -CGBlog/57

MIjn sjabloonen zien er als volgd uit:

Nieuws samenvattings sjabloon:

Code: Select all

{foreach from=$items item=entry}
{capture append='allIDs'}{$entry->id}{/capture}
{capture append='allURLs'}{$entry->moreurl}{/capture}
{/foreach}
IN het nieuws detail sjabloon:

Code: Select all

{$currentID = $entry->id}
{news summarytemplate='BLOG1200-news-summary-prev-next-links' action='default' assign='junk'}
{foreach from=$allIDs item=someID name=findmyID}
{if $currentID == $someID}{$currentkey = $smarty.foreach.findmyID.index}{/if}
{/foreach}

<p class="next-news">
{$nextkey = $currentkey-1}
{if isset($allURLs[$nextkey])}<a href="{$allURLs[$nextkey]}">< Next article</a>{/if}
</p>

<p class="prev-news">
{$prevkey = $currentkey+1}
{if isset($allURLs[$prevkey])}<a href="{$allURLs[$prevkey]}">Previous article ></a>{/if}
</p>
Wat gaat er fout?

op de website zie ik deze regels staan op d eplek waar de knoppen moeten zijn:

Code: Select all

Notice: Undefined index: allIDs in /public/sites/cmsms2.pmkmedia.nl/tmp/templates_c/9610c60dc33091b544410e311e6d909e590d1083.cms_template.BLOG1200-news.php on line 124

Notice: Trying to get property of non-object in /public/sites/cmsms2.pmkmedia.nl/tmp/templates_c/9610c60dc33091b544410e311e6d909e590d1083.cms_template.BLOG1200-news.php on line 124


Notice: Undefined index: currentkey in /public/sites/cmsms2.pmkmedia.nl/tmp/templates_c/9610c60dc33091b544410e311e6d909e590d1083.cms_template.BLOG1200-news.php on line 138

Notice: Trying to get property of non-object in /public/sites/cmsms2.pmkmedia.nl/tmp/templates_c/9610c60dc33091b544410e311e6d909e590d1083.cms_template.BLOG1200-news.php on line 138


Notice: Undefined index: currentkey in /public/sites/cmsms2.pmkmedia.nl/tmp/templates_c/9610c60dc33091b544410e311e6d909e590d1083.cms_template.BLOG1200-news.php on line 146

Notice: Trying to get property of non-object in /public/sites/cmsms2.pmkmedia.nl/tmp/templates_c/9610c60dc33091b544410e311e6d909e590d1083.cms_template.BLOG1200-news.php on line 146
alvast bedankt

Gr Pascal

Re: Vorige volgende knop news cmsms 2.0

Posted: Thu Oct 01, 2015 11:58 am
by velden
Het ligt voor de hand dat dit ook te maken heeft met de scope van de smarty variabelen:

Summary template 'call' heeft eigen scope.

Probeer dus of je ze global kunt maken.

Re: Vorige volgende knop news cmsms 2.0

Posted: Thu Oct 01, 2015 1:20 pm
by pasmaskas
Ik snap er nix van ik heb verschillende geprobeert vand e site van rolf:

http://www.cmscanbesimple.org/blog/smar ... e-examples

Natuurlijk niet gekopieert maar met de regels in de template alleen ik kom er niet uit!

Wel handig dat de template reset als er een regel neit klopt! zie je gelijk dat het niet goed is.

Re: Vorige volgende knop news cmsms 2.0

Posted: Thu Oct 01, 2015 2:01 pm
by Rolf
Deze is érg lastig m.b.t. scopes. Ik zal even kijken of ik het kan reproduceren en het werkend maken...

Re: Vorige volgende knop news cmsms 2.0

Posted: Thu Oct 01, 2015 2:33 pm
by Rolf
Mwoah, dat viel mee :)

Summary template "prev_next_links":

Code: Select all

{foreach from=$items item=entry}
  {capture append='allIDs'}{$entry->id}{/capture}
  {capture append='allURLs'}{$entry->moreurl}{/capture}
{/foreach}

{foreach from=$allIDs item=someID name=findmyID}
  {if $currentID == $someID}{$currentkey = $smarty.foreach.findmyID.index}{/if}
{/foreach}

<p class="next-news">
  {$nextkey = $currentkey-1}
  {if isset($allURLs[$nextkey])}
    <a href="{$allURLs[$nextkey]}">Next article ></a>
  {/if}
</p>

<p class="prev-news">
  {$prevkey = $currentkey+1}
  {if isset($allURLs[$prevkey])}
    <a href="{$allURLs[$prevkey]}">< Previous article</a>
  {/if}
</p>
Boven in de detail template:

Code: Select all

{$currentID = $entry->id scope=global}
{News summarytemplate='prev_next_links'}

<!-- REST VAN DE DETAILTEMPLATE -->
En dan werkt het voor mij!
Eigenlijk is deze werkwijze ook veel logischer...

grt. Rolf

Re: Vorige volgende knop news cmsms 2.0

Posted: Thu Oct 01, 2015 2:58 pm
by Rolf
Korte aanvulling/toelichting

Op deze manier werden vaak (ook door mij) variabelen beschikbaar gemaakt in andere templates....

Code: Select all

{news assign='junk'}
Maar wat je eigenlijk doet is, je hebt een schroevendraaier nodig en je gooit de hele gereedschapskist leeg op tafel.
Vooral bij websites met veel artikelen is dit onnodige belasting voor de website/server...
Met scopes kies je welke variabele moet worden doorgeven naar de andere templates en de rest niet...

Re: Vorige volgende knop news cmsms 2.0

Posted: Fri Oct 02, 2015 8:36 am
by pasmaskas
Werkt super! Alleen dan verkeert om dus heb ze ff opgedraait. Bedankt rolf en ook bedankt voor de uitleg.

Ik snap er nog steesd nie zo veel van maar begrijp wle dat hierdoor websites veel sneller laden.

Re: Vorige volgende knop news cmsms 2.0

Posted: Fri Oct 02, 2015 5:18 pm
by Rolf
Ik heb met Manuel gesproken en ik mag al zijn blogs overzetten naar mijn site omdat IDT niet meer wordt bijgewerkt. Zo blijft de info beschikbaar!

Dus een complete herziene versie van deze tutorial op:
http://www.cmscanbesimple.org/blog/addi ... tail-pages