OldWarrior: Комментарии

Главные вкладки

29 ноября в 19:01

Плохо, что ничего не пишет.

Как именно подключаете приведённый JS?
Как preload-библиотеку или грузится вместе с формой в модале (т.е. вместе с AJAX-содержимым?

26 ноября в 22:38

Он уже входит в jQuery UI, используемый Друпалом.
Это как раз и есть модальный диалог, всплывающий по ссылке с классом "use-ajax".

Но всё же проверьте ссылку с параметрами модала, которую я привёл выше.

25 ноября в 18:03

Andruxa wrote: Далеко не всегда вебсервер предоставляет это значение, особенно в случае проксирования запросов nginx -> apache.

Возможно это и так, но под апачем у меня пока не было проблем (я использую это решение на одной из своих самописных систем). Хотя в целом - да, всё же следует учитывать и то, что переменная может быть не выставлена сервером. Ниже gun_dose предлагает иной способ идентификации AJAX-запросов.

25 ноября в 17:55

gun_dose wrote: Вторая вещь, которая касается ссылок с классом use-ajax: к урлу аяксового запроса добавляется параметр _wrapper_format=drupal_ajax. То есть если даже запрашивать ноду по её обычному урлу, то всё равно есть простой и понятный признак, чтобы идентифицировать запрос, как аяксовый. То есть, можно воспользоваться hook_entity_view_mode_alter, как предлагали выше, а в хуке уже смотреть гет-параметры запр

24 ноября в 20:15

Ну это как бы всё понятно.
Но какой-то признак AJAX-запроса (входящий на целевой контроллер) можно было обеспечить. Соответственно, чтобы и canonical-роут нод мог бы его читать и предлагать выбор из режимов отображения. Задачка-то вроде получается из востребованных.

24 ноября в 18:34

Не думал в этом аспекте. Или Васёк не очень понятно изложил суть задачи.
Действительно, тогда даже странно, почему не предусмотрено штатных механизмов выбора view mode на этот случай.

24 ноября в 16:43

vlucas wrote: ну я про это ещё с первого комментария пишу ))

Про что именно?

Васька, видимо, интересует (полагаю, по шаманским соображениям SEO или по каким-то другим сакральным причинам) есть ли возможность использовать один и тот же URL для разных режимов отображения ноды.
И (имхо) без программных решений в этом случае точно не обойтись.

23 ноября в 19:22

Судя по всему - невозможно и нода будет отображаться в default view mode. Однако, навскидку есть некоторые программные варианты.

Возможно, вместо предложенного по ссылке программного роута имеет смысл попробовать вьюху, выводящую одну ноду по полученному аргументу и с нужным дисплеем.

23 ноября в 19:04

Если не ошибаюсь, SHS так и работает: т.е. он предоставляет только выбор КОНЕЧНЫХ терминов. Однако (опять же, если не подводит память) где-то в настройках SHS была некая галочка, позволяющая сделать выбор дочерних элементов опциональным.

Другой вопрос: как интерпретировать полученный из SHS выбор верхнего уровня. И если у вас работает вьюха - может, имеет смысл задать специальное условие контекстуальных фильтров или провести ещё какие-то манипуляции, чтобы выводить ноды не только из непосредственно связанных с термином разделов, но и из дочерних (если есть таковые).

22 ноября в 1:39

Имхо, тут классика: таксономия + связанные ноды.

Опять же, как-то не очень понятно, что именно подразумевается под "частью контента": материал, блоки, что-то иное. Хотя всё можно прикрутить к механике таксономии при желании.

20 ноября в 18:45
1

max5 wrote: В августе тоже самое было. При установке модуля Rules, и Scheduler.+ зависимости.

Судя по всему, причина именно в Rules.
Issue на орге:
https://www.drupal.org/project/rules/issues/3160347
https://www.drupal.org/project/drupal/issues/2955370

20 ноября в 18:27

nasferatu wrote: Нет, проблема не в нем. Буду пробовать все подозрительные модули отключать, наверняка, какой-то сделал этот сюрприз

Судя по характеру условий видимости: Node is publshed, Сущность является новой, Материал размещён на главной и т.д. - можно предположить, что необычные условия вводит какой-то модуль (возможно, самописный) связанный с отображением нод.

По технической сути, эти условия есть Condition Plugin'ы (подробнее у Niklan: https://niklan.net/blog/181)