Score:0

วิธีเปลี่ยนป้ายกำกับฟิลด์ชื่อเรื่องของรูปภาพในย่อหน้า

ธง um

ในย่อหน้าหนึ่ง ฉันมีฟิลด์รูปภาพซึ่งเปิดใช้งานและจำเป็นต้องใช้ฟิลด์ชื่อเรื่อง ฉันต้องการแก้ไขป้ายกำกับของฟิลด์ชื่อนี้เพื่อแทนที่ "ชื่อเรื่อง" ด้วย "คำอธิบายภาพ"

ฉันพยายามใช้ hook_field_widget_single_element_WIDGET_TYPE_form_alter() เพื่อให้บรรลุสิ่งนี้ แต่ทั้งหมดที่ฉันเห็นเกี่ยวกับชื่อนี้คือ

$element['subform']['image']['widget'][0]['#title_field'] = (บูล) 1
$element['subform']['image']['widget'][0]['#title_field_required'] = (บูล) 1

ฉันสงสัยว่าฉันจะแก้ไขป้ายกำกับนั้นในบริบทย่อหน้านี้ได้อย่างไร ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม

Score:1
ธง um

ในที่สุดฉันก็บรรลุสิ่งที่ฉันต้องการดังต่อไปนี้

mymodule/mymodule.module

ใช้ Drupal\Core\Form\FormStateInterface;
ใช้ Drupal\mymodule\Alter\FieldWidget\BlockImagesParagraph;

/**
 * ใช้ hook_field_widget_single_element_WIDGET_TYPE_form_alter()
 */
ฟังก์ชัน mymodule_field_widget_single_element_entity_reference_paragraphs_form_alter(&$element, FormStateInterface $form_state, $context) {
  ถ้า ($องค์ประกอบ['#paragraph_type'] == 'block_images') {
    \Drupal::service('class_resolver')
      ->getInstanceFromDefinition(BlockImagesParagraph::คลาส)
      ->alterFieldWidget($องค์ประกอบ, $form_state, $context);
  }
}

mymodule/src/Alter/FieldWidget

เนมสเปซ Drupal\mymodule\Alter\FieldWidget;

ใช้ Drupal\Core\Form\FormStateInterface;

/**
 * แก้ไขย่อหน้า block_images
 */
BlockImagesParagraph ชั้นสุดท้าย {

  /**
   * แก้ไขวิดเจ็ตฟิลด์
   *
   * @param อาร์เรย์ $องค์ประกอบ
   * องค์ประกอบแบบฟอร์มวิดเจ็ตฟิลด์
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   * สถานะแบบฟอร์ม
   * @param อาร์เรย์ $context
   * อาร์เรย์เชื่อมโยงที่แสดงถึงบริบท
   */
  ฟังก์ชั่นสาธารณะ alterFieldWidget (อาร์เรย์ & $ องค์ประกอบ, FormStateInterface $ form_state, อาร์เรย์ $ บริบท) {
    $widget = &$element['subform']['image']['widget'];

    foreach ($widget เป็น $key => &$value) {
      ถ้า (!is_int($key)) {
        ดำเนินต่อ;
      }
      $value['#กระบวนการ'][] = [
        'Drupal\mymodule\Alter\FieldWidget\BlockImagesParagraph',
        'กระบวนการรูปภาพวิดเจ็ต'
      ];
    }
  }

  /**
   * ประมวลผลวิดเจ็ตรูปภาพ
   *
   * @param อาร์เรย์ $องค์ประกอบ
   * องค์ประกอบแบบฟอร์มวิดเจ็ตฟิลด์
   * @param \Drupal\Core\Form\FormStateInterface $form_state
   * สถานะแบบฟอร์ม
   * @param อาร์เรย์ $form
   * อาร์เรย์เชื่อมโยงที่เป็นตัวแทนของแบบฟอร์ม
   */
  ฟังก์ชั่นสาธารณะคงที่ processImageWidget (องค์ประกอบ $ อาร์เรย์, FormStateInterface $ form_state, อาร์เรย์ $ แบบฟอร์ม) {
    ถ้า (isset($element['title'])) {
      $element['title']['#title'] = t('คำบรรยาย');
    }

    ส่งคืนองค์ประกอบ $;
  }

}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา