Порядковый номер в корзине Новый


Доброго времени суток, каким образом можно добавить порядковый номер в корзину для каждой позиции?
30 августа 2016, 14:02    Андрей   
1    387 0

Комментарии (9)

  1. Александр 30 августа 2016, 14:44 # +1
    А какая у вас версия miniShop2? Насколько я помню, то нет в сниппете msCart плейсхолдера idx. Если не делать кастомный сниппет, то в случае использования синтаксиса Fenom (чанки по умолчанию с Fenom в новых версиях miniShop2) можно написать допустим так:

    {var $idx_product = 1;}
    {foreach $products as $product}
    ...
    
    {$idx_product++}
    {/foreach}
    
    1. Павел Гвоздь 30 августа 2016, 16:08 # +1
      У Fenom в foreach есть возможность получить индекс текущей итерации:
      {foreach $list as $value index=$index}
         {$index}
      {/foreach}
      1. Александр 30 августа 2016, 16:09 # +1
        Хороший вариант) Возьму на заметку)
    2. Андрей 30 августа 2016, 14:49 # 0
      2.4 версия
      1. Андрей 30 августа 2016, 14:51 # 0
        попробовал так как описывал не получилось
        1. Александр 30 августа 2016, 16:08 # +1
          удалено
        2. Андрей 30 августа 2016, 14:53 # 0
          все точка с запятой лишняя была), но при удалении товара из корзины сохраняется позиция и к примеру получается не 1-2-3 а 1-3 сразу
          1. Александр 30 августа 2016, 16:06 # +1
            Тогда вам скорее всего надо выводить порядковый номер не через бекенд, а через фронт (JavaScript или CSS)

            Примеры из интернета:

            На CSS:

            table {
                counter-reset: rowNumber;
            }
            
            table tr {
                counter-increment: rowNumber;
            }
            
            table tr td:first-child::before {
                content: counter(rowNumber);
                min-width: 1em;
                margin-right: 0.5em;
            }
            

            На JS:

            var table = document.getElementsByTagName('table')[0],
                rows = table.getElementsByTagName('tr'),
                text = 'textContent' in document ? 'textContent' : 'innerText';
            
            for (var i = 0, len = rows.length; i < len; i++){
                rows[i].children[0][text] = i + ': ' + rows[i].children[0][text];
            }
            
            1. Андрей 30 августа 2016, 16:28 # 0
              благодарю, чет туплю под вечер сделал через нумерованные списки
          Вы должны авторизоваться, чтобы оставлять комментарии.