Score:1

ข้อความยืนยันในการส่งความคิดเห็น

ธง in

เมื่อมีการส่งความคิดเห็น จะไม่มีข้อความยืนยันปรากฏขึ้น และฉันต้องการดำเนินการตามนี้ ฉันต้องการแสดงข้อความต่อไปนี้

ความคิดเห็นของคุณได้รับการเพิ่มเพื่อการตรวจสอบและอนุมัติ

ฉันลองรหัสนี้

ฟังก์ชัน mymod_form_alter(&$form, FormStateInterface $form_state, $form_id) {
  อื่นถ้า ($form_id == 'comment_comment_form') {
    $form['actions']['submit']['#value'] = "ความคิดเห็นของคุณได้รับการตรวจสอบและอนุมัติแล้ว"
  }
}

แก้ไขเฉพาะข้อความปุ่มส่งเท่านั้น มีวิธีเพิ่มข้อความยืนยันการส่งหรือไม่?

Score:4
ธง us

Drupal แสดงข้อความที่คล้ายกันแก่ผู้ใช้ที่มี โพสต์ความคิดเห็น อนุญาตแต่ไม่ใช่การ ข้ามการอนุมัติความคิดเห็น การอนุญาต.
ไม่จำเป็นต้องใช้รหัสที่กำหนดเองสำหรับสิ่งนั้น: อย่าให้ ข้ามการอนุมัติความคิดเห็น อนุญาตสำหรับผู้ใช้ที่ความคิดเห็นต้องได้รับการอนุมัติ

หากจุดประสงค์คือการเปลี่ยนแปลงข้อความที่ Drupal แสดงในกรณีนั้น (ความคิดเห็นของคุณอยู่ในคิวรอการตรวจสอบโดยผู้ดูแลไซต์และจะเผยแพร่หลังจากได้รับอนุมัติ) แค่เปลี่ยนข้อความที่ Drupal ใช้ก็เพียงพอแล้ว เช่น เพิ่มบรรทัดต่อไปนี้ในไฟล์ settings.php

$settings['locale_custom_strings_en'][''] = [
  'ความคิดเห็นของคุณอยู่ในคิวรอการตรวจสอบโดยผู้ดูแลไซต์และจะเผยแพร่หลังจากได้รับอนุมัติ' => 'ความคิดเห็นของคุณถูกเพิ่มเพื่อการตรวจสอบและอนุมัติ'
];
in flag
ขอบคุณสำหรับความช่วยเหลือตัวอย่างด้านบนไม่ได้เขียนทับภาษา ฉันยังคงเห็น "ความคิดเห็นของคุณถูกเพิ่มเพื่อการตรวจสอบและอนุมัติ" ข้อความที่อัพเดทไม่แสดง
in flag
btw ฉันคัดลอกวางบรรทัดด้านบนไปที่ settings.php และล้างแคช ฉันยังไม่เห็นว่าภาษาเปลี่ยน
leymannx avatar
ne flag
@chaydru â ฉันคิดว่าคุณต้องแปลข้อความตอนนี้ในหน้าแปลอินเตอร์เฟส
in flag
ทำอย่างไร?
apaderno avatar
us flag
@chaydru วิธีนี้ยังคงมีการบันทึกไว้ในไฟล์ [default.settings.php](https://api.drupal.org/api/drupal/sites%21default%21default.settings.php/9.3.x) สำหรับ Drupal 9.3 x ดังนั้นจึงเป็นวิธีการเปลี่ยนสตริงที่ใช้โดยโมดูลหลักของ Drupal
apaderno avatar
us flag
ความคิดเห็นในไฟล์ *default.settings.php* ระบุว่า: _หากต้องการแทนที่สตริงที่ระบุในไซต์ของคุณโดยมีหรือไม่มีการเปิดใช้งานโมดูล Locale ให้เพิ่มรายการในรายการนี้ ฟังก์ชันนี้ช่วยให้คุณสามารถเปลี่ยนสตริงอินเทอร์เฟซภาษาอังกฤษเริ่มต้นของไซต์ของคุณได้จำนวนเล็กน้อย_
in flag
เห็นด้วย. ให้ฉันตรวจสอบการตั้งค่าของฉันอีกครั้ง ครั้งแรกที่ฉันทำการเปลี่ยนแปลงนี้ มันไม่ได้สะท้อนให้เห็น
in flag
ขอบคุณ @apaderno วิธีนี้ใช้ได้ผล
Score:1
ธง de

คุณจะต้องเพิ่มตัวจัดการการส่งแบบกำหนดเอง และตั้งค่าข้อความของคุณที่นั่น

ฟังก์ชัน ahrq_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    อื่นถ้า ($form_id == 'comment_comment_form') {
       $form['actions']['submit']['#submit'][] = 'ahrq_comment_form_submit';
    }
}

ฟังก์ชัน ahrq_comment_form_submit(&$form, FormStateInterface $form_state) {
  \Drupal::messenger()->addStatus->($this->t('ความคิดเห็นของคุณถูกเพิ่มเพื่อตรวจสอบและอนุมัติ'));
}

โพสต์คำตอบ

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