Drupal-自定义主题不解析媒体模块标记

Drupal-自定义主题不解析媒体模块标记,drupal,drupal-7,drupal-themes,Drupal,Drupal 7,Drupal Themes,我对Drupal 7的媒体模块有一个问题,除了我创建的自定义模块外,它在整个站点上都非常有效。 此模块使用的字段使用与站点其余部分相同的文本格式,它正确地呈现粗体、表格和所有细小的内容。但不知何故,它无法处理媒体插件插入的图像 如果我添加普通的文章内容类型,那么它可以正常工作。只有模块呈现的字段不会被解析 So-我通过以下方式显示字段: echo '<p class="product-section-content">' . $element['value'] . '</

我对Drupal 7的媒体模块有一个问题,除了我创建的自定义模块外,它在整个站点上都非常有效。 此模块使用的字段使用与站点其余部分相同的文本格式,它正确地呈现粗体、表格和所有细小的内容。但不知何故,它无法处理媒体插件插入的图像

如果我添加普通的文章内容类型,那么它可以正常工作。只有模块呈现的字段不会被解析

So-我通过以下方式显示字段:

   echo '<p class="product-section-content">' . $element['value'] . '</p>'."\n";

要解析这个标记标记,我应该调用什么?

看起来您需要使用render()函数,而不仅仅是打印出元素的值

因此,您的代码应该更像这样:

echo '<p class="product-section-content">'.render($element).'</p>'."/n";
echo'

'。呈现($element)。

。“/n”;

这将有助于对您的模块有更多的了解。您正在尝试在模板文件中打印此元素吗?您的目标只是编辑元素的包装HTML吗?等等。

这是因为媒体模块提供了一个默认情况下未激活的新输入过滤器。解析媒体标签时需要此筛选器

您需要转到
admin/config/content/formats
,编辑要与媒体一起使用的文本格式,并为每个文件启用
将媒体标记转换为标记
复选框

然后它就会工作:)

对于模块(仅1.x分支),您可以正常使用媒体过滤器功能:

print media_filter(html);

如果有人使用Media module 2.x branch,您应该使用:

print media_wysiwyg_filter(html);

嘿,你需要使用drupal的“safe\u value”而不是“value”

正常情况下它可以工作,但不知怎么的它不能工作@user2834003评论为我提供了窍门。由于Drupal没有在勾选该选项的情况下为我的自定义文本过滤器执行将媒体标记转换为标记的
。我使用了
打印媒体过滤器(html)
这个功能很好用。这个功能在最近的媒体模块中已经不存在了,所以改用
媒体所见即所得过滤器。
这取决于媒体模块的版本。你有两个几乎相同的答案,我认为应该将它们合并为一个,说明哪个功能应该用于哪个分支。
print media_wysiwyg_filter(html);