Drupal 7:创建自定义内容块

时间:2011-03-03 16:09:36

标签: drupal drupal-modules drupal-7

我是Drupal的新手,我正试图在首页中间嵌入Flash游戏。我在主页>>中创建了“完整HTML”文字格式管理>>配置>>内容创作,我通过进入主页>>创建了一个使用该格式的新模块管理>>结构>>阻止并将其放入内容区域,并仅在< front> 页面显示:

enter image description here

我的问题是我需要通过FlashVars参数将用户ID和自定义性别字段传递给swf文件。

我可以在数据库中看到我的性别字段(我使用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 array?

请给我一些帮助和指示让我运行自定义块。

我正在查看文档,但他们正在谈论自定义模块,这在我的案例中可能有点过分了?

此外,我还需要向匿名用户打印一条消息,告诉他或她登录或注册。请给我一个指针

谢谢! 亚历

P.S。我的理解是,swfobject还没有与Drupal 7很好地协同工作,但对我来说这不是一个大问题。

1 个答案:

答案 0 :(得分:1)

听起来您希望能够在块的内容中执行PHP代码。完整的HTML过滤模式是不够的。看一下PHP Filter模块。它包含在核心中,但需要首先激活,然后才能将其用于块。

之后,您可以使用普通的PHP代码,此时适用自定义模块的文档。例如,您可以访问$ user数组以检索字段,或进行直接数据库调用,具体取决于您所需信息的位置。

编辑:当然,拥有完整的PHP访问权限是强大的,只应该允许管理员使用。因此,请创建一个允许PHP过滤器的新特定内容类型,并在权限中确保管理员以外的任何用户都无法创建或编辑该内容类型。