Вы здесь

Как в Simplenews сделать категорию рассылки отмеченной по умолчанию?

0

Всем привет!
Модуль Simplenews
Drupal 7
Подключен jQuery:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

Он есть в коде страницы.

Так как на сайте всего одна категория рассылки, хочу, чтобы она была автоматически отмечена (чекбокс рядом).
Делаю через jQuery в html.tpl.php:

$( document ).ready(function() {
$('#edit-newsletters-1').prop("checked", true)
});

Но не хочет отмечаться чекбокс.
Тут все работает: http://jsfiddle.net/1kwvrb9k/
А на сайте в консоли пишет:
"Uncaught TypeError: $ is not a function"

jQuery подключен ДО вызова этой функции. Пробовал перемещать функцию в конец body - все равно та же история...

В чем может быть проблема?
И может как-то программно можно это сделать через PHP?

Версия Drupal: 
7.x
Вопрос задан 17.01.2018 - 12:45

Проблема №1 - jQuery в Drupal 7 присутствует в ядре и ее не нужно дополнительно подключать.
Проблема №2 - скрипты не нужно писать в шаблонах, они должны быть вынесены в отдельные файлы.
Проблема №3 - игнорирование документации https://www.drupal.org/docs/7/api/javascript-api/managing-javascript-in-... приводит ко всем остальным проблемам. А ведь в доке написано все и даже почему $ is not a function.
Проблема №4 -не знаете api drupal и в частности https://api.drupal.org/api/drupal/modules%21system%21system.api.php/func... и https://api.drupal.org/api/drupal/developer%21topics%21forms_api_referen... (а hook_form_FORM_ID_alter решает вашу задачу).

Комментарий оставлен 17.01.2018 - 18:17

Спасибо. Но все равно не работает. Но ошибка исчезла.
Все вынес в отдельный файл, который уже был подключен ранее, и остальные функции в нем работают.

Комментарий оставлен 17.01.2018 - 19:44

Ответы

2

Сделать программно через php проще.
Пишете модуль, в нём реализуете hook_form_alter(). И задаёте активный чекбокс.
Как сделать модуль: http://xandeadx.ru/blog/drupal/256
Пример изменения формы с помощью hook_form_alter: http://xandeadx.ru/blog/drupal/210

Ответ дан 17.01.2018 - 16:10
Аватар пользователя shu
shu
159