【问题标题】:Collapsible fieldsets not working for UNauth'd users in Drupal?可折叠字段集不适用于 Drupal 中未经身份验证的用户?
【发布时间】:2011-05-15 07:36:43
【问题描述】:
您好,我使用了 drupal/jquery 使用的相同方法,该方法允许在某些 drupal 选项页面上使用可折叠字段集作为我的一个节点的分类方法。如果我已登录,它会完美运行,如果我没有登录,则根本不会。好像没有调用某些东西,但据我所知,当我“查看源代码”时,我在代码中的节点 are 中调用了 3 个 js 文件... ?
以下是详细信息:
- a 内的可折叠字段集
基本节点(“故事”内容类型)。
- Drupal 6
- 作品登录
- 注销后不起作用
任何帮助将不胜感激!让我知道是否有任何进一步的澄清会有所帮助。
谢谢!
TE
【问题讨论】:
标签:
jquery
drupal
collapse
fieldset
【解决方案1】:
好的,对于任何可能遇到过类似问题的人...
大多数关于让可折叠字段集在节点中工作的“操作指南”页面都告诉您使用 <script src="/misc/blah.js"></script> 之类的语法添加 js 文件(通过 php 过滤器)经过身份验证的用户。但是当我没有登录时它坏了......
解决方案是使用实际的 php 代码和 drupal 的 drupal_add_js 调用来集成适当的脚本。如<?php drupal_add_js("/misc/blah.js"); ?>。
现在一切都好,可折叠字段集在通用节点内容中正常运行! ;)
为可能想要使用它的人提供完整的示例代码。确保您启用了 php 输入类型并将其复制/粘贴到您的正文区域(代码视图/所见即所得关闭!):
<?php
drupal_add_js("/misc/jquery.js?O");
drupal_add_js("/misc/drupal.js?O");
drupal_add_js("/misc/collapse.js?O");
?>
<div>
<fieldset class="collapsible collapsed">
<legend>MAIN CATEGORY</legend>
<div>
<fieldset class="collapsible collapsed">
<legend>Sub Category</legend>
<div>
<p>Stuff and such...</p>
</div>
</fieldset>
</div>
</fieldset>
</div>
【解决方案2】:
TwstdElf 提供的解决方案不太适合我。
我最终不得不在我的一个模块的 hook_init 中插入一些 JavaScript:
$inline_js = "
$.getScript('/misc/collapse.js', function() {
$.getScript('/misc/drupal.js', function() {});
});";
drupal_add_js($inline_js, 'inline');
这是唯一对我有用的东西。