Я получаю таксономию через плагин REST и возвращаю ее в виде массива с ключом по идентификатору, поскольку мне также нужно получить к нему доступ по идентификатору. Но когда я отображаю значения в выборе HTML, я должен упорядочить их по весу, поэтому я упорядочиваю их в функции javascript. Я получил неожиданные результаты, и я проследил это до того, что Term::weight() явно возвращает строку, а не целое число, или, по крайней мере, это то, что показывает этот тестовый код:
используйте Drupal\taxonomy\Entity\Term;
[...]
$term = Срок::загрузить(407) ;
echo $term->name->value, "имеет вес", $term->getWeight(), PHP_EOL;
echo "и это ", gettype($term->getWeight()), PHP_EOL ;
Приведенный выше код находится в сценарии drush, и когда я запускаю его, я получаю
# /var/www/mysite/svil/vendor/bin/drush scr test.php
Место, которое нужно определить, имеет вес 0
и это строка
Документация для Срок:: getWeight ()
утверждает, что возвращает целое число. Я посмотрел на код, но реализация просто
публичная функция getWeight() {
вернуть $this->get('вес')->значение;
}
что ничего не говорит о типе результата.
Конечно, я могу просто подать заявку интервал()
, но я хотел бы знать, что здесь происходит.