ฉันจะอัปเดตคำอธิบายลิงก์เมนูด้วยได้อย่างไร hook_ENTITY_TYPE_presave()
?
ฉันสามารถพิมพ์ชื่อลิงค์เมนูและคำอธิบายลิงค์เมนูด้วยรหัสต่อไปนี้
kint($entity->menu['ชื่อเรื่อง']);
kint($entity->menu['คำอธิบาย']);
ฉันต้องการอัปเดตคำอธิบายลิงก์เมนูเมื่อชื่อลิงก์เมนูไม่ใช่ NULL เท่านั้น ดังนั้นลิงก์เมนูจึงจะมีอยู่ อันที่จริง ฉันต้องการคัดลอกชื่อลิงก์เมนูไปยังคำอธิบายลิงก์เมนู (เมื่อชื่อลิงก์เมนูไม่ว่างเปล่า)
รหัสต่อไปนี้อัปเดตชื่อโหนด แต่ฉันต้องการทราบวิธีอัปเดตคำอธิบายลิงก์เมนู
/**
* ใช้ hook_ENTITY_TYPE_presave()
*/
ฟังก์ชัน hook_entity_presave (Drupal\Core\Entity\EntityInterface $entity) {
ถ้า ($entity->bundle() == 'หน้า') {
// บันทึกค่าอื่นเป็นชื่อเรื่อง
$entity->title = 'ชื่อเรื่องใหม่';
// ด้านล่างแสดง 'ชื่อ' และ 'คำอธิบาย' ของลิงก์เมนู
kint($entity->menu['ชื่อเรื่อง']);
kint($entity->menu['คำอธิบาย']);
// ฉันจะอัปเดตคำอธิบายเมนูได้อย่างไร
// ด้านล่างไม่ทำงาน?
$entity->menu['description'] = "คำอธิบายลิงค์เมนูใหม่";
}
}