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

Модуль Модуль Simple - упрощенная регистрация и заказ [Поддержка]


Recommended Posts

Подскажите как добавить вывод артикула в оформлении заказа ?  А то там только модель.

модуль этого не умеет нужно вручную код править. 

Надіслати
Поділитися на інших сайтах

Подскажите, пожалуйста. Сейчас у меня форма заказа выглядит вот так:

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

 

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

 

3) Хотелось бы вместо "Город" сделать поле "Населенный пункт" и предложить выпадающий список городов и поле, где можно указать свой населенный пункт, которого нет в списке. Причем к городам должна быть привязана цена доставки. Т.е. сразу при выборе города в способе доставки писалось "Платная доставка xxx руб.". Реально ли это?

1) может где-то осталась ссылка на стандартный заказ? либо есть какой-то модуль определения по айпи, который ставили и отключили.

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

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

Надіслати
Поділитися на інших сайтах

Подскажите как добавить вывод артикула в оформлении заказа ?  А то там только модель.

копипастой по аналогии с полем модели ('model') начиная с класса корзины опенкарта и по восходящей цепочке

/system/library/cart.php

/catalog/controller/checkout/simplecheckout_cart.php

/catalog/view/theme/ваша/template/checkout/simplecheckout_cart.tpl

Надіслати
Поділитися на інших сайтах

Здравствуйте. Захотел добавить в базу город, чтобы он отображался в автодополнении модуля. В таблице geo добавил город:

id 3962569

zone_id 3972

name Алушта

full_name Алушта, АР Крым

postcode 298500

parent_id 3972

lat 0.000000

long 0.000000

population 0

 

Но город в автодополнение не добавился. Что я не так сделал?

Надіслати
Поділитися на інших сайтах


И ещё вопрос: можно ли как-то запрещать регистрацию людям, телефон которых уже есть в базе данных?

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

по базе - почистить кэш /system/cache

можете также проверить через запрос к базе

SELECT g.id,g.full_name,g.name,g.postcode,z.zone_id,z.country_id FROM geo g LEFT JOIN zone z ON g.zone_id = z.zone_id WHERE g.name LIKE 'Алу%' AND g.postcode <> '' ORDER BY population DESC LIMIT 100
Надіслати
Поділитися на інших сайтах

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

У вас в демо( версия 3.8.3 ) я что-то такого не нашёл, там валидация почты по регулярке идёт. Может я не там смотрю( вкладка Настройки полей покупателя )?

Надіслати
Поділитися на інших сайтах


У вас в демо( версия 3.8.3 ) я что-то такого не нашёл, там валидация почты по регулярке идёт. Может я не там смотрю( вкладка Настройки полей покупателя )?

в старой у телефона все равно можно сделать валидацию через апи, там есть такой пункт

метод описать в catalog\model\tool\simpledata.php, возвращать из него текст ошибки.

Надіслати
Поділитися на інших сайтах

Многие просили описать процесс интеграции Simple с модулем подсказок DaData github.com/hflabs/suggestions-opencart

После установки модуля вроде как все работает, но есть ряд неудобств:

Например после ввода адрес в модуле DaData адрес выводится, подставляется в нужные поля, но поскольку у меня способы доставки зависят от региона, то необходимо вызывать перезагрузку формы Simle.

Спасибо автору модуля Simle!

 

Итак, изменения в файле

catalog/view/javascript/jquery/dadata/dadata.js

onSelect: function(suggestion) {
    if (!suggestion.data) {
        return;
    }
    $('.dadata-additional').remove();
    var $where = $(this).parents(".simplecheckout-block");
    
    if (!$where.length) {
        $where = $(document);
    }
    var address = suggestion.data;
    if ($options.additional == '1') {
        $(this).next('.suggestions-wrapper').after(
            self.getAdditional(address)
        );
    }
    $where.find("input[name*=postcode]").val(
        nvl(address.postal_code)
    );
    $where.find("input[name*=city]").val(
        self.getCity(address,$options.dadata_citytype)
    );
    $where.find("input[name*=address_1]").val(
        self.getStreetAddress(address)
    );
    if (address.region) {
        self.selectRegion(address, $where.find("select[name*=zone_id]"));
    }
}

