Рейтинг:1

Как переопределить состояние флажков темы и стиля флажков фасетов?

флаг tr

У меня возникли проблемы с установкой флажка Drupal 9 фасетов в отмеченном состоянии. Я пытался переопределить тему с помощью theme_preprocess_checkboxes безрезультатно.

вот мой код:

 функция mytheme_preprocess_checkboxes($variables) {

  $элемент = $переменные['элемент'];
  $element['#attributes']['type'] = 'checkbox';
  element_set_attributes($element, array('id', 'name', '#return_value' => 'value'));

  // Неотмеченный флажок имеет #значение целого числа 0.
  если (! пусто ($ элемент ['# проверено'])) {
      $element['#attributes']['checked'] = 'checked';
  }
  _form_set_class ($ элемент, массив ('форма-флажок'));

  вернуть '<ввод' . drupal_attributes($элемент['#атрибуты']) . '/><span></span>';
}

Я предполагаю, что я не получаю флажки фасетов с ним. Любые предложения по стилю фасетов и переопределению их шаблонов.

Я использую подтему bootstrap 3 на drupal 9

Vitaliy K avatar
флаг tr
К сожалению, хук preprocess_checkboxes устарел и больше не будет доступен в версии Drupal 10... так что ищите решения. возможно, мне нужно переписать шаблон ветки, но я все еще не могу найти его даже в папке шаблонов модуля фасетов... :(
Vitaliy K avatar
флаг tr
становится ближе к этому: общедоступная статическая функция Checkbox::preRenderCheckbox для флажков без фасетов в проверенном состоянии добавляется в класс элемента css. но все еще не может отследить перерисовку чекбокса фасетов
Рейтинг:1
флаг cn

Флажки созданы на JS, а не на PHP, поэтому вы не сможете манипулировать ими из бэкенда (см. Drupal.facets.makeCheckbox в facets/js/checkbox-widget.js для кода).

Это означает, что вы можете просто использовать простой JS самостоятельно; например, если вам нужно добавить пустой диапазон, вам, вероятно, просто нужно добавить что-то вроде этого в пользовательское поведение:

$('.facets-checkbox').after($('<span />'))

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

Vitaliy K avatar
флаг tr
Спасибо Клайв попробую этот бит

Ответить или комментировать

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