Перейти к содержимому


Можно ли натравить smarty на таблицу в шаблоне.


Сообщений в теме: 3

#1 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 15 Ноябрь 2017 - 00:23

Доброго здоровья!

В html шаблоне печати есть возможность посредством Smarty вставить таблицу в тело шаблона.
Когда указываешь , что надо "Вставить в шаблон поле" "Название таблицы (Подтаблица)", в шаблон вставляется подтаблица с тегом foreach, где потом вываливаются все записи подтаблицы.
Возможно ли сделать такое для основной таблицы?

Поясню - мне нужно, таблица из нескольких записей выводилась на одном или нескольких листах, но при этом на каждом листе повторялась бы шапка этой таблицы.
К сожалению, стандартными средствами КБ такого вроде бы не сделать - если шапку поместить в "Заголовок шаблона", то шапка появляется только на первом листе, если в "Тело шаблона", то шапка появляется для каждой записи.
Или, быть может, кто-то подскажет, как получить шаблон с шапкой на каждой странице, а не у каждой записи.

Спасибо!

#2 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 15 Ноябрь 2017 - 00:35

Похоже, что я хочу реализовать нечто, что хочет автор этой темы, и, если я правильно понял, то это у меня не выйдет.

Тогда остаётся один вопрос - при помощи какого костыля можно вывести заголовок для многих записей на каждой странице?

Сообщение отредактировал Илья: 15 Ноябрь 2017 - 00:37


#3 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 500 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 15 Ноябрь 2017 - 10:35

Цитата

при этом на каждом листе повторялась бы шапка этой таблицы

На каждом листе - нет, и сомневаюсь что такое в принципе возможно в силу формата html. Отдельный раздел есть только для начала документа (шапка) и его конца (подвал).

С подтаблицами кстати тоже самое - там нет распределения по страницам, поэтому не совсем понял, к чему вы вообще про них упомянули? Там только общая шапка на всю подтаблицу, но это то как раз реализуется и для основной.

#4 Илья

    Активный участник

  • Пользователи
  • PipPipPip
  • 173 сообщений

Отправлено 15 Ноябрь 2017 - 13:00

Повторение сделать можно двумя способами, как выяснилось в этой теме.

1. Как рекомендовал Tony999:

Цитата

Вставляете в код шаблона авторазрыв страницы, после чего идет отдельная таблица с Вашими цифрами, а затем - все остальное.
То есть, эта таблица с цифрами будет печататься в начале каждой страницы.

2. Указав явно заголовок таблицы.
<thead style="display: table-header-group">

Однако, оба этих варианта работают только при условии, что тело шаблона не проходит цикл, т.е. есть просто очень большой объём данных, не помещающийся на одну страницу, но только для одной записи.
В случае, если проходит цикл, то эти варианты не дают нужного результата.

Вот я и пытаюсь найти обходной путь.

А подтаблицы я привёл больше в качестве примера кода, чтобы было понятнее, какой результат я хочу получить.

Сообщение отредактировал Илья: 15 Ноябрь 2017 - 13:46






Количество пользователей, читающих эту тему: 2

0 пользователей, 2 гостей, 0 анонимных