[Решено] Как зафиксировать строку в таблице шаблона checkout/cart.tpl?

Тема в разделе "OpenCart", создана пользователем antonbaton, 12 дек 2015.

Статус темы:
Закрыта.
  1. antonbaton

    antonbaton

    Регистрация:
    24 апр 2013
    Сообщения:
    11
    Симпатии:
    1
    Доброго дня.
    Хочу получить вот такой результат
    [​IMG]
    Строка со стоимостью доставки всегда должна стоять в таблице, как "бесплатно". Выбор вариантов доставки я совсем убрал, поэтому хочу зафиксировать эту строку прямо в шаблоне. Но вот как это сделать?

    Конструкция таблицы в коде выглядит так (код ниже) и если добавить туда строку с нужной надписью, то эта строка будет дублироваться после каждой генерируемой строки, т.е. так:
    [​IMG]
    Код:
    <table class="table table-bordered">
                <?php foreach ($totals as $total) { ?>
                <tr>
                  <td class="text-right"><strong><?php echo $total['title']; ?>:</strong></td>
                  <td class="text-right"><?php echo $total['text']; ?></td>
                  </tr><tr>
                  <td class="text-right">Доставка</td>
                  <td class="text-right">Бесплатно</td>
                </tr>
                <?php } ?>
              </table>
    
    Куда ее нужно вставить, чтобы все корректно работала и отображалась он только один раз, над строкой итого?
    Спасибо.
     
  2. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    Просто вставить не получится. "Предварительная стоимость" и "Итого" выводятся через цикл. Когда вы вклиниваетесь в этот цикл, вы получаете, что ваша строка выводиться на каждой итерации цикла, то есть, после каждой строки из массива $totals.

    Есть два варианта:
    простой - добавить вашу строку перед выводом цикла (тогда она будет первой строкой)
    сложный - отредактировать цикл, чтоб ваша строка выводилась при определённом уловии (после какой-то конкретной строки или всегда второй строкой, или всегда предпоследней строкой и .д.).
     
  3. antonbaton

    antonbaton

    Регистрация:
    24 апр 2013
    Сообщения:
    11
    Симпатии:
    1
    Спасибо, сложный путь мне не пройти.
    Попробую обойтись простым. А как в этом коде добавить ее не первой, а последней строкой?
     
  4. Dotrox

    Dotrox Команда форума

    Регистрация:
    27 ноя 2012
    Сообщения:
    3.198
    Симпатии:
    1.306
    PHP:
    <table class="table table-bordered">
    <?php foreach ($totals as $total) { ?>
        <tr>
          <td class="text-right"><strong><?php echo $total['title']; ?>:</strong></td>
          <td class="text-right"><?php echo $total['text']; ?></td>
         </tr>
    <?php ?>
         <tr>
           <td class="text-right">Доставка</td>
           <td class="text-right">Бесплатно</td>
         </tr>
    </table>
     
    antonbaton нравится это.
Статус темы:
Закрыта.