Добавление placeholder к форме comment_comment_form в Drupal 8, 9

У любой задачи есть неколько вариантов решений

 

Существуют три способа добавить placeholder к форме comment_comment_form для Drupal 8 и Drupal 9, первый способ через модуль, второй через тему оформления и третий через jQuery. Давайте рассмотрим их все.

В Вашей теме оформления

Добавить placeholder к форме комментирования в Drupal 8 и Drupal 9 можно используя hook_form_comment_comment_form_alter() в собственной теме оформления.

your_theme.theme

<?php

function iqis_form_comment_comment_form_alter(&$form, $form_state) {
  $form['author']['name']['#attributes']['placeholder'] = t('Your Name');
  $form['comment_body']['widget']['0']['#attributes']['placeholder'] = t('Your comment');
}

В Вашем модуле

Добавить placeholder к форме комментирования в Drupal 8 и Drupal 9 можно используя hook_form_alter() в собственном модуле.

your_module.module

use Drupal\Core\Form\FormStateInterface;

/**
 * Implements hook_form_alter().
 */
function your_module_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  if ($form_id == 'comment_comment_form') {
    $form['author']['name']['#attributes']['placeholder'] = t('Name'); // Placeholder для поля Имя
    $form['comment_body']['widget']['0']['#attributes']['placeholder'] = t('Your comment'); // Placeholder для Комментария
  }
}

Используя jQuery

А также это можно сделать используя jQuery в вашем scripts.js.

scripts.js

(function ($) {
  $(document).ready(function(){
    $('#comment-form input[name="name"]').attr('placeholder', 'Name');
    $('#comment-form .form-textarea').attr('placeholder', 'Your comment');
  });
})(jQuery);

 

Если у Вас появились вопросы, не стесняйтесь пишите мне!
Irina 18/05/2020 11:58

Спасибо, очень помог рецепт

Оставьте Ваш комментарий