Dmitry86 Опубликовано 4 июня, 2015 Жалоба Поделиться Опубликовано 4 июня, 2015 (изменено) Добрый день. Подскажите, пожалуйста, как поставить на странице заказа (в юзерской части имеется ввиду) проверку - авторизован покупатель на сайте (или администратор в админке) или нет и в зависимости от этого показывать на странице, например, личную информацию клиента (номер телефона, имейл и т.п.) ? Изменено 4 июня, 2015 пользователем Dmitry86 Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 4 июня, 2015 Жалоба Поделиться Опубликовано 4 июня, 2015 проверка авторизован ли юзер: {if $user}тут все что нужно{/if} Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 4 июня, 2015 Жалоба Поделиться Опубликовано 4 июня, 2015 проверка на администратора: {if $smarty.session.admin == 'admin'}тут код{/if} Цитата Ссылка на сообщение Поделиться на другие сайты
Dmitry86 Опубликовано 4 июня, 2015 Автор Жалоба Поделиться Опубликовано 4 июня, 2015 проверка на администратора: {if $smarty.session.admin == 'admin'}тут код{/if} А совместную проверку если делать? {if $smarty.session.admin == 'admin' || $user}тут код{/if} так? Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 4 июня, 2015 Жалоба Поделиться Опубликовано 4 июня, 2015 да, если условие ИЛИ. Цитата Ссылка на сообщение Поделиться на другие сайты
Dmitry86 Опубликовано 4 июня, 2015 Автор Жалоба Поделиться Опубликовано 4 июня, 2015 (изменено) да, если условие ИЛИ.Спасибо, работает! Только есть одно но: при такой проверке любой залогиненный юзер, зная ссылку на заказ другого покупателя, получит доступ к чужим персональным данным. То есть было бы неплохо выводить данные из заказа, которые закреплены за конкретным залогенным юзером. Например, если Юзер 1 откроет заказ, который есть у него в кабинете - данные покажутся. Если откроет чужой заказ - то данные не покажутся. Как это можно реализовать? Изменено 4 июня, 2015 пользователем Dmitry86 Цитата Ссылка на сообщение Поделиться на другие сайты
mishanya Опубликовано 4 июня, 2015 Жалоба Поделиться Опубликовано 4 июня, 2015 (изменено) Как вы поставили задачу так и было дано решение). Ответ на ваш вопрос о доступах других пользователей, оберните весь код order.TPL в условие {if $user->id==$order->user_id} Тут код страницы можно без проверки уже на авторизацию {else} У вас нет доступа к странице {/if} Недостаток в том что если заказ зделал не пользователь то он не сможет посмотреть свой заказ. Можно в таком случае проверять не пустой ли order->user_id. Изменено 4 июня, 2015 пользователем mishanya Цитата Ссылка на сообщение Поделиться на другие сайты
Dmitry86 Опубликовано 4 июня, 2015 Автор Жалоба Поделиться Опубликовано 4 июня, 2015 Как вы поставили задачу так и было дано решение). Ответ на ваш вопрос о доступах других пользователей, оберните весь код order.TPL в условие {if $user->id==$order->user_id} Тут код страницы можно без проверки уже на авторизацию {else} У вас нет доступа к странице {/if} Недостаток в том что если заказ зделал не пользователь то он не сможет посмотреть свой заказ. Можно в таком случае проверять не пустой ли order->user_id.Спасибо большое!! Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.