Điểm:0

Đúng cách để in các trường tùy chỉnh của người dùng đã đăng nhập

lá cờ in

Cách đúng để lấy giá trị trường cho tài khoản được sử dụng từ người dùng hiện đang đăng nhập và in nó trong một tệp mẫu, ví dụ: một khối hoặc tệp mẫu trang là gì?

Tôi đã cố gắng sử dụng đoạn mã sau nhưng nó không hoạt động.

sử dụng Drupal\Core\Entity\EntityTypeManager;
sử dụng Drupal\user\Entity\User;

$user_id = \Drupal::currentUser()->id();
$user_entity = \Drupal::entityTypeManager()->getStorage('user')->load($user_id);
$variables['field_custom'] = $user_entity->field_custom->value;

Trong tệp mẫu, tôi đang sử dụng mã này.

{{ field_custom }}

Vì tùy chỉnh trường có sẵn, làm cách nào tôi có thể in các thuộc tính trường khác khi trường là trường tham chiếu thực thể cho thuật ngữ phân loại?

NataN avatar
lá cờ in
Không, vì ví dụ này trở thành giá trị từ nút. Tôi muốn giá trị trường người dùng trên toàn cầu được sử dụng trong Khối và Cành trang.
lá cờ ru
Không thành vấn đề nếu điều này đến từ một nút hoặc người dùng. Trường tham chiếu thực thể _Every_ hoạt động theo cách này
NataN avatar
lá cờ in
Tôi rất xin lỗi nhưng nó không có ý nghĩa gì với tôi, tôi muốn in các giá trị từ hồ sơ người dùng hiện tại, không phải từ nút. Nó nên có một truy vấn đơn giản. Thậm chí, tôi đã thử sử dụng ví dụ từ liên kết chỉ ra, nhưng không thành công. Tôi đã thay đổi {{ node.field.entity }} thành {{ user.field.entity }} nhưng không hoạt động. Ngoài ra, tôi đã in {{ user.displayname }} thành công, bây giờ tôi cần in các trường người dùng tùy chỉnh.
Kevin avatar
lá cờ in
Không có vấn đề gì khi câu hỏi được liên kết nói "nút" - hãy kiểm tra tài liệu. Việc truy cập các trường thực thể và giá trị của chúng đều giống nhau.
NataN avatar
lá cờ in
Tôi đánh giá cao tất cả các câu trả lời nhưng bạn đang chỉ ra một liên kết có liên quan đến tham chiếu thực thể nút, tôi nói rất rõ ràng rằng tôi cần in các giá trị người dùng đã đăng nhập hiện tại trên các mẫu trang hoặc khối, nó không liên quan đến nút. Vì vậy, tôi phải tạo chế độ xem cho điều đó như được chỉ ra trong câu hỏi này https://drupal.stackexchange.com/questions/291275/how-can-i-print-user-field-values-in-page-html-twig. Ngoài ra, đối với các menu hệ thống, có thể sử dụng mô-đun https://www.drupal.org/project/menu_token bằng cách sử dụng mã thông báo "người dùng hiện tại".

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.