Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Условие для переменной,заданной в смарти.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
юрьич
Отправлено: 09 Февраля, 2017 - 15:43:34
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Всем привет.В шаблоне задаю переменную.(из php никак не задать)
CODE (html):
скопировать код в буфер обмена
  1. {foreach key=tid item=item from=$recept}
  2.          {assign var="image" value="/images/dieta/recepts/small/recept{$item.id}.jpg"}
  3.  
  4. <li>{if $image}<img style="width:20px;float:left;margin-right:5px;" src="{$image}" />
  5.  
  6.         {/if}<a href="/dieta/{$login}/eat/{$item.id}.html">{$item.title}</a></li>
  7. {/if}
  8.     {/foreach}

Вот это условие {if $image} не работает. Как по другому можно?
 
 Top
andrewkard
Отправлено: 09 Февраля, 2017 - 16:00:10
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. {* проверка на существование *}
  3. {if isset($foo) }
  4.  ...
  5. {/if}
  6.  
 
 Top
юрьич
Отправлено: 09 Февраля, 2017 - 16:59:48
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Это уже пробовал, не выходит.
 
 Top
andrewkard
Отправлено: 09 Февраля, 2017 - 17:16:02
Post Id


Участник


Покинул форум
Сообщений всего: 1372
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




Как то странно у Вас:

{foreach key=tid item=item from=$recept}
{assign var="image" value="/images/dieta/recepts/small/recept{$item.id}.jpg"}

<li>{if $image}<img style="width:20px;float:left;margin-right:5px;" src="{$image}" />

{/if}<a href="/dieta/{$login}/eat/{$item.id}.html">{$item.title}</a></li>
{/if}
{/foreach}
 
 Top
юрьич
Отправлено: 09 Февраля, 2017 - 18:05:54
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Что именно? Если {/if} последняя, то это с другого условия захватилась.
 
 Top
teleoperator27
Отправлено: 09 Февраля, 2017 - 18:48:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




юрьич пишет:
Что именно? Если {/if} последняя, то это с другого условия захватилась.
как страно у вас условия, начало до цикла, конец в внутри цикла.
 
My status
 Top
юрьич
Отправлено: 09 Февраля, 2017 - 18:53:25
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Я вообще не понимаю о чём речь. Что у меня ДО цикла?
CODE (html):
скопировать код в буфер обмена
  1. {foreach key=tid item=item from=$recept}
  2. {assign var="image" value="/images/dieta/recepts/small/recept{$item.id}.jpg"}
  3.  
  4. <li>{if $image}<img style="width:20px;float:left;margin-right:5px;" src="{$image}" />{/if}
  5. <a href="/dieta/{$login}/eat/{$item.id}.html">{$item.title}</a></li>
  6.  
  7. {/foreach}
 
 Top
teleoperator27
Отправлено: 09 Февраля, 2017 - 19:26:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




юрьич пишет:
вообще не понимаю о чём речь.
Условия. В первом коде некорректно теги прописаны. То есть первый код заведом нерабочий был. Сейчас постом вижу поправили.

По делу, непонятна сама проверка.

CODE (htmlphp):
скопировать код в буфер обмена
  1. {assign var="image" value="/images/dieta/recepts/small/recept{$item.id}.jpg"}

То есть, длявсего, что идет после этой строчки:
1. Переменная $image существует (вы ее только что создали)
2. Переменная $image не пустая (вы в нее занесли строку - путь до картинки)

Вот и возникает вопрос, на что проверка? У вас
- если переменная $image существет, то... // она у вас существует в любом случае, п.1
На empty() тоже проверять глупо, она не пуста - п.2

Выходит, проверку вам надо делать при создании переменной, типа
CODE (htmlphp):
скопировать код в буфер обмена
  1. {if $item.id}
  2. {assign var="image" value="/images/dieta/recepts/small/recept{$item.id}.jpg"}
  3. {/if}


что то типа такого
 
My status
 Top
юрьич
Отправлено: 09 Февраля, 2017 - 19:51:20
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Суть понятна.Согласен.Но и дело в том, что $item.id в цикле тоже есть всегда, пока есть проход.Нужна проверка именно картинки. В smarty нашёл такую конструкцию
CODE (html):
скопировать код в буфер обмена
  1. {html_image file='/path/from/docroot/pumpkin.jpg'}

Может её как то использовать можно? Мне больше на ум ничего не приходит.
 
 Top
teleoperator27
Отправлено: 09 Февраля, 2017 - 20:08:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 265
Дата рег-ции: Янв. 2017  


Помог: 21 раз(а)




Ну сделай тупо через {php} что типа

CODE (htmlphp):
скопировать код в буфер обмена
  1. {foreach key=tid item=item from=$recept}
  2.  
  3. {assign var="image" value="/images/dieta/recepts/small/recept{$item.id}.jpg"}
  4.  
  5. <li>{php}if($image)<img style="width:20px;float:left;margin-right:5px;" src="{$image}" />{/php}
  6.  
  7. <a href="/dieta/{$login}/eat/{$item.id}.html">{$item.title}</a></li>
  8.  
  9. {/foreach}
или писать плагин Улыбка

(Отредактировано автором: 09 Февраля, 2017 - 20:09:45)

 
My status
 Top
юрьич
Отправлено: 09 Февраля, 2017 - 20:14:47
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




В smarty больше не работает тег {php}. Буду наверное jquery использовать.
 
 Top
Sail
Отправлено: 10 Февраля, 2017 - 08:34:00
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




юрьич, в 2006-м году предлагали такую конструкцию:
CODE (htmlphp):
скопировать код в буфер обмена
  1. {fetch file="http://www.bilder.testdomain.de/farben/{$variationen.farbnum[$key]}.gif" assign="image"}
  2. {if $image ne ""}
  3.     {$image}<br>
  4.     yes
  5. {else}
  6.     no
  7. {/if}  

Ну, и немного про {fetch}
 
 Top
юрьич
Отправлено: 10 Февраля, 2017 - 12:30:18
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Sail, спасибо за инфу, но не сработало. Выдало вместо файла
CODE (html):
скопировать код в буфер обмена
  1. &#65533;&#65533;&#65533;&#65533;JFIF&#65533;&#65533;;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), quality = 95 &#65533;&#65533;C     &#65533;&#65533;C  &#65533;&#65533;dd"&#65533;&#65533; &#65533;&#65533;&#65533;&#65533; =&#65533;&#65533;|&#65533;[3he~&#65533;~&#65533;&#65533;&#65533;f&#65533;&#65533;f&#1698;f7&#65533;&#65533;y~&#65533;&#65533;}&#65533;FQ3S &#65533;&#65533;!)o&#65533;:&#65533;&#65533;ZX&#65533;3*r&#65533;&#65533;S &#65533;&&#65533;p&#1676;&#65533;T&#65533;#L&#65533;,&#65533;&#65533;S&#65533;2e&#65533;tsgl&#65533;&#65533;....
 
 Top
Sail
Отправлено: 10 Февраля, 2017 - 12:54:43
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




юрьич, файл и выдало.
А теперь разовьем...
Формируете имя файла. "Фетчите" файл по имени в переменную... проверяете переменную...
И либо используете сформированное имя, либо не используете...

(Отредактировано автором: 10 Февраля, 2017 - 14:44:50)

 
 Top
юрьич
Отправлено: 10 Февраля, 2017 - 15:36:38
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)




Sail пишет:
Формируете имя файла. "Фетчите" файл по имени в переменную... проверяете переменную...

Разве это не формирует имя файла?
CODE (html):
скопировать код в буфер обмена
  1. {fetch file="http://www.bilder.testdomain.de/farben/{$variationen.farbnum[$key]}.gif" assign="image"}

Если нет,то не понимаю.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Хранение данных, их вывод и обработка »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB