gpt4 book ai didi

drupal - View 正在从输出中剥离标签

转载 作者:行者123 更新时间:2023-12-04 12:00:54 25 4
gpt4 key购买 nike

我有一个 Drupal View ,它应该使用 flash 输出视频播放器。我正在尝试输出一个将调用 Flash 电影的脚本。问题是 Views 应用了某种过滤器来去除我的 <script>标签,开幕式和闭幕式。我正在搜索解决方案( View 中的某些设置将禁用该过滤器),但似乎无法找到答案。其他 HTML 标签有效,但似乎脚本标签被剥离,可能是出于某种安全原因。

我选择了重写字段输出的选项,并且我正确使用了标签

View 还会从我的标签中去除样式属性。例如:

<h3 style="border-bottom: solid 1px #ffcc99;">Some text here</h3>

看起来像这样:
<h3>Some text here</h3>

有解决方案吗?谢谢你。

开始编辑

我粘贴在我在我看来使用的代码下面。
<div class="bloco-filme">
[title]
<div class="field-imagem">
[field_imagem_fid]

<script type='text/javascript' src='sites/default/files/js/swfobject.js'></script>

<div id='mediaspace[nid]'>Se você estiver visualizando esta mensagem, significa o Flash Player não está instalado em sua máquina. Para assistir ao vídeo é preciso instalar o Flash player</div>

<script type='text/javascript'>
var so = new SWFObject('sites/default/files/plugins/jqplayer/player.swf','mpl','205','undefined','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addParam('wmode','transparent');
so.addVariable('file','[field_video_fid]');
so.addVariable('quality','false');
so.write('mediaspace[nid]');
</script>
[field_video_fid]
</div>
<div class="field-resumo">
<p>[body]</p>
</div>
</div>

再次编辑

我认为上面的代码正在发布。我创建了一个 View 来处理这个问题。这是我认为的 FIELDS 区域:

字段
节点:Nid
节点:Título(标题,在 pt-br 中)
节点:链接“编辑器”(编辑)
节点:链接“apagar”(删除)
Conteúdo:Imagem 缩略图
Conteúdo:视频 URL do arquivo(视频文件 URL)
节点:Corpo( body )

我已经禁用了上面所有字段的显示,并在 Body 字段中打包了所有代码。在那里,我选择了要重写字段输出的选项。

最佳答案

kiamlaluno 确定了基本问题,但要解决它,您将不得不使用字段模板来避免使用 View 使用的过滤系统。 Group 42 has a great guide带您了解 View 主题的基础知识,因此我将忽略这些细节并讨论您的具体情况。

首先,您需要确定要重写的字段:我相信您正在使用 Field 配置来执行此操作,但不清楚您要重写哪个字段。我将假设它是 body 领域。通过 Group 42 的指南为主题中的 body 字段创建一个新的模板文件。

在新的模板文件中,使用以下代码:

<div class="bloco-filme">
<?php print $view->field['title']->render($row) ?>
<div class="field-imagem">
<?php print $view->field['field_imagem_fid']->render($row) ?>

<script type='text/javascript' src='sites/default/files/js/swfobject.js'></script>

<div id="mediaspace<?php print $view->field['nid']->render($row) ?>">Se você estiver visualizando esta mensagem, significa o Flash Player não está instalado em sua máquina. Para assistir ao vídeo é preciso instalar o Flash player</div>

<script type='text/javascript'>
var so = new SWFObject('sites/default/files/plugins/jqplayer/player.swf','mpl','205','undefined','9');
so.addParam('allowfullscreen','true');
so.addParam('allowscriptaccess','always');
so.addParam('wmode','transparent');
so.addVariable('file','<?php print $view->field["field_video_fid"]->render($row) ?>');
so.addVariable('quality','false');
so.write('mediaspace<?php print $view->field["nid"]->render($row) ?>');
</script>
<?php print $view->field['field_video_fid']->render($row) ?>
</div>
<div class="field-resumo">
<p><?php print $output ?></p>
</div>
</div>

保存您的新模板文件,现在正文字段将替换为正确的输出。当您编辑 View 时,只需确保您在模板中引用的所有字段都位于“字段”列表中的正文字段之前。

您可以看到这主要是 HTML 和一些 PHP 位。像这样的代码:
<?php print $view->field['title']->render($row) ?> 

输出当前字段以外的字段的内容(即,当您想引用正文以外的字段时使用此代码)。它引用同一行并找到该字段的值。

和这样的代码:
<?php print $output ?> 

输出当前字段的值,在本例中为 Body。

关于drupal - View 正在从输出中剥离标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3538505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com