8 800 500-47-11
8 800 500-47-11
Отдел продаж
База знаний
  • Все решения
  • Интернет-магазины
    • Аспро: Премьер
    • Аспро: Лайтшоп
    • Аспро: Максимум
    • Аспро: Шины и диски 2.0
    • Аспро: Next
    • Аспро: Оптимус
    • Аспро: Шины и диски, интернет-магазин
    • Аспро: Маркет
    • Аспро: Интернет-магазин
    • Аспро: Крутой шоп
  • Корпоративные сайты
    • Аспро: Приорити 2.0
    • Аспро: Корпоративный сайт 3.0
    • Аспро: Корпоративный сайт 2.0
    • Аспро: Стройка 2.0
    • Аспро: Инжиниринг
    • Аспро: Металл
    • Аспро: Digital 2.0
    • Аспро: Детский сад и образовательный центр
    • Аспро: Курорт 2.0
    • Аспро: Ландшафт 2.0
    • Аспро: Автосервис
    • Аспро: Медицинский центр 3.0
    • Аспро: Ландшафт
    • Аспро: Медицинский центр 2.0
    • Аспро: Курорт
    • Аспро: Стройка
    • Аспро: Сайт медицинского центра
    • Аспро: Корпорация
    • Аспро: Корпоративный сайт
    • Аспро: Корпоративный сайт современной компании
    • Аспро: Приорити
    • Аспро: Digital
  • Модули
    • Аспро: Привязка ответственного
    • Аспро: Шинный калькулятор
    • Аспро: Кредитный калькулятор
    • Аспро: Универсальный импорт
  • 1С-Битрикс
    • Общее

Как добавить дополнительные поля в форму покупки в 1 клик?

ID статьи: 66 , создана 06 мая 2016 , последнее исправление  16 мая 2019
Актуально для:
Необходимо добавить дополнительные поля в форму покупки в 1 клик – например, адрес доставки.

Эта статья актуальна только для Аспро: Интернет-магазин! Статья для новых решений.

Решение
Для того, чтобы вывести дополнительные свойства в форму покупки в 1 клик, необходимо отредактировать файлы компонента, а затем добавить описание поля в файле templates.php.

Инструкция:

Перейдите в список свойств заказа:
Магазин → Настройки → Свойства заказа → Список свойств 

В поле «Код» указаны коды свойств, которые вы можете вывести в форму регистрации для покупки в 1 клик и сделать обязательными – Ф.И.О., email, телефон, индекс, город, адрес доставки и т.д.  Скопируйте код нужного поля. 




Перейдите в ftp или файловый менеджер (Контент → Структура сайта → Файлы и папки/ajax) и найдите файлы:

one_click_buy_basket.php – форма покупки в 1 клик в корзине 
one_click_buy.php – форма покупки в 1 клик в карточке товара 

Откройте один из файлов как php. 



Найдите строку, в которой задаются поля формы:
"PROPERTIES" => array( 0 => "FIO", 1 => "EMAIL", 2 => "PHONE", 3 => "COMMENT"),


 Например, вы хотите добавить поле «Адрес доставки». В списке свойств ему соответствует символьный код ADDRESS. В этом случае фрагмент кода в файле примет вид:

 "PROPERTIES" => array( 0 => "FIO", 1 => "EMAIL", 2 => "PHONE", 3 => "COMMENT", 4 => "ADDRESS"),
Сохраните изменения и отредактируйте аналогичным образом второй файл, чтобы поля формы были одинаковыми и для корзины, и для карточки товара. Результат:
 Как видим, у формы нет подписи. Ее нужно создать в шаблоне веб-формы. Для находим в структуре сайта файл template.php.

Путь к файлу:

  • Контент → Структура сайта → Файлы и папки/bitrix/templates/aspro_mshop/components/aspro/oneclickbuy.mshop/shop/lang/ru/template.php – для решения «Аспро: Маркет»

  • Контент → Структура сайта → Файлы и папки/bitrix/templates/aspro_kshop/components/aspro/oneclickbuy.kshop/shop/lang/ru/template.php – для решения «Аспро: Крутой шоп»

  •  Контент → Структура сайта → Файлы и папки/bitrix/templates/aspro_ishop/components/aspro/oneclickbuy.ishop/shop/lang/ru/template.php – для решения «Аспро: Интернет-магазин»

Редактируем его как php. В нашем случае необходимо добавить строку

$MESS['CAPTION_ADDRESS'] = 'Адрес доставки';

Где:

  • ADDRESS – символьный код
  • Адрес доставки – подпись для поля формы.

Отредактируйте файл и сохраните изменения. 

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



Проверяем результат на сайте — у формы покупки в 1 клик появилось новое поле «Адрес доставки»:



Внимание! Информация с дополнительно подключенных полей форм не передается через систему почтовых уведомлений. Данные доступны в списке заказов вашего интернет-магазина.

Как сделать поля обязательными для заполнения, читайте здесь. 


Алексей
29.07.2019 18:39:19
Инструкция устарела и не работает.

В файлах:
one_click_buy_basket.php
one_click_buy.php

Строка изменения параметров теперь выглядит вот так:
"PROPERTIES" => (strlen($tmp = COption::GetOptionString('aspro.next', 'ONECLICKBUY_PROPERTIES', 'FIO,PHONE,EMAIL,ADDRESS,COMMENT', SITE_ID)) ? explode(',', $tmp) : array()),

Добавил поле ADDRESS. и ничего не появилось((

Леонид
10.04.2020 10:58:59
Вот решение, кому нужно: как добавить адрес в покупку в 1 клик:

Родитель
Леонид
10.04.2020 11:02:05
Не дает вставить ссылку на скриншот, забавно.

Пишу прям код сюда тогда:
<?
  $tmp = COption::GetOptionString('aspro.next', 'ONECLICKBUY_PROPERTIES', 'FIO,PHONE,EMAIL,COMMENT', SITE_ID);
  $tmp = $tmp.',ADDRESS';
  ?>
  <?$APPLICATION->IncludeComponent("aspro:oneclickbuy.next", "shop", array(
.......
"PROPERTIES" => (strlen($tmp) ? explode(',', $tmp) : array()),
.........
Родитель
Ксения Щипунова
14.04.2020 11:20:19
Здравствуйте!

Спасибо за комментарий. Эта статья актуальна только для решения Аспро: Интернет-магазин. В новых решениях нужно добавить свойство заказа и выбрать необходимое поле в настройках решения.
Если у вас возникнут новые вопросы по типовым настройкам решения, пишите в нашу техподдержку:
https://aspro.ru/support/
Поможем со всем разобраться.
Родитель
Леонид
14.04.2020 15:39:47
Свойство заказа Адрес (ADDRESS), например, есть, в настройках (Магазин->Список свойств) оно вообще есть по умолчанию, но при этом нет возможности выбрать данное поле для заполнения в модуле Аспро (Некст, если конкретнее).
Родитель
Ксения Щипунова
23.04.2020 10:48:29

Здравствуйте, Леонид!

Спасибо за вопрос. Свойство заказа «Адрес» имеет много строк

http://joxi.ru/KAxW9W4s1YWw12

Если у вас активировано поле «Много строк», то свойство не будет выводиться, так как многострочные свойства не поддерживаются в покупке в 1 клик. Единственное  многострочное свойство в покупке в 1 клик — поле «Комментарий к заказу». Свойство заказа «Адрес» будет выводиться только в однострочном варианте.

Если остались вопросы, напишите, пожалуйста, в техподдержку
https://aspro.ru/support/
С удовольствием поможем со всем разобраться.
Родитель
Леонид
23.04.2020 16:44:40
Да, спасибо, мне уже то же самое ответили в поддержке.
Но вам стоило бы написать где-то об этом, в какой-нибудь статье, чтобы каждый, кто с этим столкнется, не писал в поддержку. Уж больно насущный вопрос.
Родитель
Ксения Щипунова
24.04.2020 18:28:55

У нас на сайте уже опубликована статья о том, как добавить дополнительные поля в форму покупки в 1 клик

https://aspro.ru/kb/article/392/. 

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

 https://aspro.ru/news/
Родитель
Антон
23.06.2018 00:53:55
Добрый день.
Можно ли выводить произвольный текст в форме? Если да то как?
Антон
23.06.2018 01:09:37
нашел.
А можно ли выводить произвольный текст в форме - Нашли дешевле? Если да то как?
Родитель
Валерия (Аспро)
25.06.2018 09:04:53
Антон, добрый день!

Чтобы вывести произвольный текст в форме «Нашли дешевле», измените на странице формы в административной панели вкладку Описание. Процесс и результат показан в ссылках.

http://prntscr.com/jyy47i 
http://prntscr.com/jyy3wo

После сохранения изменений обязательно сбросьте кэш сайта.
Родитель
Владислав
07.08.2017 12:59:10
Пробую в форму вставить чекбокс, он не появляется. версия 1.1.2  внутри не нашел кода, который бы обрабатывал чекбокс в этом случае для всплывающего окна.  А если прописать по аналогии с тестовым полем и добавить условие то чекбокс автоматом снимается при любом клике. Можно ли как то выборочно обновить компонент для исправления такой заковырки.
Сергей
15.02.2017 14:49:40
Здравствуйте. Дополнительное поле в форму быстрого заказа добавил, в карточке заказа вижу значение, которое пользователь вводит при заказе, а как значение этого поля отправить в письме с заказом? Пробовал добавить в шаблон письма #ИМЯПОЛЯ# но приходит пустая строка, куда еще нужно прописать чтобы работало?
Сергей
07.11.2016 15:49:22
Добрый день. Сделал все по инструкции, но название поля так и не отображается.
Мария В.
07.11.2016 15:58:41
Сергей, приветствую! Напишите, пожалуйста, нам в поддержку - поможем настроить.
Родитель