Jump to content
MilesPrower

Как убрать обязательные поля админка - заказы

Recommended Posts

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

нужно убрать поля ненужные.

Лазил в admin\controller\sale\orders и т.п. ничего разумнго не нашел

Share this post


Link to post
Share on other sites

admincontrollersaleorders

Там же только отображение заказа. Только статус заказа можно менять. И что при изменений требует заполнить поля?

У меня не требует.

Возможно требует заполнить в разделе покупатели. Когда редактируете самого покупателя.

Тогда вот файлы для редактирования

admin/controller/sale/customer.php (тут прописывается правила)

admin//view/template/sale/customer.php (тут визуальный вид и поля)

Или нормально объясните что именно хотите убрать, и какие поля и где требует заполнить.

Share this post


Link to post
Share on other sites

admin\controller\sale\orders

Там же только отображение заказа. Только статус заказа можно менять. И что при изменений требует заполнить поля?

У меня не требует.

Возможно требует заполнить в разделе покупатели. Когда редактируете самого покупателя.

Тогда вот файлы для редактирования

admin/controller/sale/customer.php (тут прописывается правила)

admin//view/template/sale/customer.php (тут визуальный вид и поля)

Или нормально объясните что именно хотите убрать, и какие поля и где требует заполнить.

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

нужно эти поля как раз убрать.

post-22480-0-93305500-1351007599_thumb.png

Share this post


Link to post
Share on other sites

Не нашел, как поля убрать, чтобы обязательными небыли.

if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {

$this->error['telephone'] = $this->language->get('error_telephone');

}

Вот посути, это отвечает за поле.

Удаляю а ничего не происходит

Share this post


Link to post
Share on other sites

Помогите та-же беда....

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Живые деньги тут :-)

Share this post


Link to post
Share on other sites

В admin\controller\sale\order.php

в функции private function validateForm()

закомментировать для Фамилии

/* if ((utf8_strlen($this->request->post['lastname']) < 1) || (utf8_strlen($this->request->post['lastname']) > 32)) {
    $this->error['lastname'] = $this->language->get('error_lastname');
 } */

и то же самое сделать в admin\controller\sale\customer.php

Другие поля по аналогии

  • +1 3

Share this post


Link to post
Share on other sites

не работает!!!

Все рабоет! Просто замените два файла в папке admin\controller\sale - order.php, custumer.php. (Кинул их в прикрепление, оба рабочие уже закоментированные).

 

А визуально, чтобы убрать * нужно обновить файл order_form.tpl которой по адресу admin/view/template/sale (его закинул в прикрепленые файлы, только поменяйте разрешение с txt на tpl в моем файле, на случай если решите поменять).

 

customer.php

 

  • +1 1

Share this post


Link to post
Share on other sites

Все рабоет! Просто замените два файла в папке admin\controller\sale - order.php, custumer.php. (Кинул их в прикрепление, оба рабочие уже закоментированные).

 

А визуально, чтобы убрать * нужно обновить файл order_form.tpl которой по адресу admin/view/template/sale (его закинул в прикрепленые файлы, только поменяйте разрешение с txt на tpl в моем файле, на случай если решите поменять).

 

 

attachicon.gifcustomer.php

 

Share this post


Link to post
Share on other sites

Спрошу здесь. А как выпадающее меню с выбором страны заменить на обычное текстовое? И регионы удалить!

Share this post


Link to post
Share on other sites

Очень бы хотелось заменить выпадающее меню с выбором страны при регистрации нового пользователя на обычное текстовое поле. В каких файлах это искать?

Share this post


Link to post
Share on other sites

А можно еще раз скинуть файл order_form.tpl 

Почему-то не вижу его в закинутых в прикрепленные файлы

Share this post


Link to post
Share on other sites

kagan, спасибо файлы помогли. Может кто то еще знает как способ доставки оплаты можно выбрать? http://prntscr.com/3epa9h и отослать заказ на мыло?

Share this post


Link to post
Share on other sites

Все рабоет! Просто замените два файла в папке admin\controller\sale - order.php, custumer.php. (Кинул их в прикрепление, оба рабочие уже закоментированные).

 

А визуально, чтобы убрать * нужно обновить файл order_form.tpl которой по адресу admin/view/template/sale (его закинул в прикрепленые файлы, только поменяйте разрешение с txt на tpl в моем файле, на случай если решите поменять).

 

 

attachicon.gifcustomer.php

Огромное спасибо!

Share this post


Link to post
Share on other sites

подскажите, а как убрать Страну с обязательных и другие обязательные поля? 

Share this post


Link to post
Share on other sites

подскажите, а как убрать Страну с обязательных и другие обязательные поля? 

 

А можно еще раз скинуть файл order_form.tpl 

Почему-то не вижу его в закинутых в прикрепленные файлы

 

Для отключения обязательных полей при сохранения заказа в админке Opencart 1.5.5.1.1. нужно отредактировать 2 файла:

1) сайт\admin\controller\sale\order.php

Находите строку

     if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {
        $this->error['telephone'] = $this->language->get('error_telephone');
     }

и комментируете те поля, которые вам не надо, например имейл

/*
     if ((utf8_strlen($this->request->post['telephone']) < 3) || (utf8_strlen($this->request->post['telephone']) > 32)) {
        $this->error['telephone'] = $this->language->get('error_telephone');
     }
*/

2) сайт\admin\view\template\sale\order_form.php

Будем удалять обязательное поле для телефона. Найдите строку:

            <tr>
              <td><span class="required">*</span><?php echo $entry_telephone; ?></td>
              <td><input type="text" name="telephone" value="<?php echo $telephone; ?>" />
                <?php if ($error_telephone) { ?>
                <span class="error"><?php echo $error_telephone; ?></span>
                <?php } ?></td>
            </tr>

Чтобы удалить красную звездочку * просто удаляем следующий код:

<span class="required">*</span>

и удаляем вывод ошибки, стираем след. код:

<?php if ($error_telephone) { ?>
     <span class="error"><?php echo $error_telephone; ?></span>
<?php } ?>

В итоге на выходе должно получиться так:

<tr>
  <td><?php echo $entry_telephone; ?></td>
  <td><input type="text" name="telephone" value="<?php echo $telephone; ?>" /></td>
</tr>

Share this post


Link to post
Share on other sites

Спасибо за инструкцию!

Share this post


Link to post
Share on other sites

Все получилось кроме payment_country_id

Этот пункт отличается по структуре от остальных. Что там комментировать?

Share this post


Link to post
Share on other sites

С простыми полями всё понятно. Если они вовсе не нужны, чтобы не ковыряться в контроллерах просто задаешь значение по-умолчанию (value) и ставишь display:none.
 
А вот как в select вписать значение по-умолчанию, чтобы "Страна" и "Регион" были автоматически заполнены?

            <tr>
              <td><span class="required">*</span> <?php echo $entry_country; ?></td>
              <td><select name="payment_country_id">
                  <option value=""><?php echo $text_select; ?></option>
                  <?php foreach ($countries as $country) { ?>
                  <?php if ($country['country_id'] == $payment_country_id) { ?>
                  <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
                  <?php } else { ?>
                  <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
                  <?php } ?>
                  <?php } ?>
                </select>
                <?php if ($error_payment_country) { ?>
                <span class="error"><?php echo $error_payment_country; ?></span>
                <?php } ?></td>
            </tr>
            <tr>
  • +1 1

Share this post


Link to post
Share on other sites

спасибо, полезная тема! 8-)

Share this post


Link to post
Share on other sites

Победил страны и регионы !!!

Разбирался сам. Так как в коде не силен сори если что то где то полезет работает на opencart 1.5.6.4 точно!!! проверено на рабочем магазине

Примечания относятся как к первому случаю так и ко второму!!!

Инструкция:

 
Инструкция для отмены выбора страны в админке проделано на Opencart 1.5.6.4
 
В файле admin/view/template/sale/order_form.tpl
 
Изменения для "Деталей оплаты"
 
Для страны:
 
приблизительно 151 строка находим :
<td><span class="required">*</span> <?php echo $entry_country; ?></td>
              <td><select name="payment_country_id">
                  <option value=""><?php echo $text_select; ?></option>
                  <?php foreach ($countries as $country) { ?>
                  <?php if ($country['country_id'] == $payment_country_id) { ?>
                  <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
                  <?php } else { ?>
                  <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
                  <?php } ?>
                  <?php } ?>
                </select>
                <?php if ($error_payment_country) { ?>
                <span class="error"><?php echo $error_payment_country; ?></span>
                <?php } ?></td>
Меняем : 
 
<td><span class="required">*</span> <?php echo $entry_country; ?></td>
              <td><select name="payment_country_id">
                  <option value="220">Украина</option>
                </select>
                <?php if ($error_payment_country) { ?>
                <span class="error"><?php echo $error_payment_country; ?></span>
                <?php } ?></td>
            <tr>
 
значение value="220" 220 это ID Украины (в моем случае) меняете на свой если нужно
 
Далее для региона:
<tr>
              <td><span class="required">*</span> <?php echo $entry_zone; ?></td>
              <td><select name="payment_zone_id">
                </select>
                <?php if ($error_payment_zone) { ?>
                <span class="error"><?php echo $error_payment_zone; ?></span>
                <?php } ?></td>
            </tr>
Меняем  :
<td><span class="required">*</span> <?php echo $entry_zone; ?></td>
              <td><input type="text" name="payment_zone_id" value="<?php echo "Киев" ?>" />
                <?php if ($error_payment_zone) { ?>
                <span class="error"><?php echo $error_payment_zone; ?></span>
                <?php } ?></td>
 
Значение value="<?php echo "Киев" ?>" Киев указанно в моем случаем можем смело менять на что угодно
 
Изменения для "Деталей доставки"
 
Для страны :
<td><span class="required">*</span> <?php echo $entry_country; ?></td>
              <td><select name="shipping_country_id">
                  <option value=""><?php echo $text_select; ?></option>
                  <?php foreach ($countries as $country) { ?>
                  <?php if ($country['country_id'] == $shipping_country_id) { ?>
                  <option value="<?php echo $country['country_id']; ?>" selected="selected"><?php echo $country['name']; ?></option>
                  <?php } else { ?>
                  <option value="<?php echo $country['country_id']; ?>"><?php echo $country['name']; ?></option>
                  <?php } ?>
                  <?php } ?>
                </select>
                <?php if ($error_shipping_country) { ?>
                <span class="error"><?php echo $error_shipping_country; ?></span>
                <?php } ?></td>
 
 
Меняем на :
 
<td><span class="required">*</span> <?php echo $entry_country; ?></td>
              <td><select name="shipping_country_id">
                  <option value="220">Украина</option>
                </select>
                <?php if ($error_shipping_country) { ?>
                <span class="error"><?php echo $error_shipping_country; ?></span>
                <?php } ?></td>
 
Далее для региона :
 
<td><span class="required">*</span> <?php echo $entry_zone; ?></td>
              <td><select name="shipping_zone_id">
                </select>
                <?php if ($error_shipping_zone) { ?>
                <span class="error"><?php echo $error_shipping_zone; ?></span>
                <?php } ?></td>
Меняем на :
 
<td><span class="required">*</span> <?php echo $entry_zone; ?></td>
              <td><input type="text" name="shipping_zone_id" value="<?php echo "Киев" ?>" />
                <?php if ($error_shipping_zone) { ?>
                <span class="error"><?php echo $error_shipping_zone; ?></span>
                <?php } ?></td>
 
 
И во время нажатия кнопки "обновить итоги" мы сможем спокойно менять методы оплаты и доставки без заполнения этих 4х полей
так как выше в теме упоминалось как коментить не нужные данные описывать это не буду.
Удачи 
  • +1 1

Share this post


Link to post
Share on other sites

Есть решение для 2,0?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.