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


Условие в шаблоне печати PDF


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

#1 sentimento

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

  • Пользователи
  • PipPipPip
  • 45 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:Видеография

Отправлено 30 Ноябрь 2013 - 20:51

Здравствуйте!

В таблице имеются поля имен клиентов (так как они в основном парами). "Имя 1" и "Имя 2"

У меня в шаблоне печати стоит простой вывод имен:
Здравствуйте {$Imya_1} и {$Imya_2}!

Если клиент один, как вписать условие, что-бы при отсутствии второго имени буква "И" тоже не вставлялась?

Мой пример не работает - с моим владением данными кодами - это логично))
Здравствуйте {$Imya_1} {Имя 2 == ""?"и {Имя 2}"}!

За ранее спасибо!

#2 OLDest

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

  • Пользователи
  • PipPipPip
  • 268 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 01 Декабрь 2013 - 13:15

Читай тут :http://www.smarty.ne...function.if.tpl

в твоем случае
{if $Imya_1!=''&$Imya_2!=''}

	   /*отсылаем письмо с обоими именами*/
$email=Здравствуйте {$Imya_1} и {$Imya_2}!

{elseif $Imya_1!=''&$Imya_2==''}

	   /*отсылаем письмо с первым именем*/
$email=Здравствуйте {$Imya_1} !

{elseif $Imya_1==''&$Imya_2!=''}

	   /*отсылаем письмо с вторым именем*/
$email=Здравствуйте  {$Imya_2}!

{/if}

Если $imya_1 есть всегда (обязательное) тогда короче будет
{if $Imya_2!=''}

	   /*отсылаем письмо с обоими именами*/
$email=Здравствуйте {$Imya_1} и {$Imya_2}!

{else}

	   /*отсылаем письмо с первым именем*/
$email=Здравствуйте {$Imya_1}!

Код отсылки естественно тут не рабочий, просто вставлен для обозначения действия:-))

Сообщение отредактировал OLDest: 02 Декабрь 2013 - 10:26

Купил лицензию КБ

#3 sentimento

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

  • Пользователи
  • PipPipPip
  • 45 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:Видеография

Отправлено 02 Декабрь 2013 - 06:52

Просмотр сообщенияOLDest (01 Декабрь 2013 - 13:15) писал:

Читай тут :http://www.smarty.ne...function.if.tpl

в твоем случае
{if $Imya_1!=''&$Imya_2!=''}

	   /*отсылаем письмо с обоими именами*/
$email=Здравствуйте {$Imya_1} и {$Imya_2}!

{elseif $Imya_1!=''&$Imya_2==''}

	   /*отсылаем письмо с первым именем*/
$email=Здравствуйте {$Imya_1} !

{elseif $Imya_1==''&$Imya_2!=''}

	   /*отсылаем письмо с вторым именем*/
$email=Здравствуйте  {$Imya_2}!

{/if}

Если $imya_1 есть всегда (обязательное) тогда короче будет
{if $Imya_2!=''}

	   /*отсылаем письмо с обоими именами*/
$email=Здравствуйте {$Imya_1} и {$Imya_2}!

{else}

	   /*отсылаем письмо с первым именем*/
$email=Здравствуйте {$Imya_1}!

Код отсылки естественно тут не рабочий, просто вставлен для обозначения действия:-))
Спасибо большое, подошел вот этот код:

{if $Imya_1!=''&$Imya_2!=''}

Здравствуйте {$Imya_1} и {$Imya_2}!

{elseif $Imya_1!=''&$Imya_2==''}

Здравствуйте {$Imya_1} !

{elseif $Imya_1==''&$Imya_2!=''}

Здравствуйте  {$Imya_2}!

{/if}

Единственное не понял - почему символ амперсанда & заменяестя в источнике на HTML &?
Выдавало smarty ошибки

#4 OLDest

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

  • Пользователи
  • PipPipPip
  • 268 сообщений
  • Пол:Мужчина
  • Город:Калининград

Отправлено 02 Декабрь 2013 - 10:25

Просмотр сообщенияsentimento (02 Декабрь 2013 - 06:52) писал:

Спасибо большое, подошел вот этот код:

{if $Imya_1!=''&$Imya_2!=''}

Здравствуйте {$Imya_1} и {$Imya_2}!

{elseif $Imya_1!=''&$Imya_2==''}

Здравствуйте {$Imya_1} !

{elseif $Imya_1==''&$Imya_2!=''}

Здравствуйте  {$Imya_2}!

{/if}

Единственное не понял - почему символ амперсанда & заменяестя в источнике на HTML &?
Выдавало smarty ошибки
Я описал общее выражение, без соблюдения правил. Если происходит замена - значит HTML воспринимает все как текст.
подробное описание ф-й и синтаксиса смарти Читай тут :http://www.smarty.ne...function.if.tpl

Сообщение отредактировал OLDest: 02 Декабрь 2013 - 10:27

Купил лицензию КБ

#5 CbCoder

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

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

Отправлено 02 Декабрь 2013 - 12:27

Вместо амперсанда можно использовать слово "and":

{if $Imya_1!='' and $Imya_2!=''}

#6 sentimento

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

  • Пользователи
  • PipPipPip
  • 45 сообщений
  • Пол:Мужчина
  • Город:Москва
  • Интересы:Видеография

Отправлено 02 Декабрь 2013 - 13:45

Просмотр сообщенияCbCoder (02 Декабрь 2013 - 12:27) писал:

Вместо амперсанда можно использовать слово "and":

{if $Imya_1!='' and $Imya_2!=''}

Спасибо!





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

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