Ссылка видимая только для авторизированых пользователей

#1 5 июня 2014 в 21:13
Здраствуйте. Подскажите, как вывести ссылку видимую только для авторизированых пользователей. Через админку выводяться через {скобки}, а как вывести напрямую в шаблоне? (InstantCMS 2)

Пример ссылки:
  1. <li><a href="????"><i class="fa fa-pencil"></i></a></li>

2 Вопрос
Короткие теги типа {messages:notices} я так понял работают если вписываешь только через админку?
Как скажем вывести уведомления и сообщения в другом месте.

Извиняйте в пхп полный 0
#2 5 июня 2014 в 22:16
  1.  
  2. <?php
  3. if($inUser->id){?>
  4. <li><a href="????"><i class="fa fa-pencil"></i></a></li><?php}?>
#3 5 июня 2014 в 22:22
Lora

Элемент исчез… вообще, как для зарегистрированых так и гостей.
#4 5 июня 2014 в 22:28
а что вы вставили в свой шаблон? в примере выше нет самого текста ссылки…
#5 5 июня 2014 в 22:29
Вот
  1. <?php
  2. if($inUser->id){ ?>
  3. <li><a href="????"><i class="fa fa-pencil"></i></a></li><?php } ?>
Иконка карандаша пропала совсем, что сделал нетак?
#6 5 июня 2014 в 22:35

Как скажем вывести уведомления и сообщения в другом месте.

Daniel

В template.php есть код:

  1. <!-- Системное сообщение начало -->
  2. <?php $messages = cmsCore::getSessionMessages(); ?>
  3. <?php if ($messages) { ?>
  4. <div class="sess_messages">
  5. <?php foreach($messages as $message){ ?>
  6. <?php echo $message; ?>
  7. <?php } ?>
  8. </div>
  9. <?php } ?>
  10. <!-- Системное сообщение конец -->
Поставьте в нужный блок и будет Вам счастье. Если я правильно понял Ваш вопрос)
#7 5 июня 2014 в 22:39

Поставьте в нужный блок и будет Вам счастье. Если я правильно понял Ваш вопрос)

scanread

спасибо за подсказку + в карму кинул
#8 5 июня 2014 в 22:45
Daniel, у Вас двойка. А мы все по 1.10.3 пишем… Возможно, в двойке не так. Версию системы сразу не увидел.
#9 5 июня 2014 в 23:01
Попоробуйте вместо $inUser->id например $inUser->is_id или $User, $inUser->admin(это для админа), а я посмотрю в двойке как. У меня 1.10.3
#10 5 июня 2014 в 23:19
вместо
  1. $inUser->id
  2. cmsUser::isAdmin() // для админа
  3. cmsUser::isLogged() // для юзера
  4.  
#11 5 июня 2014 в 23:31

cmsUser::isLogged() // для юзера

Lora

То что надо. Сработало. Спасибо + в карму.

Осталось разобраться как сообщения с уведомлениями вывести в нужном элементе. не подскажите?
#12 6 июня 2014 в 00:01
Нет, это надо поставить систему и разбираться. Я даже не понимаю, что такое эллемент. Сори.
#13 6 июня 2014 в 00:04
Так или иначе спасибо. Может кто другой подскажет как сообщения вывести
#14 6 июня 2014 в 14:19
Подскажие где сделал ошибку. Пытаюсь в меню вывести аватар пользователя с линком на профиль, дефолтную иконку выводит и при нажатии отправляет на /frontpage (код взял из шаблона подсмотрел, как выводит аватар в других местах). Какойбы код с аватром не подставлял всегда дефолтная иконка, только может еще на /users страницу вывести. Собственно тынките носом, что неправильно и как это должно быть, а то в пхп вообще не смыслю делаю чисто интуитивно методом проб и ошибок.
Первое отвечает за показ только авторизированому пользователю, если убрать получаю белую страницу.
  1. <?php
  2. if(cmsUser::isLogged()){ ?>
Второе собственно вывод аватара в меню (как я думаю😊при клике вроде должен переходить в профиль, но отправляет в /fronpage
  1. <li class="has-submenu"><a href="<?php echo $this->href_to($profile['id']); ?>"><?php echo html_avatar_image($profile['avatar'], 'micro'); ?></a>
Если подставить этот, то тоже самое, дефолтная иконка и отправляет на /users
  1. <a href="<?php echo href_to('users', $user->id); ?>">
  2. <?php echo html_avatar_image($user->avatar, 'micro'); ?>
  3. </a>
Собственно подскажите правильный вариант. где косячу и как это должно быть на самом деле?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.