Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (2) [1] 2  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> if в smarty, plz помощь
artctur  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 42381
На форуме: 1 год, 4 месяца, 9 дней
Карма:




есть такая штука выводит данные из ячейки таблицы на странице сайта,

Пользователь: {get_user_meta user_id=$user_data.id key='name'}

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

Пользователь:

вопрос как сделать если ячейка пуста, строка полностью не отображалась.

Спасибо.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Bolik  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 357
Пользователь №: 35724
На форуме: 4 года, 6 месяцев, 5 дней
Карма: 5




с смарти не знаком, но похоже на twig

{% if var is defined %}

{% endif %}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
artctur  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 42381
На форуме: 1 год, 4 месяца, 9 дней
Карма:




ничего так не получается
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5618
Пользователь №: 35718
На форуме: 4 года, 6 месяцев, 5 дней
Карма: 173






--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
artctur  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 3
Пользователь №: 42381
На форуме: 1 год, 4 месяца, 9 дней
Карма:




я понимаю как сделать if одного значения или двух в smarty, но как вот эту строку приравнять не могу понять, уже пробовал по разному не получается т.е. надо так

{if ..... если значение вот этого {get_user_meta user_id=$user_data.id key='name'} есть, выводим
Пользователь: {get_user_meta user_id=$user_data.id key='name'}
{/if}

если пусто пропускаем

если так то это просто
{if !empty($user_data)}
Выводим
{/if}

но там ещё key="name' вот на него и ругается

Это сообщение отредактировал artctur - 15.01.2016 - 15:50
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3659
Пользователь №: 38635
На форуме: 3 года, 4 месяца, 28 дней
Карма: 194




Цитата (artctur @ 15.01.2016 - 12:41)
{get_user_meta user_id=$user_data.id key='name'}

Это не строка смарти. В смарти нет инструкции get_user_meta

в общем случае же:
{if $user_data.id > 0}
....
{/if}


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6262
Пользователь №: 5552
На форуме: 8 лет, 10 месяцев, 18 дней
Карма: 164




Цитата (AllesKlar @ 15.01.2016 - 15:48)
Цитата (artctur @ 15.01.2016 - 12:41)
{get_user_meta user_id=$user_data.id key='name'}

Это не строка смарти. В смарти нет инструкции get_user_meta

в общем случае же:
{if $user_data.id > 0}
....
{/if}

Зато в смарти есть пользовательские функции


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3659
Пользователь №: 38635
На форуме: 3 года, 4 месяца, 28 дней
Карма: 194




Цитата (waldicom @ 15.01.2016 - 16:58)
Зато в смарти есть пользовательские функции

А, ну да... Гонокод 80лвл. Даешь в шаблон еще и запросы к базе.
Хотя, смарти поддерживает и тег {php}{/php}, так что можно весь движок написать на чистом шаблонизаторе.
И что ты имел ввиду под "пользовательские функции"?
То что в смарти можно объявить свою функцию?
Можно почитать где?
(об внедрении в исходники не говорим)

ТС отдай контроллеру то, что должен делать контроллер (вычислять, формировать данные, массивы) а шаблону исключительно вывод.

если же хочешь дальше говнокодить, то знатный говнокод получится из assign



--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









И это, пользовательские фукции в шаблонах != говнокод.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3659
Пользователь №: 38635
На форуме: 3 года, 4 месяца, 28 дней
Карма: 194




Цитата (Guest @ 15.01.2016 - 23:19)
Можно так http://www.smarty.net/docsv2/ru/api.register.function.tpl
Или вот так http://www.smarty.net/docs/en/language.function.function.tpl

О, спасибо. Не знал.
По той причине, что
Цитата
И это, пользовательские фукции в шаблонах != говнокод.

Это не говнокод, а лютый, наилютейший говнокод, который ломает сам принцип MVC, ведь шаблоны смарти - это и есть V

Смысл шаблона в том, что для него нужно подготовить данные и передать их в шаблон. И всё. и шаблон обязан коректно эти данные отобразить.

А со $smarty->register_function нужно тащить за собой обязательно контроллер либо недоконтроллер, либо еще ХЗ чего.

Разъесни мне, уважаемый, стеснительный аноним, в чем смысл использования $smarty->register_function ?

если с assign внуртри шаблона я еще как-то могу смириться (когда криворукий программит зафигачил в шаблон недоданные, и несчастный верстальщик сам их внутри шаблона парсит), то вот вообще не могу представить ниодного случая, где было бы уместно применения пользовательской функции в шаблоне.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
waldicom  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 6262
Пользователь №: 5552
На форуме: 8 лет, 10 месяцев, 18 дней
Карма: 164




Цитата (Guest @ 15.01.2016 - 22:21)
И это, пользовательские фукции в шаблонах != говнокод.

Я, кстати, полностью разделяю это мнение. Пользовательские "хелперы" очень удобны. Как простые modifiers, так и plugins.
Например с помощью собсвтенного modifier "currency" можно во всем проекте в темплейтах выдавать цены. Что-то типа {$price|currency} или уж совсем навороченно "{$article.price|currency:use_shortname:right}"
Или с помощью плагинов/пользовательских функций строить URLs: <a href="{url controller='account' action='downloads' sParam='test'}">blja</a>"


--------------------
Свои мозги еще никто не отменял.
Телепатов нету.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (waldicom @ 15.01.2016 - 18:58)
Цитата (AllesKlar @ 15.01.2016 - 15:48)
Цитата (artctur @ 15.01.2016 - 12:41)
{get_user_meta user_id=$user_data.id key='name'}

Это не строка смарти. В смарти нет инструкции get_user_meta

в общем случае же:
{if $user_data.id > 0}
....
{/if}

Зато в смарти есть пользовательские функции

У user_data.id две ячейки, одна всегда заполнена, другая по усмотрению, от того и key='name'

ячейки: 1 - key='name', 2 - та которую надо вывести

пример: 'name'-'user'
'name1'-'luser'

т.е. в key указывается то, что надо вывести

если использовать $user_data.id будет выводится и key и значение
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 396
Пользователь №: 41702
На форуме: 1 год, 9 месяцев, 11 дней
Карма: 13




ну , если начали юузать функции внутри смарти, то и логику обработки вешайте на get_user_meta user_id

П.С. согласен с мнением AllesKlar. Смарти втюха, а значит должен выполнять только свои функции и не важно, что на нем можно теплоход построить. Ибо потом хрен разберешься, что и где.
Дополнять своими хелперами вывод еще можно, но вот так, как у ТС это перебор.
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата (icedfox @ 16.01.2016 - 07:46)
ну , если начали юузать функции внутри смарти, то и логику обработки вешайте на get_user_meta user_id

П.С. согласен с мнением AllesKlar. Смарти втюха, а значит должен выполнять только свои функции и не важно, что на нем можно теплоход построить. Ибо потом хрен разберешься, что и где.
Дополнять своими хелперами вывод еще можно, но вот так, как у ТС это перебор.

так вот в движке задумано программером выводить всё подряд. поэтому приходится что то выдумывать.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (2) [1] 2  Ответ в темуСоздание новой темыСоздание опроса