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

Caper111

Новачок
  
  • Публікації

    10
  • З нами

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

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

  1. Разобрался, в самом simplecheckout.php есть две переменные shipping_telephone и просто telephone, валидировать нужно и ту и ту.

    Дам свой скрипт для валидации, возможно помогу кому-то.

    public function validatetelephone($ph) {
        $ph = substr($ph, -10);
        if($ph[0] == "0" && $ph[1] != "0"){
            return "(".$ph[0].$ph[1].$ph[2].") ".$ph[3].$ph[4].$ph[5]."-".$ph[6].$ph[7]."-".$ph[8].$ph[9];
        }
        else return $ph;
    }

    Ну и пример использования

     

    $data['telephone']              = $this->validatetelephone($customer_info['telephone']);

    В итоге теперь пользователи вводят телефон по форме 0998887766 (Украина) и мы в базу получаем (099) 888-77-66 

  2. В 22.01.2021 в 17:40, Dimasscus сказал:

    а в настройках модуля валидацию не пробовали настроить? там она присутствует

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

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

    Моделируем ситуацию - товары в корзине, человек не зарегистрирован, дальше он вводит все свои данные и нажимает "оформить заказ". 

    Мне со стороны модели необходимо вставить валидацию на телефон указанный при этой быстрой регистрации.

    Все что пока получилось - валидация в таблицу order а вот в customer падает неотформатированный телефон. 

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

    Спасибо за помощь.

    p.s. само собой customer.php в модели я редактировал , это не сработало, наверное ещё есть запрос в бд на запись какой-то.

  4. 2 часа назад, chukcha сказал:

    А он умеет?
    Или вы о каком файлменагере ведет речь?

    Модуль ставит в соответствие название переменных  и контенту

    Который в админке в "инструментах" он дает возможность открывать и редактировать файлы.

  5. 9 минут назад, chukcha сказал:

    С чего бі он сломал?

    Он открывает языковые файлы, и пишет в них же

    при этом ничего не портит..
     

    Дак с таким успехом можно и стандартный файл менеджер юзать, кстати, пусть так и делают и не трогают меня :)

  6. 5 минут назад, chukcha сказал:

    Там есть ссылка и на вторую ветку

    Ага.. один..
    Как вы себе представляете  - без модуля.

    Тогда - дайте файл, переведет - зальете

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

     

  7. Добрый день уважаемые коллеги! 

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

    Как это можно реализовть ? 

  8. Только что, Caper111 сказал:

    Доброго времени суток, уважаемые коллеги!

    Столкнулся с нестандартной задачей при работе с модулем simple в opencart 2.1

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

    Так вот, я бы хотел все это решить через Фронт, но не пойму как обращаться к элементу по ID если ID передается следующим образом. 

     

    
    <?php foreach ($payment_methods as $payment_method) { ?>
                  <?php if($payment_method['code'] == 'cash_terminal') if ($id_choice_supermarket != 3 && $id_choice_supermarket != 6 && $id_choice_supermarket != 7 && $id_choice_supermarket != 8 && $_SESSION["default"]["shipping_method"]["code"] != "pickup.pickup") continue;  ?>
                  <?php if($payment_method['code'] == 'liqpay_freeze') if (isset($_POST["reward_bonus_check"]) && strlen($_POST["reward_bonus_check"])>0) continue;  ?>
                  <div class="e5_7 radio" style="padding-bottom: 12px; <?php if($id_choice_supermarket != 8) if($payment_method['code'] != "monobank" && $payment_method['code'] != "card_privat" && $payment_method['code'] != "cash" && $_SESSION["default"]["shipping_method"]["code"] != "courier.courier") echo "display:none";  ?>">
    <input type="radio" data-onchange="reloadAll" class="e9" name="payment_method" value="<?php echo $payment_method['code']; ?>" <?php echo !empty($payment_method['dummy']) ? 'disabled="disabled"' : '' ?> <?php echo !empty($payment_method['dummy']) ? 'data-dummy="true"' : '' ?> id="<?php echo $payment_method['code']; ?>" <?php if ($payment_method['code'] == $code) { ?>checked="checked"<?php } ?> />
                      <label for="<?php echo $payment_method['code']; ?>" class="e9_1">
                          <?php echo $payment_method['title']; ?>
                          <?php if (isset($payment_method['terms'])) { ?>
                              <?php echo $payment_method['terms']; ?>
                          <?php } ?>
                      </label>
                  </div>

     

     

    Само собой, решение без доп.модулей ;) Хардкод 

  9. Доброго времени суток, уважаемые коллеги!

    Столкнулся с нестандартной задачей при работе с модулем simple в opencart 2.1

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

    Так вот, я бы хотел все это решить через Фронт, но не пойму как обращаться к элементу по ID если ID передается следующим образом. 

     

    <?php foreach ($payment_methods as $payment_method) { ?>
                  <?php if($payment_method['code'] == 'cash_terminal') if ($id_choice_supermarket != 3 && $id_choice_supermarket != 6 && $id_choice_supermarket != 7 && $id_choice_supermarket != 8 && $_SESSION["default"]["shipping_method"]["code"] != "pickup.pickup") continue;  ?>
                  <?php if($payment_method['code'] == 'liqpay_freeze') if (isset($_POST["reward_bonus_check"]) && strlen($_POST["reward_bonus_check"])>0) continue;  ?>
                  <div class="e5_7 radio" style="padding-bottom: 12px; <?php if($id_choice_supermarket != 8) if($payment_method['code'] != "monobank" && $payment_method['code'] != "card_privat" && $payment_method['code'] != "cash" && $_SESSION["default"]["shipping_method"]["code"] != "courier.courier") echo "display:none";  ?>">
    <input type="radio" data-onchange="reloadAll" class="e9" name="payment_method" value="<?php echo $payment_method['code']; ?>" <?php echo !empty($payment_method['dummy']) ? 'disabled="disabled"' : '' ?> <?php echo !empty($payment_method['dummy']) ? 'data-dummy="true"' : '' ?> id="<?php echo $payment_method['code']; ?>" <?php if ($payment_method['code'] == $code) { ?>checked="checked"<?php } ?> />
                      <label for="<?php echo $payment_method['code']; ?>" class="e9_1">
                          <?php echo $payment_method['title']; ?>
                          <?php if (isset($payment_method['terms'])) { ?>
                              <?php echo $payment_method['terms']; ?>
                          <?php } ?>
                      </label>
                  </div>

     

     

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

Important Information

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