我的用户个人资料中的一个字段是节点列表。 (此列表是根据站点上的其他数据自动生成的。)目前,它显示如下:
节点
nid1,nid2,nid3
我希望它看起来像这样:
节点
$ nid1-> title,$ nid2-> title,$ nid3-> title
其中每个标题都是其节点的链接。做这个的最好方式是什么?我尝试使用l()生成的链接填充该字段,但是html被过滤掉了。
另外,当使用l()时,有没有办法说:创建一个带$ nid的节点的链接,无论它在运行时恰好位于何处?
答案 0 :(得分:0)
关于第一个问题:
配置文件列表的字段值是通过'check_plain()in
profile_view_field()`来运行的,所以你只能在它们加载后在那里得到标记,这将留下至少两个选项,具体取决于在你想改变输出的地方:
实施hook_user()
,并在“查看”操作中修改$ account->内容数组中的字段值(确保您的模块权重低于配置文件模块的权重或价值不会在那里。)
为使用字段的所有模板添加自己的预处理函数,并在那里进行调整。乍一看,这些应该是以下内容,但列表可能不完整:
yourModule_preprocess_profile_block()
(个人资料模块)yourModule_preprocess_profile_listing()
(个人资料模块)yourModule_preprocess_user_profile_item()
(用户模块)至于第二个问题:
另外,当使用l()时,有没有办法 to say:创建一个到节点的链接 $ nid,无论它碰巧在哪里 位于运行时?
我不明白你的意思是“无论它碰巧位于运行时”。以下未涵盖的任何内容?
l('SomeTitle', 'node/' . $nid)