[OPGELOST] alle content van children weergeven

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

Post Reply
egbert4
Forum Members
Forum Members
Posts: 11
Joined: Mon Jul 14, 2014 7:06 pm

[OPGELOST] alle content van children weergeven

Post by egbert4 »

Al enige tijd ben ik op zoek om de content van alle subpagina's weer te geven. Ik kom er niet uit.

Ik heb al wat dingetjes geprobeerd met:

cgsimple::get_page_content

Het lukt me wel om de content weer te geven van de pagina die ik noem. Maar dat is er één en ik wil dat als een ik een nieuwe pagina aanmaak de content op die ene pagina terecht komt.
Een beetje zoals de nieuwsmodule dus.

Ik ben bezig een hele simpele website op te zetten voor mijn collega's. En die moeten het eigenlijk niet te moeilijk hebben.

Wie kan me helpen?!
Last edited by egbert4 on Tue Aug 12, 2014 11:20 am, edited 1 time in total.
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: alle content van children weergeven

Post by velden »

Deze heb je vast al gelezen:
https://www.cmscanbesimple.org/blog/mul ... query-tabs

Combineer dat met een Menu Manager template (kijk ook even naar de parameters om enkel de children op te roepen) en dan ben je al heel ver lijkt me.
egbert4
Forum Members
Forum Members
Posts: 11
Joined: Mon Jul 14, 2014 7:06 pm

Re: alle content van children weergeven

Post by egbert4 »

Beste velden,

Dank je wel voor je snelle reactie.

Deze heb ik inderdaad bestudeerd. Echter komt het er volgens mij dan op neer dat ik elke keer als er een pagina aangemaakt wordt, ik die handmatig moet toevoegen. Ben ik juist?

Ik had overigens nog een ander idee gevonden:
http://forum.cmsmadesimple.org/viewtopi ... =4&t=66210

Alleen dan is het probleem dat ik niet 'echt' de content te zien krijg. Alleen de tekst zonder opmaak. Ik krijg bijvoorbeeld ergens {Gallery} te zien, maar niet de foto's uit de Gallery..

Deze:
{cgsimple::get_page_content('subpage-1','','foo')}{eval var=$foo}

zou in mijn beleving iets moeten worden als:
{cgsimple::get_page_content('content_of_all_children','','foo')}{eval var=$foo}

Maar ik krijg het dus niet voor elkaar.

Leg ik mijn 'probleem' duidelijk uit?
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: alle content van children weergeven

Post by velden »

Je vraag is duidelijk en wat jij wilt kan ook echt wel.

Via Menu Manager kun je juist automatisch/dynamisch de inhoud van child pagina's laden.

Bijvoorbeeld (niet getest):

Code: Select all

{foreach from=$nodelist item=node}
{cgsimple::get_page_content($node->alias,'','foo')}{eval var=$foo}
{/foreach}
Merk op dat get_page_content standaard de inhoud van het default content block {content} laadt. Als je in je template meerdere content block hebt gemaakt, zul je die ook apart moeten ophalen.

Uit de help van CGSimpleSmarty:
get_page_content($alias[,$block][,$assign])

Returns the text of a specific content block of another page.

Arguments:

$alias - The page alias to extract content from.
[$block] - (optional) The name of the content block in the specified page. If this variable is not specified the value of the default content block (content_en) is assumed.
[$assign] - (optional) The name of a variable to assign the results to.


Example:

The 'second' block of the 'about' page is {cgsimple::get_page_content('about','second','foo')}{eval var=$foo}
De 'eval' tag zorgt er overigens voor dat smarty tags (zoals bij jouw {gallery}) worden 'uitgevoerd' in plaats van direct geprint.
egbert4
Forum Members
Forum Members
Posts: 11
Joined: Mon Jul 14, 2014 7:06 pm

Re: alle content van children weergeven

Post by egbert4 »

Beste Velden,

Dank voor je reactie weer.

Ik ben van het weekend terug gekomen van weggeweest en ben in dit weekend druk bezig geweest. Ik heb het bijna aan de praat!

Als ik de 'code' rond heb, zal ik die posten.

Bedankt voor je hulp zo ver.
egbert4
Forum Members
Forum Members
Posts: 11
Joined: Mon Jul 14, 2014 7:06 pm

Re: alle content van children weergeven

Post by egbert4 »

Zo is het dus opgelost, hoewel ik (achteraf) zie dat ik niet eens veel gewijzigd heb...
Maar goed, dit dan maar voor de volledigheid.

In menumanager een nieuw sjabloon met deze inhoud (het sjabloon heb ik overigens 'allpages' genoemd):

{foreach from=$nodelist item=i name=n}{$i->alias}{if !$smarty.foreach.n.last},{/if}{/foreach}

In de pagina waarvan ik alle 'children' wil zien heb ik dit geplakt:

{menu template='allpages' childrenof="$page" assign='somevar'} {assign var=somearray value=","|explode:$somevar} {foreach from=$somearray item=i} {capture assign=foo}</p>
<hr style="height: 5px; color: #336699; background-color: #336699; border: solid #336699 0px;" />
<p><strong>{cgsimple::get_page_title("$i")}</strong> {cgsimple::get_page_content("$i")}{/capture}{eval var=$foo} {/foreach}
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3497
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: [OPGELOST] alle content van children weergeven

Post by velden »

Maar waarom zo moeilijk?

Je kunt dit toch prima samenvatten in alleen het menu template? In plaats van eerst een lijst te genereren, die te exploden, te loopen, te capturen etc.


Code: Select all

{foreach from=$nodelist item=node}
{cgsimple::get_page_content($node->alias,'','foo')}
</p>
<hr style="height: 5px; color: #336699; background-color: #336699; border: solid #336699 0px;" />
<p><strong>{cgsimple::get_page_title($node->alias)}</strong> {eval var=$foo}
{/foreach}
En dan ergens in je page template:

Code: Select all

{menu template='allpages' childrenof=$page_alias}
Denk dat dat veel efficienter is.
Post Reply

Return to “Dutch - Nederlands”