Разное отображение фида, для администратора и неавторизованных пользователей. Почему?

Аватар пользователя dmitry_bavin dmitry_bavin 30 июня в 23:07

Добрый вечер!

Собираю yml фид, фид из двух views. Права доступа

Доступ:Право доступа | Просмотр опубликованных материалов

. Страницы доступны для всех. Проблема в том, что вторая часть фида, из основной views, пустая для всех, кроме администратора. Массив <?php$themed_rows?> пустой, для пользователей.

Две вьюшки собраны по одному принципу, но для одной <?php$themed_rows?> заполнен всегда, для другой вьюшки массив <?php$themed_rows?> заполнен только для администратора.

Разница между этими вьюшками, только в том, что одна создана "как термин таксономий" (рабочая), другая, как "Commerce Товар" (проблемная).
В упор не понимаю, что не так. Если из-за типа views, то, конечно это странно, потому что у меня 70% views созданы как "Commerce Товар", правда, как страницы, а не xml.

Что я делаю не так? Почему данные полей не попадают в массив, если фид просматривают не авторизованные пользователи?

Лучший ответ

Аватар пользователя ivnish ivnish 1 июля в 4:35
1

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

Комментарии

Аватар пользователя ivnish ivnish 1 июля в 4:35
1

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

Аватар пользователя dmitry_bavin dmitry_bavin 2 июля в 12:40

Спасибо!
Действительно, снятие ограничений на проверки доступа, помогло выгрузить фид. Сейчас поставил "Просмотр страницы списка всех материалов", фид доступен.
А как-то можно предоставить разрешение только для webmaster.yandex? Я не думаю, что это как-то повлияет на безопасность, но я слишком плохо знаю Drupal, что бы это утверждать.

Аватар пользователя EvgenySorokin EvgenySorokin 2 июля в 13:54
1

Если заморачиваться, и вы точно уверены, что робот яндекса всегда с юзер агентом яндекса придет, то в хуке можно проверять юзерагент, если не яндекс, то 403/404 отдавать.