Field Value Loader (FVL): модуль для AJAX-загрузки значений CCK-полей

Недавно встала предо мной задача защиты от попадания в кэш поисковый систем открыто публикуемой пользовательской информации личного характера. Конкретно: контактных данных на сайте объявлений. Нечто вроде того, что реализовано на крупных веб-барахолках, типа Авито, Сландо и пр.

Решениями озвученной задачи пришли на ум три варианта: закрывать данные соответствующими тегами, генерировать изображения на основе данных и подгружать к уже загруженной браузером странице по запросу пользователя. Был выбран последний вариант, воплощением коего и стал модуль Field Value Loader. Точнее - "универсализированный для масс" его вариант.

Возможности модуля

  • Определение нужных полей для каждого, в отдельности, типа материала.
  • Настройка доступа к данным полей отдельно для каждого поля и типа ноды.
  • Уже подгруженные поля с данными можно впоследствии сворачивать.

Невозможности

  • Взаимодействие лишь с полями, созданными модулем CCK.
  • Ввиду того, что подгружаются лишь значения(values) полей, а не их "отрендеренный" вид(view), не все типы CCK-полей, предоставляемые сторонними(не из ядра CCK), модулями, будут поддерживаться. Пример такого "неподходящего" модуля: emfield.
  • При отключенной в браузере поддержки JavaScript "скрытых" данных запросивший их не увидит.

Работа с модулем

Общие настройки

После включения модуля на сайте, в подразделе меню настроек, появиться новый пункт(admin/settings/fvl). Переходим по нему, и видим примерно это:

Field Value Loader: страница настроек модуля.

Первые сверху два поля задают, соответственно: текст ссылки, которой будут заменены данные нужного CCK-поля, и текст ссылки для "сокрытия", в дальнейшем, подгруженного AJAX-ом значения. Если сворачивать поле не требуется, то во второе поле просто ничего не вписываем.

Под текстовыми полями вашему взору будут представлены имеющиеся CCK-поля. По отдельности для каждого, из существующих на вашем Друпал-ресурсе, типа материала. Ставим галочки напротив нужных полей, и сохраняем настройки.

Настройка доступа к данным для каждого поля

Теперь необходимо перейти на страницу разрешений для ролей пользователей и отметить, кому какие поля видеть позволено, а кому нет:

Field Value Loader: настройка доступа к данным отдельных полей, загружаемых модулем.

Пару слов про визуальное исполнение настроек доступа

При попытке незарегистрированного пользователя обратиться к данным полей, запрещенных для анонимного просмотра, вместо данных отобразиться сообщение с предложением авторизироваться на сайте. Или зарегистрироваться, если аккаунт еще не создан.

Если же данные разрешено видеть лишь какой-то определенной роли, то другие роли, вместо данных поля, увидят на его месте сообщение о запрете для них доступа к запрашиваемой информации.

Вроде все. На этом месте работники сцены опускают занавес. На бис буду выходить по запросам в комментах.

Dalay

Комментарии

Замастырил демку.

А для 7 версии есть похожий модуль?

У меня - нету.

Однако, недоступно для скачивания: 403 forbidden

Только что проверил, все качается на ура.

Ну а чтоб такое же, но картинку генерило - можете посоветовать?

Глюк в настройке с полем ( Link "hide" text: ) для пробы ввел текст, теперь не могу его оттуда стереть что бы оставить поле пустым, ржака, попробуйте!

Ага, уписался от смеха. Исправлено.

Спасибо за быстрое исправление, очень нужный модуль, извиняюсь за некорректную шутку да и вообще считаю что последние 3 коммента включая этот, можно удалить так как - была проблема, нет проблемы!

А как сделать чтобы при появление значения поля название поля не исчезало навсегда?

Полностью замещает область поля, с лейблом(если настроено) и ссылкой, только текст об отсутствии доступа к данным. Во всех остальных случаях - согласно настройкам отображения поля(admin/structure/types/manage/НАЗВАНИЕ_ТИПА/display).

Не пойму что у меня, все равно лейбл проподает' хотя в настройках все как надо иначе лейбл бы и не отображлся сразу правельно, пробывал с разными полями все точно также, конечно можно и так оставить но все же с леблом по эстетичней, вчем еще может быть причина?

Нашел! У меня в настройках стоит отображать лейбл в линию со значением (для красоты) если я ставлю отображать выше тогда лейбл непроподает, как мне выйти из положения хотелось бы оставить в одну линию?

Не вьехал сразу, что мы о 6-й ветке толкуем. Да, увидел о чем речь. Чуть позже исправлю.

Модуль обновил. Теперь все будет хорошо.)

Спасибо огромное!!! Все супер!!!

Отличный модуль! Спасибо!!!

Отличный модуль! Спасибо огромное.

Спасибо, очень пригодился, хороший модуль. Все работает

День добрый, подскажите из-за чего поля могу съезжать лесенкой идущие следом? и можно ли добавить функцию скрытия?

Модуль не поддерживает views. Планируется ли?

Для Views разумнее и проще отдельный модуль написать, чем с "поддержкой" заморачиваться.