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


Шаблон печати smarty


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

#1 Андрей Гуляев

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

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 31 Октябрь 2012 - 06:17

Перерыл весь форум не нашел ответа...
У меня в шаблоне печати счета и акта - позиции счета следующий код

{foreach from=$Zakazy item=subtable name=Zakazy}
{$smarty.foreach.Zakazy.iteration} Услуги звукозаписи. Заказ №{$subtable.ID} Аудиоролик "{$subtable.Nazvanie}" 1 шт. {$subtable.Summa}
{$subtable.Summa}
{/foreach}

Всё работает отображает позиции которые не в архиве всё корректно, но хотелось бы поставить условие циклу по полю "статус оплаты"="Ожидает" в таблице $Zakazy. Подскажите как это реализовать? Понимаю что нужно создать условие, но знаний не хватает, наверное оператор if это решает? возможно есть другие варианты реализации? Заранее спасибо всем за ответы!

Сообщение отредактировал Андрей Гуляев: 31 Октябрь 2012 - 06:18


#2 CbCoder

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

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

Отправлено 31 Октябрь 2012 - 09:19

Оператор if решает, да. См. документацию по smarty: http://www.smarty.ne...function.if.tpl

#3 Андрей Гуляев

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

  • Пользователи
  • PipPipPip
  • 94 сообщений
  • Пол:Мужчина

Отправлено 01 Ноябрь 2012 - 02:41

Сделал сумму, считает позиции, показывает содержимое строче внутри цикла, дело за малым как отобразить первый или последний ID строки таблицы Zakazy. Понимаю что это немного выходит за рамки подержки, но тем не менее возможно найдеться время оказать мне помощь.

{foreach from=$Zakazy item=subtable name=Zakazy}{if $subtable.Status_oplaty=="Ожидает"}
{$smarty.foreach.Zakazy.iteration} Услуги звукозаписи. Заказ №{$subtable.ID} Аудиоролик "{$subtable.Nazvanie}" от {$subtable.Zakaz_prinyat} 1 шт.{$subtable.Summa}
{$subtable.Summa}
{assign var="poz_sum" value=$poz_sum+$subtable.Summa}
{assign var="positions" value=$smarty.foreach.Zakazy.iteration}{/if}{/foreach}
В общем послений заказ у меня будет номером счета, как получить последний id из связанной таблицы? Опять же по условию "Ожидает"

Сообщение отредактировал Андрей Гуляев: 01 Ноябрь 2012 - 02:52


#4 CbCoder

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

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

Отправлено 01 Ноябрь 2012 - 09:18

Если последний ID должен выводиться после подтаблицы, то достаточно вывести {$subtable.ID}. Если до - то придется вставлять пустой цикл выше. Иначе вы никак его не получите, если важно именно соответствие условию. Альтернативный путь - добавление вычисляемого поля в таблицу.

#5 UmaCat

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

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

Отправлено 09 Ноябрь 2012 - 14:16

Вопрос также про Smarty

в некоторых случаях печать идет на нескольких страницах

подскажите код для подвала чтобы выводило вот это (вместо Х - общее количество страниц, вместо N - текущая страница - 1/2, 2/2)
Page N/Pages X

#6 CbCoder

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

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

Отправлено 09 Ноябрь 2012 - 14:22

То что вы хотите - это не подвал, а "колонтитулы". Подвал выводится только один раз в конце документа, а не в конце каждой страницы. Соответственно, выводить номера страниц в подвале шаблона бесполезно. Теоретически, наверное можно это как-то сделать в теле шаблона (через css например), но я лично без понятия как. Специальной поддержки колонтитулов в программе нет.





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

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