Складные наборы полей не работают для пользователей UNauth'd в Drupal? - PullRequest
0 голосов
/ 24 ноября 2010

Привет, я использовал тот же метод, который использует drupal / jquery, который позволяет складывать наборы полей на некоторых страницах параметров drupal в качестве метода категоризации для одного из моих узлов.Это работает отлично, если я вошел в систему, и не совсем, если я не.Как будто что-то не вызывается, но, насколько я могу судить, файлы 3 js, которые я вызываю с / в узле , находятся в коде, когда я «просматриваю источник» ...?

Вот подробности:

  • Складные наборы полей внутри базового узла (тип контента "story").
  • Drupal 6
  • Работы вошли в систему
  • Не работают вошедшие в систему

Любая помощь будет принята с благодарностью!Дайте мне знать, если какие-либо дополнительные разъяснения будут полезны.Спасибо!TE

Ответы [ 2 ]

0 голосов
/ 22 сентября 2014

Решение, предоставленное TwstdElf , мне не совсем помогло.

В итоге мне пришлось вставить немного JavaScript в hook_init одного из моих модулей:

$inline_js = "
$.getScript('/misc/collapse.js', function() {
  $.getScript('/misc/drupal.js', function() {});
});";

drupal_add_js($inline_js, 'inline');

Это единственное, что сработало для меня.

0 голосов
/ 29 ноября 2010

Хорошо, для любого из тех, кто мог столкнуться с подобной проблемой ... Большинство страниц с практическими рекомендациями о том, как заставить складные наборы полей работать с узлом, добавляют в него файлы js (через php-фильтр) с синтаксисом, подобным <script src="/misc/blah.js"></script>. Казалось, что это должно сработать, и я это сделал, аутентифицированный пользователь. Но он сломался, когда я не вошел в систему ...

Решением было использование реального php-кода и вызова drupal drupal_add_js для интеграции соответствующих скриптов. Такие как <?php drupal_add_js("/misc/blah.js"); ?>.

Теперь все хорошо, складные наборы полей работают правильно в общем содержимом узлов! ;)

Полный пример кода для тех, кто может захотеть его использовать. Убедитесь, что у вас включен тип ввода php и скопируйте / вставьте его в область тела (просмотр кода / wysiwyg отключен!):

<?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>
...