Рекомендуемые сообщения

hard176    3

Здравствуйте, форумчане!
Требуется специалист по Opencart.
Задачи на самом деле две.

1 - основная задача в названии темы. Установлен Opencart Русская сборка версии 2.1.0.2.
Модуль Simple последней версии - 4.9.4. Модуль доставки был изначально от автора toporchillo, но доработанный под версию 2,1, ссылку на него не пощу, дам в личку - я не в курсе, возможно здесь запрещена реклама сторонних ресурсов.

Попробовал своими силами сделать - не вышло. Если вывожу дампом в контроллере simplecheckout_shipping то, что возвращает модуль доставки, на странице появляется карта и ведется расчет. Если убираю - пропадает. В общем, своих мозгов и опыта пока не хватает довести до ума.

2 задача - сделать скрытие|появление полей в зависимости от выбора способа доставки. Сейчас в модуле Simple присутствует зависимость появления/скрытия блока "Адрес доставки" целиком, но это не совсем то, что мне нужно по макету. Более подробно в личку.

Изменено пользователем hard176

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hard176    3

С первой задачей справился самостоятельно. Вот, если кому-то надо, может пригодится.

В файле model/mileage.php разделил отдельно по переменным скрипт и title, вместо строки:

$method_title = $this->language->get('text_title')
            .(!$error ? $this->getRouteMap($this->config->get('mileage_store'), $address, intval($is_city)) : '');

оставил только:

$method_title = $this->language->get('text_title');

Далее, где идет формирование массива $method_data добавил в него строчку, в итоге получилось вот так:

if ($quote_data) {
    $method_data = array(
        'code'       => 'mileage',
        'title'      => $method_title,
        'quote'      => $quote_data,
        'sort_order' => $this->config->get('mileage_sort_order'),
        'error'      => false, //$error
        'script_map' => !$error ? $this->getRouteMap($this->config->get('mileage_store'), $address, intval($is_city)) : '',
    );
}

В переменной script_map как раз будет содержаться скрипт Яндекс карт.
В файле catalog/view/theme/название_моей_темы/template/checkout/simplecheclout_shipping.tpl внутри 
<div class="radio"> после </label> добавил вывод скрипта:

 

<?php if(isset($shipping_method['script_map'])) echo $shipping_method['script_map']; ?>

