Рейтинг:0

Как добавить собственный URL-адрес для node/add/{custom-content-type}?

флаг th

У меня есть пользовательский тип контента, который я заполняю с помощью Формы Шаги модуль.

Я хочу установить собственный URL-адрес для node/add/{custom-content-type}. Я попытался использовать подписчика маршрута и следующий код.

/**
 * {@inheritdoc}
 */
защищенная функция alterRoutes(RouteCollection $ collection) { 
  если ($ маршрут = $ коллекция-> получить ('node.add_page')) {
    $current_uri = \Drupal::request()->getRequestUri();
    if ($current_uri == "узел/добавить/пользовательский тип контента") {
      $route->setPath('/Custom-content/add');
    }
  }
}

Приведенный выше код не меняет URL-адрес. Мне трудно изменить URL-адрес только для пользовательского типа контента.

Как я могу достичь этого?

Jaypan avatar
флаг de
Это можно сделать, но было бы проще включить модуль пути и модуль перенаправления, а также создать псевдоним и перенаправление на этот псевдоним.
leymannx avatar
флаг ne
Отвечает ли это на ваш вопрос? [Как создать псевдоним URL для страницы редактирования узла] (https://drupal.stackexchange.com/questions/273938/how-to-create-url-alias-for-node-edit-page)
apaderno avatar
флаг us
Есть ли веская причина для перехода с node/add/[content-type] на [content-type]/add для одного типа контента? Причина, по которой Drupal использует node/add/[content-type], состоит в том, чтобы избежать конфликтов с другими маршрутами, определенными из сторонних модулей. Кроме того, заполнитель не может быть первой частью пути маршрута; первая часть пути маршрута может быть только статической строкой, например `'node'`.
apaderno avatar
флаг us
Вопрос не проясняет, есть ли необходимость программно делать то, что описывает вопрос. Я все еще думаю, что это плохая идея, но если бы мне пришлось это сделать, я бы сделал так, как описал @Jaypan.

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

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