Polskie wsparcie PrestaShop

PrestaShop => Php, Java, Flash => Wątek zaczęty przez: AnkaW w Czerwiec 26, 2018, 05:06:00 pm

Tytuł: Własny moduł problem
Wiadomość wysłana przez: AnkaW w Czerwiec 26, 2018, 05:06:00 pm
Cześć

Wybaczcie początkującej ale mam pewnie banalny problem jednak jakoś nie mogę znaleźć rozwiązania.

Zaczęłam budować własny moduł. Działanie modułu polega na wypełnieniu pół formularza, przejściu dalej, kolejny widok i na podstawie poprzedniego formularza wyświetlam kolejny formularz, i tak do czwartego kroku finalnego gdzie na podstawie ostatniego formularza wyświetlam produkty i mogę je dodać do koszyka.

To moja pierwsza próba z samodzielnym pisaniem modułu przepraszam więc za może błahe pytanie.

Jak przejść w obrębie tego modułu między kolejnymi widokami?

Mam zrobiony kontroler w controllers/front o nazwie widok1.php do tego mam views/templates/front pliki skladak.tpl (to takie główne opakowanie) i widok1.tpl. W skladak.tpl mam include widok1.tpl zrobiony. I jak teraz przejść dalej do kolejnych widoków? Wiem że jestem może głupia blondynka ale nie mogę do tego dojść.

Anka
Tytuł: Odp: Własny moduł problem
Wiadomość wysłana przez: west w Czerwiec 27, 2018, 08:03:11 am
W obrębie kontrolera i jednej tpl przechowujesz zmienne zatem logicznym by było obracać się w tym obszarze, a dane między widokami przekazywać do json /js za pomocą definicji:
{literal}
<script type="text/javascript">
    var moj_controller = "{/literal}{$front_controller|escape:'htmlall':'UTF-8'}{literal}";
</script>
{/literal}
Ewentualnie możesz tworzyć cookie lub tabelę tymczasową i tam przechowywać dane pomiędzy kontrolerami lub użyć w formularzu post z polami ukrytymi.
Tytuł: Odp: Własny moduł problem
Wiadomość wysłana przez: AnkaW w Czerwiec 27, 2018, 10:53:29 am
Zrobiłam coś takiego:
public function initContent() {
        parent::initContent();
        if (Tools::isSubmit('krok1')) {
            $this->setTemplate('module:skladak/views/templates/front/widok1.tpl');
        }else{
               $this->setTemplate('module:skladak/views/templates/front/skladak.tpl');
        }
    }
w swoim kontrolerze.
Ale to chyba faktycznie mało eleganckie i nie jestem zadowolona.
A może nie jest to takie tragiczne?:)
Dzięki za odpowiedź

Anka
Tytuł: Odp: Własny moduł problem
Wiadomość wysłana przez: west w Czerwiec 27, 2018, 07:08:41 pm
Nie no jest ok jeśli chodzi o podmianę tpl. A co robisz z wprowadzonymi danymi ? Jak je przekazujesz dalej ?
Tytuł: Odp: Własny moduł problem
Wiadomość wysłana przez: AnkaW w Czerwiec 27, 2018, 07:31:37 pm
Dane odczytuje normalnie z zmiennej smarty post które się przesyłają a na poszczególnych kartach pracuje z danymi (odczyt z bazy danych, obróbka danych) przy pomocy Ajax'a. Nawet sprawnie to idzie.

Anka
Tytuł: Odp: Własny moduł problem
Wiadomość wysłana przez: west w Czerwiec 27, 2018, 07:49:10 pm
Dane stałe ok z bazy i ajaxem :)
budujesz formularze zatem i przekazujesz postem dane ? Później korzystając z Tools odczytujesz - ok jeśli nie chcesz zachować sesji klientowi