[opgelost] Div toevoegen tussen producten overzicht
Moderator: velden
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
[opgelost] Div toevoegen tussen producten overzicht
Hoi,
Graag wil ik in het productenoverzicht (summary) om een aantal rijen met producten een div met inhoud plaatsen. Ook nog dat iedere div een andere inhoud/tekst heeft en te stijlen is.
Dus bijvoorbeeld 4 rijen met 4 producten naast elkaar.
Dan een balk, met daarin tekst (in dit geval bijvoorbeeld: "Dit is maar een deel van onze collectie)
Dan weer 4 rijen met producten en dan weer en balk met weer een andere tekst.
Iemand een idee hoe dat zou kunnen?
In de product summary sjabloon?
gr Tim
Graag wil ik in het productenoverzicht (summary) om een aantal rijen met producten een div met inhoud plaatsen. Ook nog dat iedere div een andere inhoud/tekst heeft en te stijlen is.
Dus bijvoorbeeld 4 rijen met 4 producten naast elkaar.
Dan een balk, met daarin tekst (in dit geval bijvoorbeeld: "Dit is maar een deel van onze collectie)
Dan weer 4 rijen met producten en dan weer en balk met weer een andere tekst.
Iemand een idee hoe dat zou kunnen?
In de product summary sjabloon?
gr Tim
Last edited by timdebuurman on Thu Jan 08, 2015 6:45 pm, edited 1 time in total.
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
Re: Div toevoegen tussen producten overzicht
Dat is mogelijk met
(http://www.smarty.net/docs/en/language. ... .iteration)
(niet getest, variabele namen kloppen niet denk ik)
Maar dit zou wel telkens dezelfde 'Custom text' geven na elke 4 producten. Als je dat niet wilt moet je wat meer spelen met de condities.
(http://www.smarty.net/docs/en/language. ... .iteration)
(niet getest, variabele namen kloppen niet denk ik)
Code: Select all
{foreach from=$products item=item}
{$item}
...
{if $item@iteration is div by 4 and not $item@last}
<div>Custom text</div>
{/if}
{foreach}
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
Re: Div toevoegen tussen producten overzicht
Hoi Velden,
Bedankt voor het meedenken.
Zou ik niet een extra veld kunnen maken met tekst en dan die aanroepen tussen de div?
Is misschien niet zo'n mooie oplossing, omdat het tekstveld bij de meeste producten dan niet gebruikt zal worden..
Nog andere ideeën hiervoor?
Bedankt voor het meedenken.
Zou ik niet een extra veld kunnen maken met tekst en dan die aanroepen tussen de div?
Is misschien niet zo'n mooie oplossing, omdat het tekstveld bij de meeste producten dan niet gebruikt zal worden..
Nog andere ideeën hiervoor?
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
Re: Div toevoegen tussen producten overzicht
not related
Last edited by pedes on Sat Dec 27, 2014 11:42 pm, edited 1 time in total.
Re: Div toevoegen tussen producten overzicht
Het is niet handig om dat als extra veld in Products op te nemen. Eerder dan als Global Content Block.timdebuurman wrote:Hoi Velden,
Bedankt voor het meedenken.
Zou ik niet een extra veld kunnen maken met tekst en dan die aanroepen tussen de div?
Is misschien niet zo'n mooie oplossing, omdat het tekstveld bij de meeste producten dan niet gebruikt zal worden..
Nog andere ideeën hiervoor?
Re: Div toevoegen tussen producten overzicht
Wanneer je binnen de for each lus (product summary) een extra lus met een tellertje zet dan kun je automatisch na iedere 3 of 4 produkten een global contentblock tonen wat je met een andere teller ook nog zou kunnen sturen of random misschien.
Ongeveer zo.
foreach item in items
for x = 1 to 3
show product
/for
{global contentblock}
/foreach
Groet
Jan
Ongeveer zo.
foreach item in items
for x = 1 to 3
show product
/for
{global contentblock}
/foreach
Groet
Jan
Re: Div toevoegen tussen producten overzicht
Ik denk dat het probleem van 'om de 4 producten' wel is getackled:
Dit gaat niet werken. Je kunt niet andere producten tonen dan het product (item) waar je mee bezig bent in de buitenste loop.janvl wrote:foreach item in items
for x = 1 to 3
show product
/for
{global contentblock}
/foreach
Jan
Re: Div toevoegen tussen producten overzicht
Klopt, zo gaat 't wel
assign x=1
for each item in items
show product
x= x + 1
If x=3
global content block
assign x=1
/endif
/foreach
het gaat natuurlijk om de logica om na 3 (of 4) produkten een
block (div) te tonen.
Wie met smarty "programmeert" kan zelf de details invullen en ik ken Tim die kan dat.
Groet,
Jan
assign x=1
for each item in items
show product
x= x + 1
If x=3
global content block
assign x=1
/endif
/foreach
het gaat natuurlijk om de logica om na 3 (of 4) produkten een
block (div) te tonen.
Wie met smarty "programmeert" kan zelf de details invullen en ik ken Tim die kan dat.
Groet,
Jan
Re: Div toevoegen tussen producten overzicht
Nog steeds niet helemaal wat Tim vroeg: "om de 4 blokken een tekst"janvl wrote:Klopt, zo gaat 't wel
assign x=1
for each item in items
show product
x= x + 1
If x=3
global content block
assign x=1
/endif
/foreach
het gaat natuurlijk om de logica om na 3 (of 4) produkten een
block (div) te tonen.
EDIT: zie nu dat het in de vraag om 4 rijen van 4 producten gaat. Dan vervang je de 4 dus door 16.
Ten eerste zal jouw voorbeeld om de 2 products een tekst tonen.
Ten tweede, waarom extra variabelen inzetten als dat allemaal niet nodig is?
Code: Select all
Dit doet precies wat Tim vraagt, is efficient en behoorlijk leesbaar:
{foreach from=$products item=item}
{$item}
...
{if $item@iteration is div by 4}
<div>Custom text</div>
{/if}
{foreach}
'and not $item@last' had ik er zelf maar bij verzonnen om dat het nogal knullig is om de tekst: "En we verkopen ook:" te plaatsen als er vervolgens geen items weer worden getoond:
{if $item@iteration is div by 4 and not $item@last}
{if $item@iteration is div by 4} is hetzelfde als {if $item@iteration % 4 == 0 }
Dat laatste zul je ook in andere programmeertalen tegen komen, maar is voor een 'leek' wat minder leesbaar dan 'is div by 4' denk ik. % staat overigens voor modulo operator.
Re: Div toevoegen tussen producten overzicht
Is al OK,
ik hoop dat Tim hier goed mee geholpen is, daar gaat het per slot om.
Wat verwacht je?
Goed gedaan jochie . . .?
Volgende keer neem ik wat meer tijd en ben wat nauwkeuriger, beloofd!
Met vriendelijke groeten,
Jan
ik hoop dat Tim hier goed mee geholpen is, daar gaat het per slot om.
Wat verwacht je?
Goed gedaan jochie . . .?
Volgende keer neem ik wat meer tijd en ben wat nauwkeuriger, beloofd!
Met vriendelijke groeten,
Jan
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
Re: Div toevoegen tussen producten overzicht
Hoi Jan en Velden,
Ik denk dat mijn smarty-vaardigheden iets overschat worden.
Ik kom er vaak wel uit, maar is toch altijd wel een tijdje zoeken...
Als ik nu 3 soorten tekst heb en die in 3 global_content blokken zet.
En ik wil dat deze om de beurt getoond worden, om de 16 producten.
Hoe zou ik dat in de gegeven code kunnen verwerken?
Ik denk dat mijn smarty-vaardigheden iets overschat worden.
Ik kom er vaak wel uit, maar is toch altijd wel een tijdje zoeken...
Als ik nu 3 soorten tekst heb en die in 3 global_content blokken zet.
En ik wil dat deze om de beurt getoond worden, om de 16 producten.
Hoe zou ik dat in de gegeven code kunnen verwerken?
Code: Select all
{foreach from=$products item=item}
{$item}
...
{if $item@iteration is div by 16 and not $item@last}
{global_content name="tekst1"}
deze dan wisselen met tekst2 en tekst3....?
{/if}
{foreach}
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
Re: Div toevoegen tussen producten overzicht
Probeer eens:
Code: Select all
{$i=1}
{foreach from=$products item=item}
{$item}
...
{if $item@iteration is div by 16 and not $item@last}
{global_content name="tekst{cycle values="1,2,3"}"}
deze dan wisselen met tekst2 en tekst3....?
{/if}
{foreach}
- timdebuurman
- Power Poster
- Posts: 891
- Joined: Sun Nov 06, 2011 8:15 pm
Re: Div toevoegen tussen producten overzicht
Hoi Velden,
Bedankt voor het meedenken.
Ik moet de productmodule nog installeren bij dit project en ga het dan testen.
Nu heb ik nog een dingetje...:
Stel nu dat ik de div op een kleiner beeldscherm (tablet of mobiele telefoon) niet om de 16, maar om de 10 producten wil tonen.
Of vraag ik nu iets onmogelijks..?
Bedankt voor het meedenken.
Ik moet de productmodule nog installeren bij dit project en ga het dan testen.
Nu heb ik nog een dingetje...:
Stel nu dat ik de div op een kleiner beeldscherm (tablet of mobiele telefoon) niet om de 16, maar om de 10 producten wil tonen.
Of vraag ik nu iets onmogelijks..?
NextDoorMedia - Online Marketing Partner
https://www.nextdoormedia.nl
https://www.nextdoormedia.nl
Re: Div toevoegen tussen producten overzicht
Dat kan enkel als je server-side device detectie gebruikt, en dat zul je waarschijnlijk niet doen.timdebuurman wrote: Nu heb ik nog een dingetje...:
Stel nu dat ik de div op een kleiner beeldscherm (tablet of mobiele telefoon) niet om de 16, maar om de 10 producten wil tonen.
Of vraag ik nu iets onmogelijks..?
Waarschijnlijk werk je met een responsive framework. Je zou dan op één of andere manier de logica in JS moeten zetten en afhankelijk van de 'breedte' andere variabelen gebruiken.
Dus:
De inhoud van de GCB's als variabelen aan JS meegeven vanuit het cmsms template.
Vervolgens met JS de betreffende div's met inhoud op de juiste plek invoegen. Vereist een beetje programmeerkennis en kennis van je framework.
Re: Div toevoegen tussen producten overzicht
Eenvoudiger zou zijn om voor de mobiele pagina's eigen pagina's en templates te gebruiken waar je dit dan in zet, dat bespaart je nieuw programmeerwerk dat je na de installatie weer moet beheren.
Een voorbeeldje kun je zien bij www.taxigerhard.at daar wordt voor een tablet/telefoon een paar eigen pagina's getoond.
Alles wat je nu met kunst en vliegwerk aan elkaar knoopt, moet je later weer zelf onderhouden.
Als je de logica voor de keuze van desktop vs tablet/telefoon wilt hebben stuur ik je die.
M.vr.gr.
Jan
Een voorbeeldje kun je zien bij www.taxigerhard.at daar wordt voor een tablet/telefoon een paar eigen pagina's getoond.
Alles wat je nu met kunst en vliegwerk aan elkaar knoopt, moet je later weer zelf onderhouden.
Als je de logica voor de keuze van desktop vs tablet/telefoon wilt hebben stuur ik je die.
M.vr.gr.
Jan