Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Wadamir

Користувачі
  
  • Публікації

    400
  • З нами

  • Відвідування

Повідомлення, опубліковані користувачем Wadamir

  1. Добавлена валидация номера телефона (допускает широкое трактование, дабы не отпугнуть клиента).
    Возможные варианты ввода:
    +7 989 989 99 99
    (050) 391-13-12
    +38 067-4440-220
    и т.п.

     

     

     

    Насчёт валидации телефона. Меня лично бесит, когда вводишь номер телефона в формате ххх1112233, а потом в тебя плюется ошибка, мол, будьте добры введите телефон в международном формате с кодом страны (+38 в случае с Украиной). Поэтому, лучше когда сразу видно маску поля телефона, тут уже неоднозначностей не возникает.

     

    Placeholderа не будет достаточно? Просто намекнуть клиенту как лучше вводить номер. В принципе без проблем добавить.

  2. Валидация - это палка о двух концах.

    Регулярки, конечно, можно впихнуть - дело не хитрое. Но вот если человека будет бесить невозможность ввести номер телефона в формате, который он предпочитает, это уже минус. Сейчас на телефон воткну валидацию - расширенную.

    А e-mail валидировать кроме как на наличие @ - баловство. И не я один так думаю https://habrahabr.ru/post/175375/

    Вообще только номер телефона нужен в формах, по крайней мере, в позиции required.

    Но это ИМХО.

  3. валидация есть - html5 e-mail проверяет... а валидировать телефон - только заказчика отвращать, но можно воткнуть при желании. Займусь.

  4. Opencart - Быстрый заказ («Buy one click») с опциями, целями Яндекс и Google + бесплатные SMS!


    Opencart - Быстрый заказ («Buy one click») с опциями, целями Яндекс и Google + бесплатные SMS!


    Для чего нужен модуль XD BuyOneClick?

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

    Для каких версий OpenCart / ocStore:

    • Opencart 2.0.x
    • Opencart 2.1.x
    • ocStore 2.1.x
    • Opencart 2.2.x
    • ocStore 2.2.x
    • Opencart 2.3.x
    • ocStore 2.3.x
    • Opencart 3.x

    Должно работать, но не проверялось:

    • OpencartPro, ocShop 2.0.x
    • OpencartPro, ocShop 2.1.x
    • OpencartPro, ocShop 2.3.x

     

    Основные характеристики

    • Мультиязычный En Ru Ua. Возможно подключение любого количества языков.
    • Работает в карточках товаров, на страницах категорий, поиска, товаров со скидкой, страницах производителей, а также в стандартных модулях Opencart - рекомендуемые товары, товары со скидкой, хиты продаж, последние добавленные.
    • Поля к заполнению покупателем: имя, телефон, email, комментарий, чекбокс согласия с "Политикой безопасности" (эти поля можно включить/выключить из панели управления модулем).
    • Настройка обязательности заполнения полей (при незаполненном обязательном поле оно подсвечивается).
    • Валидация номера телефона (с использованием маски для России и Украины). Такую валидацию можно включить/выключить из админки. Возможно подключение иных вариантов масок.
    • Валидация обязательных опций (можно включить / выключить в настройках).
    • Уведомление о нехватке товара на складе (можно включить / выключить в настройках).
    • Интеграция Яндекс метрики и Google аналитики на всех этапах осуществления быстрого заказа.
    • Дополнительная расширенная аналитика на основе Sourcebuster JS (скрипт определения источников посетителей сайта).
    • Отправка (бесплатно 5 сообщений в день) владельцу интернет-магазина СМС-сообщений с использованием сервиса SMS.ru
    • Отправка СМС-сообщений покупателю с использованием сервиса SMS.ru
    • Отправка владельцу интернет-магазина СМС-сообщений с использованием сервиса SMSC.ua
    • Отправка СМС-сообщений покупателю с использованием сервиса SMSC.ua.
    • Возможность создавать свои шаблоны для СМС-сообщений.
    • "Подхватывает" выбранные опции и количество товара.
    • Отправка стандартного письма о заказе владельцу интернет-магазина.
    • Отправка стандартного письма о заказе покупателю (при заполнении поля e-mail).
    • Регистрация заказа в админке интернет-магазина.

    Примеры работы модуля:

    Правовая информация:

    Модуль поставляется as is (как есть), Вы устанавливаете его по собственному желанию и ответственность за него несёте Вы.
    Распространяется модуль по лицензии GNU GPL — Вы вправе его копировать, модифицировать и распространять (в том числе на коммерческой основе).

     

    Установка модуля:

    Файл (BuyOneClick_v.4.0.zip) содержит сразу 4 версии:

    • Для Opencart 2.0.x, 2.1x — версия модуля 4.0.1 (имя файла — BuyOneClick_v.4.0.1.ocmod.zip)
    • Для Opencart 2.2.x — версия модуля 4.0.2 (имя файла — BuyOneClick_v.4.0.2.ocmod.zip)
    • Для Opencart 2.3.x — версия модуля 4.0.3 (имя файла — BuyOneClick_v.4.0.3.ocmod.zip)
    • Для Opencart 3.x — версия модуля 4.0.4 (имя файла — BuyOneClick_v.4.0.4.ocmod.zip)

     

     

    1. Скачать модуль XD BuyOneClick.
    2. Распаковать архив.
    3. Войти в административную панель управления, перейти в раздел «Модули» (или "Дополнения" в зависимости от версии OpenCart), затем «Установка расширений» и загрузить zip-архив, соответствующий Вашей версии OpenCart / ocStore (именно zip-архив!!!).
    4. Перейти в подраздел «Модификаторы» — в списке установленных дополнений OCMOD должен появится модуль с названием «XD Stickers for Opencart xxx» (xxx в данном случае может различаться от версии).
    5. Перейти в подраздел «Модификаторы» — в списке установленных дополнений OCMOD должен появится модуль с названием «XD Stickers for Opencart xxx» (xxx в данном случае может различаться от версии).

     

     


     

    ЕСЛИ У ВАС ОСТАЛИСЬ ВОПРОСЫ

    В связи с новой политикой форума - если у вас остались вопросы, вам придётся попытаться их решить.

     

     

    ПОДДЕРЖКА:

    Прежде чем писать, пожалуйста, прочитайте вышеуказанный FAQ! 

    Если после прочтения FAQ Вам всё же требуется помощь, пожалуйста, сразу присылайте ссылку на магазин. 

    Если Вы пробовали сами установить, но не получилось: пишите сразу что Вы сделали и что не получилось!

    Будьте готовы предоставить ftp-доступ и доступ в админку. 

    Варианты удаленных рабочих столов, team viewer, "посмотреть экран через skype" и прочее подобное - не подходит.

     

    Указанная цена за услугу "Установка" включает в себя установку модуля "упрощенный заказ" в карточку товара и в категории.

     

    Вот пример сообщения в ЛС:

    Здравствуйте!

    Ставил Ваш модуль, но он не заработал (не появилась кнопка, кнопка появилась, но окно не вылазит и т.п.). 

    Магазин: ocshop.xdomus.ru

    версия: такая-то

    шаблон: такой-то

    Не могли бы Вы мне помочь? Спасибо заранее!

    С уважением, пользователь такой-то

     

    Все доработки / установки / переделки / свистелки - платные (от 499 руб.)


    • Добавил
    • Добавлено
      22.05.2016
    • Категория
    • Системные требования
    • Метод активации
      Без активации
    • Ioncube Loader
      Нет
    • ocStore
      3.0
      2.3
      2.2
      2.1
    • OpenCart.Pro, ocShop
      Opencart.pro 2.3
      Opencart.pro 2.1
      OcShop 2.0.3.х
    • Обращение к серверу разработчика
      Нет

     

    • +1 2
  5. Если у вас только один язык, то правите контролер модуля в каталоге

    		//$data['heading_title'] = $this->language->get('heading_title');
    		$data['heading_title'] = $setting['name'];
    

    и будет выводить название из админки

     

    самый отличный и простой вариант.

    править нужно featured.php

    расположен catalog/controller/module

  6. Есть кто готов сделать?

    в вашем примере немного кривовато реализовано: при наведении на крайнюю справа картинку появляется скролл горизонтальный.

    можно вот так реализовать: http://www.jacklmoore.com/zoom/

    И, кстати, на какую версию opencart надо? для 1.5... увидел...

  7. можно поподробнее?

    поставил без vqmod - воткнул всё необходимое непосредственно в файлы.

    если не ошибаюсь изменения для моей версии коснулись лишь файла catalog/controller/product/category.php

     

    У ТС:

     
                            //Manufacturers
                           $manufacturers = $this->model_catalog_category->getManufacturers($category_id,true);
                           $this->data['manufacturers'] = array();
                           $this->data['all_manufacturers'] = $this->url->link('product/category', 'path=' . $category_id);
                           foreach ($manufacturers as $manufacturer) {
                               $this->data['manufacturers'][] = array (
                                   'manufacturer_id' => $manufacturer['manufacturer_id'],
                                   'name' => $manufacturer['name'],
                                   'href' => $this->url->link('product/category', 'path=' . $category_id . '&manufacturer_id=' . $manufacturer['manufacturer_id'])
                               );
                           }
                           if (isset($this->request->get['manufacturer_id'])) {
                               $manufacturer_id = $this->request->get['manufacturer_id'];
                               $this->data['manufacturer_id'] = $manufacturer_id;
                           } else {
                               $manufacturer_id = false;
                               $this->data['manufacturer_id'] = 0;
                           }
                            //---------------
     
     
    тогда как я сделал: 
    //Manufacturers
    $manufacturers = $this->model_catalog_category->getManufacturers($category_id,true);
    $data['manufacturers'] = array();
    $data['all_manufacturers'] = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url);
    foreach ($manufacturers as $manufacturer) {
    $data['manufacturers'][] = array (
      'manufacturer_id' => $manufacturer['manufacturer_id'],
      'name' => $manufacturer['name'],
      'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&manufacturer_id=' . $manufacturer['manufacturer_id'])
      );
    }
    //---------------
    if (isset($this->request->get['manufacturer_id'])) {
      $manufacturer_id = $this->request->get['manufacturer_id'];
      $data['manufacturer_id'] = $manufacturer_id;
    } else {
      $manufacturer_id = false;
      $data['manufacturer_id'] = 0;
    }
     
    вроде всё
  8. Сделал для себя, но решил и другим дать попользовать.

    Простенькая подгрузка товаров на страницу категории через ajax.

    Делал для версии 2.1.0.2, но путём нехитрых манипуляций можно и переделать под любую другую версию.

     

    Update: файл перезалил в дополнения 

    https://opencartforum.com/files/file/3131-ajax-%D0%B7%D0%B0%D0%B3%D1%80%D1%83%D0%B7%D0%BA%D0%B0-%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%BE%D0%B2-%D0%BD%D0%B0-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D1%83-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8/

  9. Суммируя вышесказанное, полная инструкция для минимальной суммы заказа с интерфейсом в админке (тестировалось на ocStore - 1.5.5.1.1):

    Инструкция для создания минимальной суммы заказа:
    требуемые файлы: 
    \admin\view\template\setting\setting.tpl
    \admin\controller\setting\setting.php
    \admin\language\russian\setting\setting.php
    \catalog\language\russian\checkout\cart.php
    \catalog\controller\checkout\cart.php
    \catalog\controller\checkout\checkout.php
     
    1. Открываем файл: 
    \admin\view\template\setting\setting.tpl
     
    находим:
                <tr>
                  <td><?php echo $entry_fax; ?></td>
                  <td><input type="text" name="config_fax" value="<?php echo $config_fax; ?>" /></td>
                </tr>
     
    вставляем:
    <tr>
                  <td><?php echo $entry_min_price_order; ?></td>
                  <td><input type="text" name="min_price_order" value="<?php echo $min_price_order; ?>" /></td>
    </tr>
     
    2. Открываем файл: 
    \admin\controller\setting\setting.php
     
    находим:
    if (isset($this->request->post['config_fax'])) {
    $this->data['config_fax'] = $this->request->post['config_fax'];
    } else {
    $this->data['config_fax'] = $this->config->get('config_fax');
    }
     
    вставляем:
    if (isset($this->request->post['min_price_order'])) {
    $this->data['min_price_order'] = $this->request->post['min_price_order'];
    } else {
    $this->data['min_price_order'] = $this->config->get('min_price_order');
    }
     
    находим:
    $this->data['tab_sms'] = $this->language->get('tab_sms');
     
    вставляем:
    $this->data['entry_min_price_order'] = $this->language->get('entry_min_price_order');
     
    3. Открываем файл: 
    \admin\language\russian\setting\setting.php
     
    находим:
    // Entry
     
    вставляем:
    $_['entry_min_price_order']  = 'Минимальная сумма заказа';
     
    4. Открываем файл: 
    \catalog\language\russian\checkout\cart.php
     
    находим:
    // Error
     
    вставляем:
    $_['error_min_price_order']  = 'Сумма заказа меньше минимальной! Минимальная сумма заказа должна быть больше: ';
     
    5. Открываем файл:
    \catalog\controller\checkout\cart.php
     
    находим:
    if (isset($this->error['warning'])) {
    $this->data['error_warning'] = $this->error['warning'];                 
    } elseif (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) {
    $this->data['error_warning'] = $this->language->get('error_stock');
    } else {
    $this->data['error_warning'] = '';
    }
     
    изменяем на:
    if (isset($this->error['warning'])) {
    $this->data['error_warning'] = $this->error['warning'];                 
    } elseif (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout')) {
    $this->data['error_warning'] = $this->language->get('error_stock');
    } elseif ($this->cart->getTotal() < ((float)$this->config->get('min_price_order'))) {
    $this->data['error_warning'] = $this->language->get('error_min_price_order'). $this->config->get('min_price_order').' руб!';
    } else {
    $this->data['error_warning'] = '';
    } 
    6. Открываем файл:
    \catalog\controller\checkout\checkout.php
     
    находим:
    if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
      $this->redirect($this->url->link('checkout/cart'));
     
    изменяем на:
    if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || ($this->cart->getTotal() < (float)$this->config->get('min_price_order')) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
      $this->redirect($this->url->link('checkout/cart'));

    Вот и все! спасибо праотцам-кодерам: Fix305fort-line и другим!

  10.  

     

    Вот вот, а решение выкладывать необязательно - пусть остальные ищут.

    Для остальных: catalog/language/russian/payment/bank_transfer.php

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

    Если Вам удалось решить вопрос с жирным выделением - может подскажете? Точнее сказать вопрос не в жирном выделении. 

    Я пытаюсь сделать "Банковский перевод" и пишу в "Инструкция по переводу:" текст с html тегами (ссылками и прочим...) а результат не тот, который я хотел бы получить - все теги показываются на странице оформления заказа.

    в catalog/language/russian/payment/bank_transfer.php добавляешь теги <b> </b> к тексту

    например $_['text_instruction'] = '<b>Инструкции по банковскому переводу</b>';

    Я не это имел в виду...

    Сам текст "Инструкция по переводу" мне не нужно выделять... Я хотел бы иметь возможность выделять текст, который я вношу в качестве этой самой инструкции. Насколько я понял этот текст каким-то скриптом исправляется и теги из него переводятся в формат нетегов... Непонятно наверное :) ну пишу я в инструкции <p> Вам надо сделать то и то </p> а он так и пишет включая <p>...</p> в текст инструкции...

  11. Здравствуйте!

     

    Подскажите, пожалуйста, как можно сделать поле "Инструкция по переводу" (в админском интерфейсе) с возможностью добавления тегов (как в статьях "источник"). Хочу сделать изменить кое-где поменять цвет, выделить часть текста.

    Я так понял что-то ставит перед тегами кавычки, вот что это делает я не смог выяснить...

    Помогите!

     

    Спасибо!

  12. Вот вот, а решение выкладывать необязательно - пусть остальные ищут.

    Для остальных: catalog/language/russian/payment/bank_transfer.php

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

    Если Вам удалось решить вопрос с жирным выделением - может подскажете? Точнее сказать вопрос не в жирном выделении. 

    Я пытаюсь сделать "Банковский перевод" и пишу в "Инструкция по переводу:" текст с html тегами (ссылками и прочим...) а результат не тот, который я хотел бы получить - все теги показываются на странице оформления заказа.

  13. Да, файлы поправил - все картинки на месте (я имею в виду картинки шаблона), все пути вроде работают. А вот картинки товаров не работают... Отсутствуют :(

    Сейчас по-новой подцепляю изображения к товарам - вроде всё начинает работать!

    Спасибо за консультации!

  14. Wadamir, файлы конфигурации исправили после (до) переноса на другой хостинг?

    Да, файлы поправил - все картинки на месте (я имею в виду картинки шаблона), все пути вроде работают. А вот картинки товаров не работают... Отсутствуют :(

  15. Здравствуйте!

    Возможно ошибся с месторасположением вопроса, прошу не пинать!

    Такая проблема: поменял хостинг www.eloksal.ru

    Теперь пропали все картинки у товаров. Просматриваю html код страницы - там на месте картинок товара <img src=""> почему-то потерялся путь к картинкам. Никак не выясню где он задается и чем его можно задать. Определяется он переменной $image - ведь так? И почему он мог потеряться?

    Помогите пожалуйста!

    Спасибо!

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.