ik wil de producten naast elkaar. Kan iemand mij helpen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Didier Van Canneyt

Didier Van Canneyt

19/02/2015 09:31:48
Quote Anchor link
Op dvcgraphics.com zie je eerst 6 tekeningen.
De producten er onder zijn niet naast elkaar, en dat is slordig.
Hoe zou ik 3 rijen kunnen plaatsen naast elkaar.
3 x 3 rijen en kolommen. Denk dat dit het mooiste zou zijn.

Dit is het tpl bestand.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
{strip}
<div class="c-search g-graund_6 g-shadow g-gradient g-border g-marg c-search_100">
    <form id="search_form" name="search_form" action="{$href.search_form}" method="post">
        <b>{translate('IMAGE_SEARCH')}:&#160;</b>
        <input type="text" name="aFilter[keyword]" id="keyword" class="c-search_input g-border g-graund_6">
        <a href="javascript:;" onclick="document.search_form.submit()" class="c-search_but g-border g-graund_6"></a>
    </form>
</div>
<div class="c-width">
    <div class="big-img-foot rc3 clearfix">
        <div class="c-banners g-marg  g-border  g-graund_6 g-shadow">
                <h2>{translate('TEXT_FIRST_FRONTLINE')}<span class="g-blue_bg g-graund_6"></span> </h2>
                <p>{translate('TEXT_SECOND_FRONTLINE')}</p>
            <span class="b-banners_butt"> <a href="{$href.tshirtbuilder}"></a> </span>
        </div>
    </div>

    {if $newest_designs}
        <h2>
            {translate('TEXT_NEWEST_DESIGNS')}
        </h2>
        <table class="c-addcart g-marg">
            {foreach $newest_designs as $design}
                {if $design@index%3==0}
                <tr>{/if}
                    <td valign="top">
                        <a href="/my_designs"  class="c-craft_box g-border  g-graund_6" style="
                                        background:#fff url('');
                                        margin-bottom: 10px;
                                        text-align: center;
                                        height: 194px;
                                        line-height: 194px;
                                ">
                        <img src="{$design.img}" alt="image of product #{$design.img}" style='max-height: 190px;max-width: 190px;vertical-align: middle;'/>
                        </a>
                    </td>
                {if $design@index%3==2}</tr>{/if}
            {/foreach}
        </table>

  <h2>
            {translate('TEXT_MOST_SOLD_PRODUCTS')}
        </h2>
    {/if}

    <table class="c-addcart g-marg">
        {foreach $categories as $category}
            {if $category@index%3==0}
            <tr>{/if}
            {$new_products[$category@key]}
            {if $category@index%3==0}</tr>{/if}
        {/foreach}
    </table>
    <div class="c-cct-shirt">
        <div class="c-sp_top">
            <h1>{translate('TEXT_CREATE_CUSTOM_TSHIRTS')}</h1>
            <hr class="c-cct-top">
            <table width="100%" class="c-cct-shirt_t">
                <tr>
                    <td class="c-cct-shirt_t_title"><b>{translate('TEXT_TRENDS_DISCOUNTS')}</b></td>
                    <td class="c-cct-shirt_t_title" colspan="2"><b>{translate('TITLE_OUR_GUARANTEE')}</b></td>
                </tr>
                <tr>
                    <td class="c-cct-shirt_t_title_line">{translate('TEXT_SIGN_UP_FOR_NEWSLETTER')}</span></td>
                    <td class="c-cct-shirt_t_title_line"><span
                            class="c-cct-shirt_guar">{translate('TEXT_FAST_DELIVERY')}</span></td>
                    <td class="c-cct-shirt_t_title_line"><span
                            class="c-cct-shirt_guar">{translate('TEXT_HELPFUL_SERVICE')}</span></td>
                </tr>
                <tr>
                    <td class="c-cct-shirt_t_title_line">
                        <form action="inner.php?_page=create_account" method="post" name="email_form">
                            <input name="email" type="text" class="autoclear g-border c-cct-shirt_t_mail" value="{translate('TEXT_YOUR_EMAIL_ADDRESS')}" size="30">
                            <a href="javascript: document.email_form.submit()" class="g-butt_arrow g-gradient g-shadow g-border g-graund_6"><span></span></a>
                        </form>
                    </td>
                    <td class="c-cct-shirt_t_title_line"><span
                            class="c-cct-shirt_guar">{translate('TEXT_HIGH_QUALITY_PRINTING')}</span></td>
                    <td class="c-cct-shirt_t_title_line"><span
                            class="c-cct-shirt_guar">{translate('TEXT_FAIR_RETURN_POLICY')}</span></td>
                </tr>
            </table>
            <hr class="c-cct-bott">
            {$bottom_information_block_ccts}
        </div>
    </div>
</div>
{/strip}

- Aar -:
Gelieve in het vervolg bij code de [code][/code]-tags gebruiken.
Hier kan je meer lezen over de mogelijke opmaakcodes.
Alvast bedankt!
Gewijzigd op 19/02/2015 09:40:24 door - Ariën -
 
PHP hulp

PHP hulp

23/12/2024 17:37:49
 
- Ariën  -
Beheerder

- Ariën -

19/02/2015 09:41:17
Quote Anchor link
Hmm.. heb je zelf al wat geprobeerd? Ik denk dat je met de module-operator wel een stukje verder moet komen.
Het templategedeelte is overigens Smarty.
 
- SanThe -

- SanThe -

19/02/2015 11:27:14
 
Jan de Laet

Jan de Laet

19/02/2015 13:21:07
Quote Anchor link
Het verschil tussen TEXT_MOST_SOLD_PRODUCTS en TEXT_NEWEST_DESIGNS zit in regel 37 en 51. Kun je daar wat mee?
 
Didier Van Canneyt

Didier Van Canneyt

19/02/2015 13:41:48
Quote Anchor link
Ja, ik heb ook al eens de cijfers veranderd...

{if $design@index%3==0}

was vroeger

{if $design@index%2==0}

Maar er veranderde niets.
 
Jan de Laet

Jan de Laet

19/02/2015 13:45:27
Quote Anchor link
Verander het eens naar ==2 ipv ==0
 
- SanThe -

- SanThe -

19/02/2015 13:54:11
Quote Anchor link
Jan de Laet op 19/02/2015 13:45:27:
Verander het eens naar ==2 ipv ==0


Dat zal nooit matchen.
 
Jan de Laet

Jan de Laet

19/02/2015 15:01:49
Quote Anchor link
@SanThe: Waarom niet? Doen ze op regel 37 ook om er 3 naast elkaar te krijgen.
 
- SanThe -

- SanThe -

19/02/2015 19:06:39
Quote Anchor link
Jan de Laet op 19/02/2015 15:01:49:
@SanThe: Waarom niet? Doen ze op regel 37 ook om er 3 naast elkaar te krijgen.


Omdat het nooit 2 (of 3) als resultaat geeft.
Quote:
0%2=0 0%3=0
1%2=1 1%3=1
2%2=0 2%3=2
3%2=1 3%3=0
4%2=0 4%3=1
5%2=1 5%3=2
6%2=0 6%3=0
7%2=1 7%3=1
8%2=0 8%3=2
9%2=1 9%3=0
Gewijzigd op 19/02/2015 19:09:12 door - SanThe -
 
Jan de Laet

Jan de Laet

19/02/2015 19:38:35
Quote Anchor link
Ik denk dat we elkaar verkeerd begrepen hebben.
Probeer op regel 51:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
            {if $category@index%3==2}</tr>{/if}

Dat zou toch kunnen werken?
 
- SanThe -

- SanThe -

19/02/2015 19:47:54
Quote Anchor link
Jan de Laet op 19/02/2015 19:38:35:
Ik denk dat we elkaar verkeerd begrepen hebben.