Добавить после

 

if (address.region) {
self.selectRegion(address, $where.find("select[name*=zone_id]"));
}

этот фрагмент

 

if (typeof reloadAll === 'function') {
reloadAll();
}

 

После этого форма перезагружается, но так же поле ввода адреса сбрасывается и если необходимо ввести номер дома и корпуса, то нужно весь адрес вбивать заново. Поэтому вносим изменения в файл:

/catalog/view/theme/default/template/module/dadata.tpl

function initFields() {
if (status == '1') {
$('div#content').css('overflow', 'visible');


FullNameSuggestions.init({
name: $('input[name*=firstname]'),
surname: $('input[name*=lastname]'),
url: dadataUrl,
token: "d16ca602c97fdf62447f8cd3b0c3dc2231525607",
tips: "10",
correction: "1",
view_gender: "0"
});

if ($('input[name=address]').length == 0) {
var addressParent = $('input[name*=address_1]').parents("tbody");
if (addressParent.length > 0) addressParent.prepend('<tr><td colspan = "2">' + addressInputHtml + '</td></tr >')
else {
addressParent = $('input[name*=address_1]').prevAll("span");
if (addressParent.length > 0)
addressParent.before(addressInputHtml);
}

FullAddressSuggestions.init({
address: $('input[name=address]'),
url: dadataUrl ,
dadata_citytype: 1,
token: "d16ca602c97fdf62447f8cd3b0c3dc2231525607",
tips: "10",
correction: "1",
additional: "0"
});
}
}

}

После

 

FullAddressSuggestions.init({
address: $('input[name=address]'),
url: dadataUrl ,
dadata_citytype: 1,
token: "d16ca602c97fdf62447f8cd3b0c3dc2231525607",
tips: "10",
correction: "1",
additional: "0"
});
}
}

 

Добавить

 

if (window.suggText) {

$('#simplecheckout_shipping_address .suggestions-input').focus().val(window.suggText);

window.suggText = '';

}

 

ну вроде как все, надеюсь ничего не упустил.

P.S. Все изменения в файлы вы вносите на свой страх и риск. Автор модуля Simple и Я ответственности за работоспособность не несем.

Змінено користувачем hanko
  • +1 1
Надіслати
Поділитися на інших сайтах


А можно вместо :

<th class="model"><?php echo $column_model; ?></th>

в корзине как-то отображать SKU?

тут

/system/library/cart.php

код

'model'                     => $product_query->row['model'],

Надіслати
Поділитися на інших сайтах

hanko сказал(а) 17 Ноя 2015 - 7:57 PM:

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

Внес изменения. Форма то перегружается, но поле ввода полного адреса сбрасывается, ввести улицу получается только в поле "Адрес" :(

т.е ввожу Волгоград(пробел)(перегрузка формы), поле ввода адреса пустая, поля регион, город, индекс - заполнены, Адрес - естественно пусто.

Надіслати
Поділитися на інших сайтах


вопрос снят, оказывается надо менять в  /system/storage/modification/system/library

и при первом же обновлении кеша модификаций снова все слетит :ugeek:

 

когда меняете что-то в коде движка, на всякий случай нужно сбрасывать кеш модификаций

просто оттого что меняемый файл уже мог быть изменен каким-то модификатором - как в вашем случае, судя по всему ;)

Надіслати
Поділитися на інших сайтах

и при первом же обновлении кеша модификаций снова все слетит :ugeek:

 

когда меняете что-то в коде движка, на всякий случай нужно сбрасывать кеш модификаций

просто оттого что меняемый файл уже мог быть изменен каким-то модификатором - как в вашем случае, судя по всему ;)

так и произошло. тогда как быть?

 

