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?!
[OPGELOST] alle content van children weergeven
Moderator: velden
[OPGELOST] alle content van children weergeven
Last edited by egbert4 on Tue Aug 12, 2014 11:20 am, edited 1 time in total.
Re: alle content van children weergeven
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.
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.
Re: alle content van children weergeven
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?
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?
Re: alle content van children weergeven
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):
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:
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}
Uit de help van CGSimpleSmarty:
De 'eval' tag zorgt er overigens voor dat smarty tags (zoals bij jouw {gallery}) worden 'uitgevoerd' in plaats van direct geprint.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}
Re: alle content van children weergeven
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.
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.
Re: alle content van children weergeven
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}
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}
Re: [OPGELOST] alle content van children weergeven
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.
En dan ergens in je page template:
Denk dat dat veel efficienter is.
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}
Code: Select all
{menu template='allpages' childrenof=$page_alias}