URL главной страницы - PullRequest
0 голосов
/ 09 июня 2018

У меня есть установка umbraco.
Я опубликовал контент с именем «Аккаунт», и umbraco дал ему этот URL /account.Fair.

Затем я опубликовал контент с именем «Register» под учетной записью content (я позволил типу учетной записи иметь регистрацию типа документа в качестве дочернего).

Я ожидаюURL нового контента должен быть /account/register, но umbrace дал ему /register.

  1. Почему это происходит?Какой смысл разрешать дочерние типы контента и строить дерево контента, если все URL-адреса от корня?Как новичок в umbraco, я считаю это логическим недостатком.Для CMS, которая утверждает, что она дружелюбная, она совсем не дружелюбная.Я разработчик, но я не могу тратить половину своего дня в поисках ответов и учебных пособий по Umbraco в Интернете.Дружественная CMS должна быть самообъяснимой во время использования и должна учитывать все распространенные предположения, которые может иметь новичок.

  2. Как я могу заставить узел Account-> Register отображать содержимое в/account/register url?

1 Ответ

0 голосов
/ 29 июня 2018

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

Лучшая практика при создании веб-сайтов Umbraco -создать тип документа «Веб-сайт / корень / сайт» и поместить его в корень иерархической структуры контента.Под этим типом документа вы размещаете каждую из своих страниц как прямые дети.Это позволяет вам задавать имена хостов и культуру на вашем сайте, а также позволяет хранить весь сайт в одном «комплекте», а также позволяет создавать несколько дочерних сайтов на одном веб-сайте Umbraco.Это довольно распространенная практика для структурирования вашего сайта таким образом.

Однако - как вы и ожидаете - это даст ваши URL, такие как domain.com/website/account/register, поскольку Website теперь является фактическим узлом контента в Umbraco.Так как это на самом деле не то, что хотелось бы - в Umbraco есть встроенная функция, позволяющая скрыть узел верхнего уровня от пути URL.Это приводит к тому, что ваши URL в этом случае равны domain.com/account/register.

Если вы все же рассматриваете свой сайт - эта функция приводит к тому, что ваша страница регистрации получает URL: /register, поскольку часть /account является верхним уровнемузел, который будет игнорироваться при генерации URL.

Это поведение запускается параметром umbracoHideTopLevelNodeFromPath, который можно найти в web.config вашего сайта (true по умолчанию).

Однако я бы порекомендовал вам не изменять этот параметр, а вместо этого добавлять корневой узел для своего сайта, поскольку в будущем вам будет проще управлять им - это также лучший способ структурировать сайт.

Это должно привести к тому, что URL будут сгенерированы так, как вы ожидаете.Дочерние узлы будут иметь URL-адреса, отражающие их имя и местоположение в дереве содержимого.

...