Dat idee krijg ik ook.

Zolang in $var%3==2 het linker getal achter de % maar minimaal 1 groter is dan het rechter getal.
 
Didier Van Canneyt

Didier Van Canneyt

19/02/2015 22:38:55
Quote Anchor link
Ik heb nu het volgende:

{foreach $categories as $category}
{if $category@index%5==3}
<tr>{/if}
{$new_products[$category@key]}
{if $category@index%5==3}</tr>{/if}
{/foreach}

Nu heb ik 2 rijen, 1 van 2 en die er onder van 3.
Dit is het beste tot nu toe, ik vind er wel niets logisch aan. :-)
 
- SanThe -

- SanThe -

19/02/2015 22:51:17
Quote Anchor link


Heb je hier al gekeken?
 
Didier Van Canneyt

Didier Van Canneyt

19/02/2015 23:04:53
Quote Anchor link
Ja, maar begrijp er niets van.
Kan enkel met cijfertjes spelen, ik ben echt niet goed (lees onbekend) met php
Ik leer bij, maar voor mij zijn het nog allemaal rare tekens.
 
Spike Spade

Spike Spade

20/02/2015 08:10:34
Quote Anchor link
Met $x%5 word er gekeken hoeveel je overhoud nadat je het maximaal aantal keer 5 van $x hebt afgetrokken.

1%5 = 1
2%5 = 2
3%5 = 3 //hier begin je nu een nieuwe regel
4%5 = 4
5%5 = 0
6%5 = 1
7%5 = 2
8%5 = 3 //Hier begin je nu een nieuwe regel
9%5 = 4
//etc

Rekenvoorbeeld
22%5

Nu moeten we kijken hoeveel keer we 5 uit 22 kunnen halen
22 - 5 = 17 (1x)
22 - 10 = 12 (2x)
22 - 15 = 7 (3x)
22 - 20 = 2 (4x)
22 - 25 = -3 (5x) Hier duik je onder nul, dus dit is teveel.

Uit 22 kun je dus 4 keer 5 halen.
22 - (4x5) = 2
22 % 5 = 2

Hopelijk geeft dit een beetje duidelijkheid...
 
Jan de Laet

Jan de Laet

20/02/2015 08:32:51
Quote Anchor link
@Didier, je wilt 3 producten per rij, dan moet index%3 gebruiken.
De index loopt vanaf 0, voor elk product er 1 bij.
Uit het lijstje van SanThe kunt zien, begin je op 48 een nieuwe regel met producten met <tr> wanneer index%3 == 0 (dus bij index 0, 3, 6, enz), en eindig je op 51 de regel met producten met </tr> wanneer index%3 == 2 (dus bij 2, 5, 8, enz).
 
Didier Van Canneyt

Didier Van Canneyt

20/02/2015 12:17:08
Quote Anchor link
Ik zou dus graag 4 regels (rijen) hebben met elk 3 producten (kolommen).

Maar ik heb al van alles geprobeerd, ook wiskunde is mijn ding niet blijkbaar.

Ik dacht dus aan 12%3 == 3 maar dat werkt niet.
 
Jan de Laet

Jan de Laet

20/02/2015 12:33:44
Quote Anchor link
De % operator is de modulus operator of in gewoon nederlands, de rest van een deling.
%3 levert nooit 3 op, hoogstens 0, 1 of 2.

Je moet %3 gebruiken omdat je 3 kolommen wilt.
Bij het eerste product (en het 4e product, enz) maak je een nieuwe rij, dus daarom %3==0 op regel 48. Want het eerste product heeft index 0 en 0%3 = 0. Het vierde product heeft index 3 en 3%3 = 0.
Na het derde product (en het zesde product, enz) sluit je de rij af, dus daarom %3==2 op regel 51. Want het derde product heeft index 2 en 2%3 = 2.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.