Jump to content

Muvka

Пользователи
  • Content Count

    178
  • Joined

  • Last visited

Community Reputation

7 Обычный

1 Follower

About Muvka

  • Rank
    Продвинутый пользователь

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Если правильно помню, проблема была в том, что при оформлении заказа, во время обработки, у меня не была отключена кнопка оформления заказа. Из-за этого ее можно было нажать не один раз.
  2. Если честно, не очень вас понял. Удаление делаю, чтобы не было дубля. После удаления сразу идет повторное заполнение. Пользователи этого даже не заметят. А по поводу keyword вообще не понял. Это то, что будет адресом устанавливаемой страницы. Что не так?
  3. Здравствуйте. С Новым годом. Пытаюсь понять, как правильно заполнить seo url при установке модуля. Примеров хороших не нашел. Делаю так. В контроллере модуля создаю метод install public function install() { $this->load->model('extension/module/promo'); $this->load->model('setting/store'); $data['stores'] = array(0); $stores = $this->model_setting_store->getStores(); foreach ($stores as $store) { array_push($data['stores'], $store['store_id']); } $this->load->model('localisation/language'); $data['languages'] = array(); $languages = $this->model_localisation_language->getLanguages(); foreach ($languages as $language) { array_push($data['languages'], $language['language_id']); } $this->model_extension_module_promo->install($data); } Я просто беру и собираю магазины и языки в один массив. При этом для дефолтного магазина руками 0 приходится добавлять. И в модели в метод install добавляю $this->db->query("DELETE FROM " . DB_PREFIX . "seo_url WHERE query = 'information/promo'"); foreach ($data['stores'] as $store_id) { foreach ($data['languages'] as $language_id) { $this->db->query("INSERT INTO " . DB_PREFIX . "seo_url SET store_id = '" . $store_id . "', language_id = '" . $language_id . "', query = 'information/promo', keyword = 'promo'"); } } Подскажите правильность решения и если есть правки, поделитесь.
  4. Собственно будет вот такая форма адреса пользователя. Нужно ли пытаться править стандартный модуль address, учитывая то, что мне нужно руками изменить колонки в БД, и практически полностью заменить контроллер. Тут еще в том дело, что у меня не будет отдельной страницы добавления и изменения адреса - все будет на странице аккаунта. Я просто не вижу смысла использовать для таких масштабных правок модификатор. Но все-равно что-то гложет. Зря волнуюсь? Есть идея создать свой модуль адреса, скажем "custom_address", рядом с обычным, но в админке все-равно так-же придется полностью модифицировать контроллер и модель адреса.
  5. Здравствуйте. Подскажите пожалуйста, настройки адресов доставки в вашем модуле находятся в отдельных таблицах? Мне просто нужно будет в нескольких местах выводить районы и их минимальную стоимость для доставки. И еще, для разработки на локалке ключ тоже будет (еще для тестового сервера надо)?
  6. Тут вы меня неправильно поняли. Последнее предложение не про exit().
  7. Да, спасибо, в 2х местах еще exit() поставил. Вам нравится такой код?
  8. Вот на скорую руку накидал. Получается что-то типа этого. Не проверял как работает, но мне такой код не очень нравится if (($this->request->server['REQUEST_METHOD'] == 'POST')) { $validate = $this->validate(); $ajax_request = isset($this->request->server['HTTP_X_REQUESTED_WITH']) && !empty($this->request->server['HTTP_X_REQUESTED_WITH']) && strtolower($this->request->server['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'; if ($validate) { $this->request->post['email'] = 'default' . round(microtime(true) * 1000) . '@localhost.ru'; $customer_id = $this->model_account_customer->addCustomer($this->request->post); $this->model_account_customer->deleteLoginAttempts($this->request->post['telephone']); $this->customer->login($this->request->post['telephone'], $this->request->post['password']); unset($this->session->data['guest']); if ($ajax_request) { $json = array(); $json['redirect'] = $this->url->link('account/success'); $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode($json)); } else { $this->response->redirect($this->url->link('account/success')); } } elseif ($ajax_request) { $this->response->addHeader('Content-Type: application/json'); $this->response->setOutput(json_encode(array( 'error' => $this->error; ))); } }
  9. Ajax и по-другому можно определить. Например так: if(isset($this->request->server['HTTP_X_REQUESTED_WITH']) && !empty($this->request->server['HTTP_X_REQUESTED_WITH']) && strtolower($this->request->server['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')) Проблема в другом. Код слишком захламленным получается. Много вложенных if. Например вот регистрация: if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $customer_id = $this->model_account_customer->addCustomer($this->request->post); // Clear any previous login attempts for unregistered accounts. $this->model_account_customer->deleteLoginAttempts($this->request->post['email']); $this->customer->login($this->request->post['email'], $this->request->post['password']); unset($this->session->data['guest']); $this->response->redirect($this->url->link('account/success')); } нужно валидацию внутри условия уже проводить, потом условие на результат валидации и только потом на ajax. Мне это не очень нравится....
  10. Есть, кто реализовывал подобное или может материалы видел, поделитесь. Лучшее, что приходит на ум - в контроллере собирать 2 url для action и тот, который для ajax вставлять в атрибут data-action. Ну и соответственно создать метод, который обработает запрос.
  11. У меня вопрос - а куда можно модули предлагать? Или сразу в магазин? Просто я не уверен на все 100% в нем) Потребовалось сделать так, чтобы значения опций можно было скопировать в фильтры. Написал простенький модуль, который копирует, соответственно, все опции в фильтры и присваивает категориям и товарам эти самые фильтры. Т.к. руками все это дело замучаешься заполнять. Единственное, что не нравится - это то, что приходится полностью копировать опции, вплоть до id, чтобы потом можно было сопоставить... если кто укажет на проблемы или подскажет, как сделать лучше, будет хорошо. options_to_filters.ocmod.zip
  12. Спасибо за ответ. Еще не сталкивался с событиями. Буду смотреть.
  13. Пытаюсь вырезать email с магазина, перевести все на номер телефона, но при регистрации идет отправка письма клиенту, но я не могу найти, откуда этот код вызывается. Каким-то ивентом что-ли... Излазил и контроллер и модель регистрации, нигде не вижу кода, который вызывает отправку. Подскажите.
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.