wdrożenia PrestaShop

Zmiana widoku kroków finalizacji zamówienia z 1.7 na 1.6 lub podobny tabbed view

  • 3 Odpowiedzi
  • 2570 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

*

Offline mkbeectrl

  • Nowy
  • *
  • 2
  • 0
  • PrestaShop
  • PrestaShop: PS
  • Status: Programista
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

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
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
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl 

*

Offline mkbeectrl

  • Nowy
  • *
  • 2
  • 0
  • PrestaShop
  • PrestaShop: PS
  • Status: Programista
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.

*

Offline west

  • Administrator
  • Mieszkaniec
  • *****
  • 5,292
  • 106
  • Płeć: Mężczyzna
  • Europasaz.pl
    • PrestaShop, Wordpress, SMF, Woocomerce
  • PrestaShop: 8.0
  • Status: Programista
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
MODUŁY | https://europasaz.pl |  SKLEPY INTERNETOWE | WSPARCIE TECHNICZNE | HOSTING | https://europasaz.pl