Polskie wsparcie PrestaShop
PrestaShop => Php, Java, Flash => Wątek zaczęty 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
-
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.
-
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
-
Nie no jest ok jeśli chodzi o podmianę tpl. A co robisz z wprowadzonymi danymi ? Jak je przekazujesz dalej ?
-
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
-
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