Автор Тема: Нумерация товаров в заказе. Итоги. Разбивка длинного описания на строки. 1.7.5.2  (Прочитано 453 раз)

04 Июнь 2020, 17:17:21
  • Пользователь
  • **
  • Сообщений: 75
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
1. Товары в заказе не нумеруются. Как и в списке комментариев. Неудобно. И итог невиден. Красным - изменения.

Для дефолтной темы 1.7.5.2 это файл
themes/classic/templates/customer/_partials/order-detail-no-return.tpl

  <div class="box hidden-sm-down">
    <table id="order-products" class="table table-bordered">
      <thead class="thead-default">
        <tr>
          <th>#</th>
          <th>{l s='Product' d='Shop.Theme.Catalog'}</th>
          <th>{l s='Quantity' d='Shop.Theme.Catalog'}</th>
          <th>{l s='Unit price' d='Shop.Theme.Catalog'}</th>
          <th>{l s='Total price' d='Shop.Theme.Catalog'}</th>
        </tr>
      </thead>
[color=red][b]
      {$index = 1}
[/b][/color]
      {foreach from=$order.products item=product}
        <tr>
[color=red][b]
          <td>
{$index++}
          </td>
          <td>
[/b][/color]
            <strong>
              <a {if isset($product.download_link)}href="{$product.download_link}"{/if}>
                {$product.name}
              </a>
            </strong><br/>
            {if $product.reference}
              {l s='Reference' d='Shop.Theme.Catalog'}: {$product.reference}<br/>
            {/if}
            {if $product.customizations}
              {foreach from=$product.customizations item="customization"}
                <div class="customization">
                  <a href="#" data-toggle="modal" data-target="#product-customizations-modal-{$customization.id_customization}">{l s='Product customization' d='Shop.Theme.Catalog'}</a>
                </div>
                <div id="_desktop_product_customization_modal_wrapper_{$customization.id_customization}">
                  <div class="modal fade customization-modal" id="product-customizations-modal-{$customization.id_customization}" tabindex="-1" role="dialog" aria-hidden="true">
                    <div class="modal-dialog" role="document">
                      <div class="modal-content">
                        <div class="modal-header">
                          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                          </button>
                          <h4 class="modal-title">{l s='Product customization' d='Shop.Theme.Catalog'}</h4>
                        </div>
                        <div class="modal-body">
                          {foreach from=$customization.fields item="field"}
                            <div class="product-customization-line row">
                              <div class="col-sm-3 col-xs-4 label">
                                {$field.label}
                              </div>
                              <div class="col-sm-9 col-xs-8 value">
                                {if $field.type == 'text'}
                                  {if (int)$field.id_module}
                                    {$field.text nofilter}
                                  {else}
                                    {$field.text}
                                  {/if}
                                {elseif $field.type == 'image'}
                                  <img src="{$field.image.small.url}">
                                {/if}
                              </div>
                            </div>
                          {/foreach}
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
              {/foreach}
            {/if}
          </td>
          <td>
            {if $product.customizations}
              {foreach $product.customizations as $customization}
                {$customization.quantity}
              {/foreach}
            {else}
              {$product.quantity}
            {/if}
          </td>
          <td class="text-xs-right">{$product.price}</td>
          <td class="text-xs-right">{$product.total}</td>
        </tr>
      {/foreach}
      <tfoot>
        {foreach $order.subtotals as $line}
          {if $line.value}
            <tr class="text-xs-right line-{$line.type}">
              <td colspan=[color=red][b]"4"[/b][/color]>{$line.label}</td>
              <td>{$line.value}</td>
            </tr>
          {/if}
        {/foreach}
        <tr class="text-xs-right line-{$order.totals.total.type}">
          <td colspan=[color=red][b]"4"[/b][/color]><strong>{$order.totals.total.label}</strong></td>
          <td>[color=red][b]<strong>[/b][/color]{$order.totals.total.value}[color=red][b]</strong>[/b][/color]</td>
        </tr>
      </tfoot>
    </table>
  </div>



2. При длинном наименовании товара (если используются все варианты из комбинаций) Выпадающий список улетел на 2 экрана монитора. И нумерации нет. Если товар отличается последним признаком в комбинации - непонятно, к чему комментарий отнести.

Файл /themes/classic/templates/customer/_partials/order-messages.tpl


        <div class="form-group row">
          <label class="col-md-3 form-control-label">{l s='Product' d='Shop.Forms.Labels'}</label>
          <div class="col-md-5">
            <select name="id_product" class="form-control form-control-select">
              <option value="0">{l s='-- please choose --' d='Shop.Forms.Labels'}</option>
[color=red][b]
      {$index = 1}
[/b][/color]
              {foreach from=$order.products item=product}

[color=red][b]
{$a=preg_split('/- /', $product.name)}
{$ndex=0}
{foreach from=$a item=v}
{if ($ndex==0)}
                <option value="{$product.id_product}" title="{$index}:{$product.name}">{$index++}: {$a[$ndex++]}</option>
{else}
               <option disabled style="font-style:italic">&nbsp;&nbsp;&nbsp;(&nbsp;{$a[$ndex++]}&nbsp;)</option>
{/if}
{/foreach}
[/b][/color]
              {/foreach}


            </select>
          </div>
        </div>


Как это выглядит "живьем" - на рисунке.