Существует ли противоположный/обратный uri сущности()?


Я понимаю, что entity_uri() генерирует uri для профильной сущности

Http://api.drupal.org/api/drupal/includes--common.inc/function/entity_uri

Однако можно ли пойти другим путем? есть ли в drupal функция для передачи системного uri и проверки, является ли это сущностью? а затем вернуть объект сущности?

Author: kiamlaluno, 2012-01-27

1 answers

Боюсь, что нет ничего (по крайней мере, существующего), что могло бы это сделать, функция URI предоставляется модулем, реализующим сущность (в hook_entity_info()) и метод в этой функции полностью прозрачен для Drupal... основной модуль сущности не дает модулям возможности реализовать функцию, которая отменяет процесс, и не хранит , как было выполнено преобразование.

Из-за этого я не думаю, что полностью универсальная функция возможна, однако вы можно было бы сделать это по типу по типу:

$uri = entity_uri('node', $entity);
if (preg_match('/node\/([0-9+])/', $uri, $matches)) {
  $entity2 = entity_load('node', array($matches[1]));
}

Затем вы можете извлечь эту логику, чтобы создать немного более универсальную функцию, основанную на известных атрибутах вашей установки Drupal...хотя это не очень приятный способ сделать это, я бы хотел услышать другое решение этой проблемы.

 2
Author: Clive, 2012-01-27 16:44:43