ฉันได้รับชื่อผู้ใช้ที่ฉันโหลดจากโปรไฟล์ มันใช้งานได้ดีในเครื่องของฉัน แต่สำหรับผลิตภัณฑ์ของฉัน ชื่อที่แสดงจะแสดงชื่อจากผู้ใช้คนก่อน ฉันจะป้องกันได้อย่างไร นี่คือวิธีที่ฉันได้รับข้อมูลของฉัน
นี่คือที่ฉันไม่เข้าใจ ฉันกำลังโหลดข้อมูลโดยผู้ใช้ปัจจุบัน แต่ผู้ใช้ไม่ใช่ผู้ใช้ที่ดี...
ฉันมีชื่อ "ใหม่" หลังจากล้างแคชเว็บไซต์ด้วย drush แล้วเท่านั้น
/**
* ใช้ hook_preprocess_HOOK()
*/
ฟังก์ชัน frr_menu_link_preprocess_menu__account(&$ตัวแปร)
{
$current_user = \Drupal::currentUser();
$ตัวแปร['ชื่อ'] = FALSE;
ถ้า ($current_user->isAuthenticated()) {
$entity_manager = \Drupal::entityTypeManager();
$profileStorage = $entity_manager->getStorage('โปรไฟล์');
$profileCustomerFound = $profileStorage->loadByProperties([
'uid' => $current_user->id(),
'ประเภท' => 'ลูกค้า',
'is_default' => 1,
'สถานะ' => 1,
]);
ถ้า($profileCustomerFound > 0) {
$customer = end($profileCustomerFound);
$ชื่อแรก = $customer->get('field_firstname')->value;
$variables['firstname'] = !empty($firstname) ? ucfirst($ชื่อแรก) : FALSE;
}
}
}