Polskie wsparcie PrestaShop

PrestaShop => Wygląd => Wątek zaczęty przez: mkbeectrl w Lipiec 23, 2017, 04:50:29 pm

Tytuł: Zmiana widoku kroków finalizacji zamówienia z 1.7 na 1.6 lub podobny tabbed view
Wiadomość wysłana przez: mkbeectrl w Lipiec 23, 2017, 04:50:29 pm
Cześć,

chciałem Was prosić o asystę przy rozwiązaniu mojego kłopotu. Korzystam aktualnie z presty 1.7.1 i na bazie classic-a zbudowałem swojego child them-a.

Problem, z którym się zmagam to zmiana widoku kroków finalizacji zakupu na ten znany z presty 1.6 (patrz załącznik) lub inny "tabowy". W skrócie -> nazwy kroków muszę mieć w jednym wierszu, a content każdego z kroków w jednym wspólnym wraperze (dlatego też kombinuję z tym: http://build.prestashop.com/prestashop-ui-kit/section-15.html#section-15.2)

Teraz opiszę co już zrobiłem:
w pliku checkout-process.tpl mamy poniższego foreach-a
{foreach from=$steps item="step" key="index"}
            {render identifier  =  $step.identifier
            position    =  ($index + 1)
            ui          =  $step.ui
            }
        {/foreach}

Nie mam żadnego doświadczenia z prestashopem jak i smartym , więc zawartość z {render...} niewiele mi mówi. W każdym bądź razie chciałbym to rozbić na dwa foreach-e, gdzie w jednym listuję sobie nazwy sekcji w postaci guzików , a w drugiej sekcji zawartość każdego z kroków. Zrobiłem to w ten sposób:

<ul class="nav nav-tabs bordered" id="myTabBordered" role="tablist">
        {foreach from=$steps item="step" key="index"}
            {render identifier  =  $step.identifier
            position    =  ($index + 1)
            ui          =  $step.ui
            }
        {/foreach}

    </ul>
    <div class="tab-content bordered">
        {foreach from=$steps item="stepwrapper" key="index"}
            {render identifier  =  $step.identifier
            position    =  ($index + 1)
            ui          =  $step.ui
            }
        {/foreach}
    </div><!--tab content bordered-->



block "step" wygląda w ten sposób

{block name='step'}
    <li id="{$identifier}"
        class="{[
        'nav-item' => true,
        'checkout-step'   => true,
        '-current'        => $step_is_current,
        '-reachable'      => $step_is_reachable,
        '-complete'       => $step_is_complete,
        'js-current-step' => $step_is_current
        ]|classnames}">
        <a class="nav-link active" data-toggle="tab" href="#{$title}" role="tab">
            {*<i class="material-icons done">&#xE876;</i>*}
            <span class="step-number">{$position}</span>
            {$title}
            {*<span class="step-edit text-muted"><i class="material-icons edit">mode_edit</i> edit</span>*}
        </a>
    </li>
{/block}

a stepwrapper tak:

{block name='stepwrapper'}
    {block name='step_content'}DUMMY STEP CONTENT{/block}
{/block}


Wynikiem tych działań jest widok i struktura które załączyłem to poniższej wiadomości w formie screenów
Tytuł: Odp: Zmiana widoku kroków finalizacji zamówienia z 1.7 na 1.6 lub podobny tabbed view
Wiadomość wysłana przez: west w Lipiec 24, 2017, 08:38:02 am
W sumie dobrze Ci poszło :)
Funkcja render odpowiada za wyświetlenie zawartości kontrolera [polecam stronę symphony.com]. Co do reszty ja bym to oprogramował w js w zdarzeniach onclick i tyle
Tytuł: Odp: Zmiana widoku kroków finalizacji zamówienia z 1.7 na 1.6 lub podobny tabbed view
Wiadomość wysłana przez: mkbeectrl w Lipiec 24, 2017, 10:49:25 am
Ha! To mnie teraz zaskoczyłeś.

W prescie póki co poruszam się jak ślepy po magazynie, więc jeżeli znalazłbyś chwilę, byłbym wdzięczny za rozwinięcie swojej myśli.
Tytuł: Odp: Zmiana widoku kroków finalizacji zamówienia z 1.7 na 1.6 lub podobny tabbed view
Wiadomość wysłana przez: west w Lipiec 25, 2017, 07:34:45 am
masz kroki oraz kontenery tak ?
teraz dodajesz zdarzenia do przycisków typu onclick pokaż adres itp. Ponieważ wszystko jest inaczej niż w poprzednich wersjach jedna strona nie ingerowałbym w kontrolery tylko zrobił to tak, by po zdarzeniu wyświetlał się tylko jeden krok