Рейтинг:2

Могу ли я узнать, на что я смотрю по URL-адресу?

флаг mw

Я думаю, что в Drupal 7 я раньше использовал что-то вроде menu_get_object() чтобы узнать, на каком контенте я был. Например, с mysite.com/content/my-page он бы сказал мне, что это узел, его тип контента, его идентификатор и т. д.

В идеале я пытаюсь сделать это, даже если URL-адрес является главной страницей сайта, я хотел бы иметь возможность реконструировать контент, который он мне показывает.

флаг cn
Какова ваша конечная цель? Зная это, вы можете предложить различные (возможно, лучшие) подходы.
Andrew Morris avatar
флаг mw
@Clive, у меня уже есть система, которая отправляет аналитические данные на основе URL-адреса, по которому находится пользователь, но она может запутаться, если домашняя страница по умолчанию настроена на что-то другое на сайте, потому что они могли посетить домашнюю страницу анонимно или аутентифицировано . К сожалению, я не создаю его для одноразового использования, он предназначен для нескольких сайтов, поэтому я хочу что-то вроде открытого для любой из моих платформ, на которые я отправляю его.
Andrew Morris avatar
флаг mw
Вот почему я хотел посмотреть, есть ли достаточно простой способ заставить Drupal сообщать мне, на какой странице вы находитесь, чтобы я также мог отправлять эти данные, а также только свой URL-адрес.
флаг cn
А, я вижу, это имеет смысл. Я думаю, что это довольно сложно сделать в общем, так как в приведенном ниже ответе упоминается, что вы можете сделать это достаточно легко для каждого типа объекта, но я думаю, вам нужно будет проверить все различные вещи, которые страница может быть вручную, а не Drupal, говорящий вам
Рейтинг:2
флаг cn

Вы ищете параметр маршрута, который автоматически преобразуется в объект сущности, если вы находитесь на маршруте сущности.

Например, на маршруте узла:

используйте Drupal\node\NodeInterface;

  $node = \Drupal::routeMatch()->getParameter('node');
  если ($ узел экземпляр NodeInterface) {
    $content_type = $node->getType();
    $id = $node->id();
  }
Andrew Morris avatar
флаг mw
О, отлично, спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.