Làm thế nào để có được tên hạn từ một tid? [đóng cửa]


9

Theo một bài đăng khác, tôi nên làm điều này $term = \Drupal::entityTypeManager()->getStorage('taxonomy')->load($tid); Nhưng sau đó tôi gặp lỗi này:

Notice: Undefined property: Drupal\Core\Entity\Plugin\DataType\EntityReference::$target

Câu trả lời:


29

Hoặc bạn chỉ có thể sử dụng lớp Thuật ngữ thực thể:

use Drupal\taxonomy\Entity\Term;

và trong mã của bạn:

$term = Term::load($tid);
$name = $term->getName();

cái này làm việc cho tôi
Diana

3
Bản năng đầu tiên của tôi khi nhìn vào điều này là "ồ không, còn về việc tiêm phụ thuộc mà họ liên tục đánh vào đầu chúng tôi trong các cuộc thảo luận về Drupal-Land?", Nhưng - về kiểm tra - phương pháp tĩnh :: load ($ id) được chia sẻ bởi tất cả các loại thực thể đều có tất cả các hỗ trợ tiêm phụ thuộc cần thiết được tích hợp sẵn - vì vậy đây sẽ là lựa chọn của tôi về cách tải một thực thể thuộc bất kỳ loại nào (nút, nhận xét, v.v.). Trong thực tế, nó đánh bại tôi tại sao mọi người sẽ sử dụng phương pháp dài tay \ Drupal :: entityTypeManager () -> blah-> blah-> blah ngay bây giờ! (có lẽ người khác sẽ hô vang và đưa ra lý do chính đáng cho điều đó?)
Daniel Scott

11

Nó nên là:

$term = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->load($tid);

taxonomy_termvs taxonomy.

Sau đó , $term->getName().

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.