какой то алгритм надо что ли (((

Змінено користувачем Dimansh
Надіслати
Поділитися на інших сайтах


Внес изменения. Форма то перегружается, но поле ввода полного адреса сбрасывается, ввести улицу получается только в поле "Адрес" :(

т.е ввожу Волгоград(пробел)(перегрузка формы), поле ввода адреса пустая, поля регион, город, индекс - заполнены, Адрес - естественно пусто.

Не могу изменить свой пост уже.

Перед первым фрагментом ещё добавить

window.suggText = $el.val();

Таким образом код добавления в первом файле должен быть

window.suggText = $el.val();

if (typeof reloadAll === 'function') {

reloadAll();

}

Надіслати
Поділитися на інших сайтах


после каждого изменения кода - надо обновлять кеш, а сами файлы модификаций не трогать?

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

да и порой ручное обновление глючит, нужно пару раз то очищать кэш, то обновлять, сталкивался пару раз

Надіслати
Поділитися на інших сайтах

в старой у телефона все равно можно сделать валидацию через апи, там есть такой пункт

метод описать в catalog\model\tool\simpledata.php, возвращать из него текст ошибки.

Большое спасибо, вроде работает. Вот чего набыдлокодил:

public function  validate_main_telephone( $telephone ){

		$telephones = $this->db->query("SELECT telephone FROM customer");

		foreach( $telephones->rows as $telArr ){
			if( $telArr['telephone'] === $telephone ){
				return 'Этот телефон ' . $telephone . ' уже есть в базе данных!';
			}
		}
	}

Посмотрите, может лучше можно сделать?

Надіслати
Поділитися на інших сайтах


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

да и порой ручное обновление глючит, нужно пару раз то очищать кэш, то обновлять, сталкивался пару раз

спасибо. разобрался.

Надіслати
Поділитися на інших сайтах


Большое спасибо, вроде работает. Вот чего набыдлокодил:

public function  validate_main_telephone( $telephone ){

		$telephones = $this->db->query("SELECT telephone FROM customer");

		foreach( $telephones->rows as $telArr ){
			if( $telArr['telephone'] === $telephone ){
				return 'Этот телефон ' . $telephone . ' уже есть в базе данных!';
			}
		}
	}

Посмотрите, может лучше можно сделать?

public function  validate_main_telephone($telephone) {
        if (empty($telephone)) {
            return 'Укажите телефон!';
        }

        if (!$this->customer->isLogged()) {
            $query = $this->db->query("SELECT * FROM customer WHERE telephone = '" . $this->db->escape($telephone) . "'");

            if ($query->num_rows) {
                return 'Этот телефон ' . $telephone . ' уже есть в базе данных!';
            }
        }

        return '';
    }
Надіслати
Поділитися на інших сайтах

Уважаемый deeman, возможно ли в вашем модуле сделать настройку минимальной суммы заказа в зависимости от способа доставки?

Я планирую установить подобный модуль https://opencartforum.com/files/file/2117-%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D0%B0-%D0%B2-%D0%B7%D0%B0%D0%B2%D0%B8%D1%81%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D0%B8-%D0%BE%D1%82-%D0%BA%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D0%B8-%D0%B8-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82/

И, соответственно, планирую настроить разные способы доставки в зависимости от категории товара.

 

Покупатель при заказе товара из определённых категорий сможет выбрать только определённый способ доставки. И только потом от этого должна зависеть сумма заказа.

 

Возможно ли это? Будет ли совместим модуль приведённый по ссылке выше с вашим? Или, возможно, вы посоветуете какой-то другой модуль/способ?

 

У меня задача такая:

 

Есть онлайн-витрина, в которой представлены товары двух категорий:

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

2. Большой ассортимент продуктов питания и товаров с бОльшим сроком годности, в упаковках и тд.

Доставка продукции из первой категории на машине с холодильником и только в определённое время, доставка второй категории 2 раза в неделю курьером.

Также есть самовывоз (бесплатно).

Необходимо сделать минимальную сумму заказа для каждого способа доставки.

Возможно ли это в вашем модуле, или в связке с упомянутым по ссылке модулем?

Буду благодарен за любую помощь или направление автору модуля и другим участникам форума!

Надіслати
Поділитися на інших сайтах


  • dinox changed the title to Модуль Simple - упрощенная регистрация и заказ [Поддержка]

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

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