ฉันกำลังใช้ ข้อความส่วนตัว โมดูลเวอร์ชัน 8.x-2.0-beta16 และฉันต้องการเปลี่ยนข้อความจาก 'ส่งข้อความส่วนตัว'
ถึง 'ส่งข้อความส่วนตัวถึง @ชื่อผู้ใช้'
ซึ่งควรแสดงชื่อผู้ใช้จากหน้าของผู้ใช้ที่เราเยี่ยมชมและติดต่อ
โมดูลใช้รหัสต่อไปนี้
'#title' => t('ส่งข้อความส่วนตัว'),
มีวิธีแทนที่บรรทัดนี้โดยตรงและใส่ชื่อผู้ใช้หรือไม่? ฉันพยายามไม่สำเร็จ
รหัสที่เกี่ยวข้องอยู่ใน: private_message\src\Service\PrivateMessageService.php#L336-382.
ฟังก์ชันสาธารณะ createRenderablePrivateMessageThreadLink (อาร์เรย์ &$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
ถ้า ($display->getComponent('private_message_link')) {
ถ้า (อินสแตนซ์ $entity ของ UserInterface) {
$author = $entity;
}
อื่น {
$author = $entity->getOwner();
}
$current_user = \Drupal::currentUser();
ถ้า ($current_user->isAuthenticated()) {
ถ้า ($current_user->hasPermission('ใช้ระบบส่งข้อความส่วนตัว') && $current_user->id() != $author->id()) {
$members = [$current_user, $ผู้เขียน];
$thread_id = $this->mapper->getThreadIdForMembers($members);
ถ้า ($thread_id) {
$url = Url::fromRoute('entity.private_message_thread.canonical', ['private_message_thread' => $thread_id], ['attributes' => ['class' => ['private_message_link']]]);
$build['private_message_link'] = [
'#type' => 'ลิงค์',
'#url' => $url,
'#title' => t('ส่งข้อความส่วนตัว'),
'#prefix' => '<div class="private_message_link_wrapper">',
'#suffix' => '</div>',
];
}
อื่น {
$url = Url::fromRoute('private_message.private_message_create', [], ['query' => ['recipient' => $author->id()]]);
$build['private_message_link'] = [
'#type' => 'ลิงค์',
'#url' => $url,
'#title' => t('ส่งข้อความส่วนตัว'),
'#prefix' => '<div class="private_message_link_wrapper">',
'#suffix' => '</div>',
];
}
}
}
อื่น {
$url = Url::fromRoute('user.login');
$build['private_message_link'] = [
'#type' => 'ลิงค์',
'#url' => $url,
'#title' => t('ส่งข้อความส่วนตัว'),
'#prefix' => '<div class="private_message_link_wrapper">',
'#suffix' => '</div>',
];
}
}
}