Drupal 7: создание пользовательского блока контента - PullRequest
2 голосов
/ 03 марта 2011

Я новичок в Drupal и пытаюсь встроить Flash-игру в середину первой страницы. Я создал текстовый формат "Полный HTML" в Домой >> Администрирование >> Конфигурация >> Создание контента , и я создал новый блок, используя этот формат, перейдя в Дом >> Администрирование >> Структура >> Блокирует и помещает его в область Content и отображает только на странице :

enter image description here

Моя проблема заключается в том, что мне нужно передать идентификатор пользователя, а также настраиваемое поле пола в файл swf через параметр FlashVars.

Я вижу свое поле пола в базе данных (я использую PostgreSQL 8.4.7 / CentOS 5.5 / PHP 5.3):

# select * from field_data_field_gender;
 entity_type | bundle | deleted | entity_id | revision_id | language | delta | field_gender_value
-------------+--------+---------+-----------+-------------+----------+-------+--------------------
 user        | user   |       0 |         6 |           6 | und      |     0 | Male
 user        | user   |       0 |         5 |           5 | und      |     0 | Male
 user        | user   |       0 |         1 |           1 | und      |     0 | Male
 user        | user   |       0 |         7 |           7 | und      |     0 | Female

И я вижу таблицу пользователей:

# select uid, name from users;
 uid | name
-----+-------
   5 | Vasja
   6 | Vanja
   1 | Alex
   0 |
   7 | Petja

Но как я могу распечатать их в свой пользовательский блок контента?

Я также предполагаю, что там уже есть некоторая предварительно заполненная структура данных, что-то вроде массива $ user?

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

Я смотрю на документы, но они говорят о пользовательских модулях, что, вероятно, немного излишне в моем случае?

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

Спасибо! Alex

P.S. Насколько я понимаю, swfobject еще не работает с Drupal 7, но для меня это не большая проблема.

1 Ответ

1 голос
/ 03 марта 2011

Похоже, вы хотите иметь возможность выполнять код PHP в контенте вашего блока.Режим полного HTML-фильтра для этого недостаточен.Взгляните на модуль PHP Filter.Он включен в ядро, но его нужно сначала активировать, прежде чем использовать его для своего блока.

После этого вы можете использовать обычный код PHP, после чего применяется документация по пользовательским модулям.Например, вы можете получить доступ к массиву $ user для извлечения полей или сделать прямые вызовы БД, в зависимости от того, где находится ваша необходимая информация.

Редактировать: Конечно, полный доступ к PHP является мощным и должен быть разрешен только дляадминистраторы.Следовательно, создайте новый конкретный тип контента, в котором вы разрешите PHP-фильтр и убедитесь, что ни один пользователь, кроме администратора, не может создавать или редактировать этот тип контента.

...