Ну и поменял чуть селекторы в самом скрипте, поскольку там видимо обращение шло к селекторам, которых уже не существует в новой версии Simple.
Осталось только сделать зависимость полей. Сейчас придумал пока такую вещь - в блоке Покупатель сделал радиобаттон - два вида доставки, в зависимости от него показываются/скрываются поля. Осталось сделать привязку данного радиобаттона к настоящему - там где выбирается доставка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Похожий контент

    • От mstkalenko

      450.00 руб
      Скачать/Купить дополнение


      Новая Почта c калькулятором + отделения
      Модуль новой почты с калькулятором стоимости доставки + отделения
       
      Калькулятор новой почты настраиваются исходя из потребностей магазина.
       
      Переменные для подсчета (при необходимости переменную можно оставить незаполненной и она учитываться не будет):
      Стоимость оформления посылки Тариф доставки Стоимость страховки Комиссия за наложенный платеж
      База областей, городов и отделений Новой Почты
      Импортируется автоматически в Opencart при настройке модуля.
       
      Установка:
      1.Скопируйте содержимое папки upload в корень вашего сайта;
      2.Перейдите в раздел "Дополнения->Доставка->Отправка Новой Почтой", заполните необходимые поля;
      3.Перейдите в раздел "Система->Локализация->Отделения Новой почты", нажмите на кнопку "Обновить список отделений".
       
      .
       
       
      Модуль Simple 3.x.x:
      Если вы используете Модуль Simple - упрощенная регистрация и заказ, во вкладке "Настройки полей покупателя" выберите в поле main_city тип отображения select_from_api.
      Модуль Simple 4.x.x:
      Если вы используете Модуль Simple 4.x.x - смотрим скриншот ниже или
      .
       
      DEMO (Ocstore 1.5.5.1.2 / Simple 4.7.7)
      ADMIN (demo / demo)
      DEMO (Opencart 1.5.6.4 / стандартная корзина)
      ADMIN (demo / demo)
       
      Внимание! Модуль перезапишет таблицы country и zone удалив все страны в магазине и заменив их на области и города Украины!
       
      Внимание! Перед импортом рекомендуется сделать бэкап данных.
       

      Распространяется как есть по лицензии GNU GPL при условии соблюдения правил форума.
      Добавил mstkalenko Добавлено 05.07.2014 Категория Доставки Системные требования Сайт разработчика https://webmakers.com.ua/shop/ Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1 OpenCart.Pro, ocShop OcShop 1.5.6.4.х  
    • От mstkalenko

      450.00 руб
      Скачать/Купить дополнение


      OC 2: Новая Почта c калькулятором + отделения
      Модуль новой почты с калькулятором стоимости доставки + отделения для Opencart 2.x
      Калькулятор новой почты настраиваются исходя из потребностей магазина.
      Переменные для подсчета (при необходимости переменную можно оставить незаполненной и она учитываться не будет):
      Стоимость оформления посылки Тариф доставки Стоимость страховки Комиссия за наложенный платеж База областей, городов и отделений Новой Почты
      Импортируется автоматически в Opencart при настройке модуля.
      Установка:
      Перейдите в раздел "Дополнения->Установка дополнений" и установите zip-архив нужной вам версии модуля и файл novaposhta_translate_rus из скачанного архива; Не забудьте обновить кеш модификаций в "Дополнения->Модификации"; В разделе "Дополнения->Доставка->Отправка Новой Почтой", заполните необходимые поля; Перейтиде в раздел "Система->Пользователи->Группы пользователей" и дайте права своей группе на просмотр и изменение localisation/city и localisation/city_update; Перейдите в раздел "Система->Локализация->Отделения Новой почты" и нажмите кнопку "Обновить список отделений". Возможно понадобится очистить системный кеш в папке ../system/cache
      Обновление базы отделений:
      Скопируйте содержимое папки upload в корень вашего сайта; Перейдите в раздел "Система->Локализация->Отделения Новой почты" и нажмите кнопку "Обновить список отделений".
      Модуль Simple 4.x.x:
      Настройки для модуля Simple 4.x.x можно увидеть тут.
       
      Демо для всей линейки Opencart
      Демо для всей линейки OcStore
      DEMO (Ocstore 2.3.0.2 / Simple 4.7.7)
      ADMIN (demo / demo)
      DEMO (Opencart 2.0.3.1 / стандартная корзина)
      ADMIN (demo / demo)

       
      Внимание! Модуль перезапишет таблицы country и zone удалив все страны в магазине и заменив их на области и города Украины!
      Внимание! Перед импортом рекомендуется сделать бэкап данных.
       
       
      Распространяется как есть по лицензии GNU GPL при условии соблюдения правил форума.
      Добавил mstkalenko Добавлено 13.04.2015 Категория Доставки Системные требования Сайт разработчика https://webmakers.com.ua/shop/ Старая цена Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1
      2.0 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х  
    • От likesmartass

      300.00 руб
      Скачать/Купить дополнение


      Упрощенное оформление заказа OpenCart 2.3.x.x (Easy Checkout)
      Быстрое оформление заказа на одной странице. Модуль поддерживает все функции стандартного оформления (пользовательские поля, сохранение данных в сессию, добавление заказа в админку, методы доставки, методы оплаты и т.д.).
       
      Функции:
      Вкл/выкл модуля Возможность вкл/откл регистрации при оформлении Возможность вкл/откл ввода адреса доставки, отличного от адреса платежа при оформлении Проверка валидности полей "на лету"  
      Модуль не заменяет никакие файлы.
      Для установки использовать стандартный установщик OpenCart.
      Установка:
      (Дополнения / Установка дополнений) Установите EasyCheckout.1.01.ocmod.zip, (Дополнения / Менеджер дополнений) Нажмите кнопку обновить, (Дополнения / Дополнения) Активируйте модуль "Easy Checkout (упрощенное оформление заказа) и включите"  
      По всем вопросам, багам, замечаниям, предложениям обращаться:
      Почта: ed.smartass@gmail.com; skype: wari0z  
      ДЕМО: http://tpl-oc.duxu.ru/
       
      http://tpl-oc.duxu.ru/admin
      demo
      demo
      Добавил likesmartass Добавлено 20.12.2017 Категория Покупки, оформление заказа, корзина Системные требования Сайт разработчика ed.smartass@gmail.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Не проверялось  
    • От likesmartass
      Быстрое оформление заказа на одной странице. Модуль поддерживает все функции стандартного оформления (пользовательские поля, сохранение данных в сессию, добавление заказа в админку, методы доставки, методы оплаты и т.д.).
       
      Функции:
      Вкл/выкл модуля Возможность вкл/откл регистрации при оформлении Возможность вкл/откл ввода адреса доставки, отличного от адреса платежа при оформлении Проверка валидности полей "на лету"  
      Модуль не заменяет никакие файлы.
      Для установки использовать стандартный установщик OpenCart.
      Установка:
      (Дополнения / Установка дополнений) Установите EasyCheckout.1.01.ocmod.zip, (Дополнения / Менеджер дополнений) Нажмите кнопку обновить, (Дополнения / Дополнения) Активируйте модуль "Easy Checkout (упрощенное оформление заказа) и включите"  
      По всем вопросам, багам, замечаниям, предложениям обращаться:
      Почта: ed.smartass@gmail.com; skype: wari0z  
      ДЕМО: http://tpl-oc.duxu.ru/
       
      http://tpl-oc.duxu.ru/admin
      demo
      demo
    • От Lokk17
      Помогите разобраться как вынести доп.поле из simple в табличку в раздел Пользователи?
       
      сам делал так:
       
      Внес код из FAQ симпла в admin/model/customer/customer.php
      public function getCustomerBonusCard($bonuscard) { $object = 'customer'; $query = $this->db->query('SELECT * FROM `' . DB_PREFIX . $object . '_simple_fields` WHERE `'.$object.'_id` = \'' . (int)$objectId . '\' LIMIT 1'); $bonuscard = $query->row['field_27']; } в admin/controller/customer/customer.php
      $data['customers'][] = array( .... 'bonuscard' => $result['bonuscard'], .... ); Ну и в admin/view/template/customer/customer_form.tpl залазил.
       
      В общем, что не удивительно в контроллере - Undefined index: bonuscard
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу