Последние темы


Записки велосипедиста №3. Печать заказов из под админки (простая версия).

  • Добрейшего времени суток. Решил предложить один из самых простых вариантов для печати заказа из под админки. Чуть позже будет "продвинутая" система с плюшками, вроде печати нескольких заказов
    Attention/внимание/увага/piesardzība - решение простое, ничего не сломает. Но предупреждаю - оно колхозное.

    Шаг №1
    Открываем /assets/components/shopkeeper3/mgr/css/shk-style.css и вставляем в конец файла:

    @media print {           
        #modx-header, #modx-leftbar, #x-plain-bwrap, #ext-gen21, .amod-container-b, .modal-footer, .nav-tabs, .modal-header {
        display: none !important;
            
        }
        
        #modx-content {
        width: 100% !important;
        left: 0px !important;
        }
               
        .modal-content {
            border: none !important;
            box-shadow: none !important;
        }
    }
    

    Шаг №2
    Открываем /core/components/shopkeeper3/templates/home.tpl , находим строку 297 (перед </uib-tabset>) и вставляем код:

    <!-- печать заказа -->
                <uib-tab heading="Печать" onclick="window.print();">
                    
                    <div id="print_field">
                         <div style="page-break-after: always;">
                            <h1>Заказ {{data.order.id}}</h1>
                            <table class="table table-bordered">
                               <thead>
                                  <tr>
                                     <td style="width: 50%;">Данные заказчика</td>
                                     <td style="width: 50%;">Информация о заказе</td>
                                  </tr>
                               </thead>
                               <tbody>
                                  <tr>
                                     <td style="width: 50%;">
                                       <span ng-repeat="item in data.order.contacts">
                                            <b>{{item.label}}:</b>
                                            {{item.value}} <br>
                                        </span> 
                                     </td>
                                     <td style="width: 50%;">
                                        <b>Время добавления</b> {{data.order.date}}<br>
                                        <b>№ Заказа</b> {{data.order.id}}<br>
                                        <b>Способ оплаты</b> {{data.order.payment}}<br>
                                        <b>Способ доставки</b> {{data.order.delivery}}<br>
                                     </td>
                                  </tr>
                               </tbody>
                            </table>
            
                            <table class="table table-bordered">
                               <thead>
                                  <tr>
                                     <td><b>#</b></td>
                                     <td><b>ID товара</b></td>
                                     <td><b>Товар</b></td>
                                     <td><b>Параметры</b></td>
                                     <td class="text-right"><b>Количество</b></td>
                                     <td class="text-right"><b>Цена за единицу</b></td>
                                  </tr>
                               </thead>
                               <tbody>
                                   <tr ng-repeat="item in data.order.purchases">
                                            <td>{{$index+1}}</td>
                                            <td>{{item.p_id}}</td>
                                            <td>{{item.name}}</td>
                                            <td>
                                                <div ng-repeat="opt in item.options">{{ opt[0] }}</div>
                                            </td>
                                            <td>{{item.count}}</td>
                                            <td>{{item.price | number: 2}}</td>
                                        </tr>
                                  <tr>
                                     <td class="text-right" colspan="5"><b>{{data.order.delivery}}</b></td>
                                     <td class="text-right">{{data.order.delivery_price}} {{data.order.currency}}</td>
                                  </tr>
                                  <tr>
                                     <td class="text-right" colspan="5"><b>Итого</b></td>
                                     <td class="text-right">{{data.total_price | number: 2}} {{data.order.currency}}</td>
                                  </tr>
                               </tbody>
                            </table>
                         </div>
                      </div>
                    
                </uib-tab>
                <!-- печать заказа -->
    

    Получается вот такой результат:
    0_1488808041431_2.png
    0_1488808023904_1.png

  • А если заказов много, то этот вариант не подходит

  • Участник @JaGGer написал в Записки велосипедиста №3. Печать заказов из под админки (простая версия).:

    А если заказов много, то этот вариант не подходит

    Почему?

  • @Andchir Если товаров много, то и на документе A4 например не вмещаются все товары а новые страницы Chrome не создал

  • @JaGGer
    Теперь понятно, выше вы писали "если заказов много". Заказы и товары это разные вещи.

  • @Andchir Согласен! Прошу прощения, ошибся 😊

 

Последние комментарии

  • M

    @Andchir , спасибо. Проблема и правда была в одном из плагинов, который на другом сайте нормально работает

    Читать далее
  • Что нового в Shopkeeper 4.0.3:

    Исправлено некорректное определение языка по умолчанию В настройках в админке скрываются пароли. Добавлена возможность загружать картинки для категорий. shopkeeper.js - добавлена функция updateProductsPrice() для поддержки текстовых полей для цены. Twig-функции contentList() и includeContent() вынесены в отдельный класс. Добавлено событие "order.before_create". Сортировка всех полей типа контента перетаскиванием. Автоматическое сохранение сортировки полей при сохранении типа контента (не нужно нажимать на отдельную кнопку). В интерфейсе админа добавлено поле поиска для списка Composer-пакетов.

    Скачать можно на главной странице https://modx-shopkeeper.ru/

    Читать далее
  • Вот этот плагин:
    0_1550334109280_screenshot_022.png

    Вроде по умолчанию он выключен. Надо включить. Но плагин работает только на редактирование товаров, при удалении он делалать ничего не будет. Только что проверил кнопку, всё работает корректно, фильтры удаляются и добавляются, когда нужно. Но нужно очищать корзину после удаления товаров (возможно баг).

    Читать далее
  • J

    @Andchir Если нажимаю кнопочку "Обновить значения", то в фильтрах появляются как раз те самые удаленные значения фильтра.. Потом приходится Ручками выбирать эти удаленные значения.
    вот так выглядит Управление фильтрами когда удаляешь ручками: https://yadi.sk/i/_zw64CGkZ_sAYg
    А вот так выглядит когда просто нажимаешь "Обновить значения": https://yadi.sk/i/7WFbXC6xV5sQAw (красным выделено, то что приходится постоянно удалять

    Читать далее