Плащане без регистрация в OpenCart, За разработчици
Как работи пазарската количка Opencart 2.3 и защо не е толкова лесно да я смените (но ще успеем). Цел: да направите плащане на една страница без регистрации и SMS.
С оглед на последната актуализация на opencart и предстоящите, които пренаписват контролери - примерите на кода са безполезни, основното е общата линия на мислене.
Изтеглянето започва от контролера за плащане/плащане. Той подготвя страницата и показва „празното“ за кошницата. Тогава всичко работи на js, манипулаторите, които водят потребителя стъпка по стъпка до печелившата поръчка.
0 Стъпка. Потребителите не го виждат - това се случва в tpl частта на контролера за плащане/плащане. Определя се дали клиентът е регистриран, ако не е регистриран, се извиква контролер за плащане/влизане (За да видите стъпка 1.) - или контролер за регистрирани потребители (не се разглежда тук).
Етап 1. На този етап клиентът прави първия избор - регистрирайте се, влезте или направете поръчка без регистрация.
За регистрация без регистрация (не забравяйте да я разрешите в администраторския панел), разгледайте формата:
Първо, има проверка дали потребителят е регистриран. Много подобно на наследството на предишната версия, тъй като го проверихме отново в стъпка 0. В браузъра разглеждаме идентификатора на бутона, който ще ви помогне да проектирате без регистрация: бутон-акаунт. И ние намираме манипулатор за такъв бутон. Манипулаторът получава стойността на радио бутона, това е важно - тъй като това е името на следващия контролер.
Стъпка 2. Контролер заявка/гост.
Този контролер е важен, тъй като задава сесията (хранилище за данни за всички, които са влезли в сайта) стойностите по подразбиране на променливите, важни за opencart. Все пак ще му се обадим. Освен това, задавайки стандартните стойности и получавайки променливите, необходими за шаблона, той го извиква.
Отворете tpl файла, написан в контролера, виждаме много html с формуляри, но ни интересува js. В js те се наблюдават по ред: сортиране на полета, заявки ajax при промяна на някои полета, можете да прикачите файл . И това е, няма манипулатор за бутона за изпращане. Това означава, че по същество не се нуждаем от файла, отиваме да го потърсим на контролера от стъпка 0.
На този етап манипулаторът на бутона за изпращане на информация за плащане събира данни от целия формуляр, пакетира ги в json и ги изпраща на контролера checkout/guest/и функциите за запис.
За да не се ангажирате с дълъг анализ на формуляра, можете да „прихванете“ данните.
Нека да се справим с функцията за запазване на контролера за плащане/гост: