Введите часть искомого слова, названия или фразы...
↑ ↓
  1. Новые темы озаглавленные с маленькой буквы - удаляются без предупреждения!
  2. Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!

Настройка вариантов полей пользователя в корзине

Тема в разделе "Вопросы, советы и доработки.", создана пользователем OniX, 22 янв 2015.

  1. OniX

    OniX

    Сообщения:
    28
    Симпатии:
    3
    Баллы:
    3
    Всем добрый день.

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

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

    3.Еще хотелось бы сделать загрузку файла при оформлении заказа (например, прикрепить реквизиты)
    http://wpcommerce.ru/threads/fajl-k-on-lajn-zakazu.684/ этот плагин не работает у меня почему то, да и делает не совсем как нужно.

    Как реализовать, сталкивался кто?
     
  2. D&B

    D&B Администратор Команда форума Местный

    Сообщения:
    3.554
    Симпатии:
    822
    Баллы:
    113
    Не уверен на 100, но мне кажется премиум вариант WooCommerce Checkout Manager Pro с этим справится в отличие от бесплатного. Почитайте повнимательнее.
     
    • Нравится Нравится x 1
  3. OniX

    OniX

    Сообщения:
    28
    Симпатии:
    3
    Баллы:
    3
    1. решил скриптом
    Код:
    <style>
    #billing_company_field, #billing_inn_field, #billing_kpp_field {display:none;}
    </style>
    
    <div id="lico-form">
    <input id="chkl" title="Отметьте если Вы являетесь юридическим лицом" type='checkbox' onchange="
                                                            document.getElementById('billing_company_field').style.display = this.checked ? 'block' : 'none';
                                                            document.getElementById('billing_inn_field').style.display = this.checked ? 'block' : 'none';
                                                            document.getElementById('billing_kpp_field').style.display = this.checked ? 'block' : 'none';                                                    
    " /><label>Юридическое лицо</label>
    <p id="info" style="display:none;"></p>
    </div>
    
    Если чекбокс нажат то открываются доп поля, которые я уже предварительно создал (изначально не отображаются)

    Хочется еще менять обязательность для этих полей. Т.е. если чекбокс нажат, то они обязательны, иначе нет.
    Если их изначально выставить обязательными, то при пустом чекбоксе, заказ не пройдет, т.к. даже скрытые обязательные поля обрабатываются.
    Как woocommerce делает проверку обязательных полей?
     
    • Нравится Нравится x 1
  4. dim70

    dim70

    Сообщения:
    171
    Симпатии:
    14
    Баллы:
    18
    Добрый вечер. А не подскажите, как сделать, так чтобы при нажатие так же ещё закрывались поля имя и фамилия?
     
  5. dim70

    dim70

    Сообщения:
    171
    Симпатии:
    14
    Баллы:
    18
    собственно вот попробовал и получилось. Вот код выводящий новые поля и скрывающий те которые уже есть
    Код:
    <div id="lico-form">
    Отметьте этот пункт, если Вы являетесь юридическим лицом
    <br>
    <input id="chkl" title="Отметьте если Вы являетесь юридическим лицом" type='checkbox' onchange="
                                                            document.getElementById('billing_company_field').style.display = this.checked ? 'block' : 'none';
                                                            document.getElementById('billing_new_fild11_field').style.display = this.checked ? 'block' : 'none';
                                                            document.getElementById('billing_new_fild12_field').style.display = this.checked ? 'block' : 'none';
                                                            document.getElementById('billing_first_name_field').style.display = this.checked ? 'none' : 'block';
                                                            document.getElementById('billing_last_name_field').style.display = this.checked ? 'none' : 'block';                                                   
    " /><label>Юридическое лицо</label>
    <p id="info" style="display:none;"></p>
    </div>
    и стили правим немножко тоже
     
  6. dim70

    dim70

    Сообщения:
    171
    Симпатии:
    14
    Баллы:
    18
    сразу не понял о чём идёт речь, и только сейчас до меня дошло. Получается или делать поля необязательными или искать другой вариант...