tabook Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Пятничное. Решил как то я вчера вечером достичь дзена и написать простенький модуль,но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Конкретнее - получить id заказа в модуле, который выводится в схеме checkout/success, для того чтобы вытянуть данные о заказе на странице "Спасибо за покупку". Самая главная беда - что этот номер сразу затирается из сессии в checkout/success/index Где то за час полтора с перекурами родился рабочий вариант, но одна беда - для чистого opencart. В случае, когда на сайте установлена Simpla, метод не работает. И вот это уже победить никак не удается. Дело принципа - возможно ли это или нет, придется делать одну строчку VQMOD, что скажете, гуру? Можно ли решить задачу? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Странно simpla ведь на этапе success уже не участвует. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Странно simpla ведь на этапе success уже не участвует. Это так. Но на этапе success уже поздно и для симплы и для чистого ОС. Просто симпла по другому устанавливает session['order_id'], перехватить не могу Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Странно simpla ведь на этапе success уже не участвует. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Странно simpla ведь на этапе success уже не участвует. Это так. Но на этапе success уже поздно и для симплы и для чистого ОС. Просто симпла по другому устанавливает session['order_id'], перехватить не могу Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Странно simpla ведь на этапе success уже не участвует. Это так. Но на этапе success уже поздно и для симплы и для чистого ОС. Просто симпла по другому устанавливает session['order_id'], перехватить не могу Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать но такой чтобы ну совсем без vqmod и модификации системных файлов opencart. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 в checkout опубликуйте еще один модуль без представления, и запишите в свой параметр в сессию номер заказа. А в success уже выводите данные. Это слишком просто :) Хочу красиво по феншую без модификаций. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Для тех кто не умеет читать А где вы видите что надо vqmod ? В сессию записывается номер заказа И при success достается оттуда Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Можно в принципе Перехватите модель Думал и сюда. Перехвачу. А дальше? Ну перехватил я addOrder, как узнаю id заказа? getLastId уже будет показывать не пойми что. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В сессию записывается номер заказа В какой момент? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 мы об этом говорим? class ControllerCheckoutSuccess extends Controller { public function index() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); ... unset($this->session->data['order_id']); ... $this->template = $this->config->get('config_template') . '/template/common/success.tpl'; Ага, об этом. Если перехватить вызов CheckoutSuccess/index() то до его вызова order_id еще в сессии. Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 addOrder возвращает $order_id Если вы перехватили модель order то там уже тривиально получить и записать в сессию Проморгал, спасибо! Да, действительно метод возвращает order_id. Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Обрабатываете так приблизительно class newOrder extends Controller { protected $Order; public function __call($name, array $params) { $modules = false; $modules = call_user_func_array(array( $this->Order, $name ), $params); unset($this->Order); if ($name=='addOrder') { ...... } return $modules; } Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Подменяете временно (на выполнение модуля) Loader на свой Перехватываете модель Обрабатываете данные через _call Записываете в сессию order_id Возвращаете Loader При success проверяете свою переменную сессии и выводите то вам нужно Перехват лоадера в моем контроллере возможен только выполнения "основного" контроллера, но тогда уже поздно. Вы сами у себя в SEO CMS PRO используете модификацию системного контроллера maintenance.php, чтобы сесть на прослушку как можно раньше. Но это противоречит условиям задания. Никаких модификаций файлов. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 :) Не я это первый сказал :) Но намекнул https://opencartforum.com/topic/51872-пятничная-викторина-по-программированию/?do=findComment&comment=454667 А я ж просто не в курсе был, как у Марка перехват делается, сейчас ради интереса глянул. Да VQMOD не используется, это правда. Но и файлы модифицирует ))) Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 Да не воспринимайте задачу всерьез. Конечно в суровом мире она решается в одну строчку путем модификации одного контроллера. Вся прелесть в поиске академического, олимпиадного "решения" :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) Я не знаю как выглядит код для чистого OC, ведь что-то получилось.. Задача - зацепить order_id Для этого нужно привязать к схеме simple свой модуль, и в своей переменной сессии хранить его Неа, с симплой не получится. В чистом ОС я действительно подцепился модулем к схеме checkout/confirm и перехватил session['order_id'] В симпле это не прокатит. Там создание заказа не в отдельной схеме, а ajax вызовом в checkout/simplecheckout. Т.е. можно конечно подцепиться к вышеуказанной layout, но тогда еще и заказа нет. Но потом он создается так, что никто никому ничего уже не скажет. Вот в чем беда ) А следующий контроллер - уже checkout/success где все благополучно и затирается. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення EasyMods Автор: kJlukOo PRICE MASTER - Модуль імпорту/експорту товарів, парсинг, переклад, генерація текстів, редактор каталогу та багато іншого Автор: ScriptBrains 1.0 Синхронізація Замовлень Rozetka.ua та Opencart Автор: sinco Product Manipulator Автор: Hiperlynx007 Видалення дублікатів товарів для OpenCart Автор: Hatshypsut
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 В общем, есть решение. Без правок кода, формально условия задания соблюдены, но... как то все таки действительно академический результат, не для реального магазина. 1. Делаем контроллер с одним методом checkout/foo/bar public function bar() { if (isset($this->session->data['order_id'])) $this->session->data['foo_order_id'] = $this->session->data['order_id']; } 2. Настройки Simple: вешаем на поля рефреш после изменений 3. Настройки Simple: закладка интеграция добавляем код $.get( "/index.php?route=checkout/foo/bar"); 4. Идем пить пиво :) Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Разное Курилка Пятничная викторина по программированию
chukcha Опубліковано: 2 жовтня 2015 Share Опубліковано: 2 жовтня 2015 мама дАрАгая... ф топку Надіслати Поділитися на інших сайтах More sharing options... tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
tabook Опубліковано: 2 жовтня 2015 Автор Share Опубліковано: 2 жовтня 2015 (змінено) мама дАрАгая...ф топку не для реального магазина Нет, видимо в олимпиадах по программированию никто не участвовал. Змінено 2 жовтня 2015 користувачем tabook Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts