smarty

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 30 ноября 2012 в 13:25
Доброго всем дня, подскажите плз в вопросе… Нужно сделать ссылку в фотоальбоме так, чтобы она была видна только зарегистрированным и авторизированным пользователям, как правильно код прописать в смарти чтобы работал...

  1. <?php if (!$inUser->id){ ?>
  2.  
  3. <a href="/photos/photo{$photo.id}.html" title="{$photo.title|escape:'html'}">{$photo.title|truncate:18}</a>
  4.  
  5. <?php } ?>
#2 30 ноября 2012 в 14:12
по условию

  1.  
  2. <?php if (!$inUser->id){ ?>
  3. <div class="mod_user_menu">
  4. этот блок видят не авторизованые
  5. <span class="register"><a href="/registration">Регистрация</a></span>
  6. <span class="login"><a href="/login">Вход</a></span>
  7. </div>
  8. <?php } else { ?>
  9. этот блок видят авторизованиые
  10. <?php $inPage->printModules('header'); ?>
  11. <?php } ?>
  12.  
  13.  
в твоем случае если надо просто показать или скрыть ссылку то убери восклицательный знак перед $inUser->id

  1.  
  2. <?php if ($inUser->id){ ?>
  3.  
  4. <a href="/photos/photo{$photo.id}.html" title="{$photo.title|escape:'html'}">{$photo.title|truncate:18}</a>
  5.  
  6. <?php } ?>
  7.  
#3 30 ноября 2012 в 14:14
А если без php вставок? Например:
  1. {if $user_id}
  2. ................................
  3. {/if}
в слечае, если передается в шаблон id пользователя
#4 30 ноября 2012 в 14:25
Спасибо всем за ответы, но
данный код
  1. {if $user_id}
  2. <a href="/photos/photo{$photo.id}.html" title="{$photo.title|escape:'html'}">{$photo.title|truncate:18}</a>
  3.  
  4. {/if}
не работает в файле com_photos_view.tpl, вообще скрывает ссылку и не показывает при авторизации((
#5 30 ноября 2012 в 14:42
хм…

попробуй так

  1. {if $is_auth}
  2. <a href="/photos/photo{$photo.id}.html" title="{$photo.title|escape:'html'}">{$photo.title|truncate:18}</a>
  3. {/if}
#6 30 ноября 2012 в 14:45
Та же история, под админом смотрю (
#7 30 ноября 2012 в 14:46


Спасибо всем за ответы, но
данный код

  1. {if $user_id}
  2. {$photo.title|truncate:18}
  3.  
  4. {/if}
не работает в файле com_photos_view.tpl, вообще скрывает ссылку и не показывает при авторизации((

Leshiy

Я бы вот так сделал:

В файле /components/photos/frontend.php надо добавить строку
  1. $smarty->assign('is_user', $inUser->id);
ниже
  1. $smarty = $inCore->initSmarty('components', 'com_photos_view_photo.tpl');
и в самом шаблоне уже писал бы так:
  1. {if $is_user}
  2. ...
  3. {/if}
P.S. Не забудьте сделать бэкапы!
#8 30 ноября 2012 в 14:56
к сожелению, всё равно скрыто постоянно…
#9 30 ноября 2012 в 15:00


к сожелению, всё равно скрыто постоянно...

Leshiy

Странно. У меня на 1.10 заработало все нормально.
#10 30 ноября 2012 в 15:05
У меня тоже 1.10… а можете мне файлы скинуть в которых делали изменение на psyland@bk.ru
#11 30 ноября 2012 в 15:19


У меня тоже 1.10… а можете мне файлы скинуть в которых делали изменение на psyland@bk.ru

Leshiy

отправил
#12 30 ноября 2012 в 15:38
спасибо огромное, так работает, только мне нужно что бы строка скрывалась в файле com_photos_view.tpl, попробывал прописать так же но не работает(
#13 30 ноября 2012 в 15:53

файле com_photos_view.tpl

Leshiy
Тогда надо в frontend.php объявить $is_user над строкой
  1. $smarty->display('com_photos_view.tpl');
В общем. Переменные в шаблон передаются между этих строк, где 'com_photos_view.tpl' — файл шаблона.
  1.  
  2. $smarty = $inCore->initSmarty('components', 'com_photos_view.tpl');
  3. ...
  4. $smarty->display('com_photos_view.tpl');
  5.  
#14 30 ноября 2012 в 16:00
Огромное спасибо дружище, всё получилось)

Похожие темы

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.