Перейти к содержанию
kegel

Отображение полей заказа в админке

Рекомендуемые сообщения

1.5.3.1

Админка

Меню --> Продажи --> Заказы --> Изменить --> Детали оплаты

Если покупатель купивший товар зарегистрирован, то в этой вкладке показываются поля * Company ID: и * Tax ID:

Если покупатель не зарегестрирован в магазине то эти поля не показываются.

Все покупатели(зарегистрированные и незарегистрированные) находятся в группе Default(в таблице order customer_group_id (у каждого = 1)

У зарегистрированных пользователей в таблице order customer_id у каждого свой

У незарегистрированных пользователей в таблице order customer_id у каждого = 0

В админке

Меню --> Продажи --> Покупатели --> Группы покупателей --> Default - Изменить переключатели "Display Company No." и "Display Tax ID" выставлены в НЕТ.

Коллеги, ткните носом на нужный файл и функцию в нем, которая для зарегистрированных пользователей выводит эти поля. Не могу найти этого в admin/controller/sale/order.php

Хочется разобраться именно в этом, а не просто не выводить эти поля путем правки admin/view/template/sale/order_form.tpl

Спасибо. Вот тут и происходит вывод, но он переплетен с Ajax-ом и поэтому не могу с ним справиться. Прошу помочь кто дружит с аяксом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подозреваю, что за вывод этих полей отвечает функция

$('select[id=\'customer_group_id\']').live('change', function() {
$('input[name=\'customer_group_id\']').attr('value', this.value);

var customer_group = [];

<?php foreach ($customer_groups as $customer_group) { ?>
customer_group[<?php echo $customer_group['customer_group_id']; ?>] = [];
customer_group[<?php echo $customer_group['customer_group_id']; ?>]['company_id_display'] = '<?php echo $customer_group['company_id_display']; ?>';
customer_group[<?php echo $customer_group['customer_group_id']; ?>]['company_id_required'] = '<?php echo $customer_group['company_id_required']; ?>';
customer_group[<?php echo $customer_group['customer_group_id']; ?>]['tax_id_display'] = '<?php echo $customer_group['tax_id_display']; ?>';
customer_group[<?php echo $customer_group['customer_group_id']; ?>]['tax_id_required'] = '<?php echo $customer_group['tax_id_required']; ?>';
<?php } ?>
if (customer_group[this.value]) {
 if (customer_group[this.value]['company_id_display'] == '1') {
  $('#company-id-display').show();
 } else {
  $('#company-id-display').hide();
 }

 if (customer_group[this.value]['company_id_required'] == '1') {
  $('#company-id-required').show();
 } else {
  $('#company-id-required').hide();
 }

 if (customer_group[this.value]['tax_id_display'] == '1') {
  $('#tax-id-display').show();
 } else {
  $('#tax-id-display').hide();
 }

 if (customer_group[this.value]['tax_id_required'] == '1') {
  $('#tax-id-required').show();
 } else {
  $('#tax-id-required').hide();
 }
}
});

Меняю в условии $('#company-id-display').show(); на $('#company-id-display').hide(); но изменений никаких. Кто-то поможет в этом вопросе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

код, который вы привели отвечает за "показ/скрытие" тех полей при смене группы юзера в выпадающем списке.

но этот список выводится со свойством "disabled", т.е. в заказе изменить группу юзера нельзя.

скорее всего не хватает дополнительно кода в шаблоне.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, понял для чего этот код. Наконец-то прояснилось. Попробовал убрать свойство "disabled", тогда поля Display Company No." и "Display Tax ID" не отображаются у всех пользователей независимо от того зарегестрировани он или нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вы неправильно поняли.

этот код вам трогать вовсе не надо.

там надо добавить другой javascript-код (подробнее сейчас не могу написать).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А я его и не трогаю(javascript-код). В HTML коде в строке <td class="left"><select id="customer_group_id" <?php echo ($customer_id ? 'disabled="disabled"' : ''); ?>> как раз то что мне надо. У незарегистрированного пользователя customer_id = 0(у остальных от 1 до скольки угодно). В условном выражении таким пользователям присваивается '' и для них не отображаются ненужные мне поля, а для зарегестрированных если убрать disabled="disabled" то ненужные мне поля не отображаются и для этих пользователей. Появляется только возможность изменять им группу, но этого никто делать не будет. Еще можно это выражение убрать и оставить только <td class="left"><select id="customer_group_id" >

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.