vinegredz Опубликовано 24 февраля, 2020 Поделиться Опубликовано 24 февраля, 2020 Здравствуйте. Пытаюсь ограничить доступ пользователей к разным записям в базе данных. Вот, что я сделал: Добавил поле "Partner ID" в профиль пользователя (тип число) со значением, например, "3" Добавил поле "Partner ID" (тип число) в базу данных Создал новую запись в базе данных, указав значение поля "Partner ID" равное 3 Мне нужно сделать так, чтобы в шаблон recordRow (который является циклом перебирающим строки из базы данных) попадали только те записи, у которых поле "Partner ID" совпадает со значением в профиле авторизованного пользователя. Сейчас я могу сделать вот так: {{if $row->customFieldDisplayByKey('partner') != \IPS\Member::loggedIn()->profileFields()['core_pfieldgroups_1']['core_pfield_3']}} Доступ запрещен {{else}} Доступ разрешен {{endif}} Но проблема в том, что это "пост фильтр". То есть в таблице у пользователя будут присутствовать строки к которым нет доступа и бывают ситуации, когда на одной странице у пользователя нет доступа ни к одной из записей. Вопрос: как повлиять на то, что попадает в $rows любой базы данных, чтобы на уровень раньше (а не в шаблоне вывода строк) добавить фильтр по значению поля "Partner ID"? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.