Autoroute (OrchardCore.Autoroute
)¶
This module allows you to specify custom URLs (permalinks) for your content items.
Autoroute Part¶
Attach this part to a content type to specify custom URLs to your content items.
Then, go to the definition of a Content Type and edit the Autoroute Part:
- Enter a Pattern using a Liquid expression that will represent the generated slug.
For example, for a content with a TitlePart
that will use it to generate the slug :
{{ ContentItem | display_text | slugify }}
For instance, for a content type with a ListPart
and a TitlePart
(e.g.: BlogPost
nested in a Blog
) that will use the container and the title to generate the slug:
{{ ContentItem | container | display_text | slugify }}/{{ ContentItem | display_text | slugify }}
- If you want to be able to enter a custom path when you edit a content item, check 'Allow custom path'.
- If you want to be able to set a content item as the homepage, check 'Show homepage options'.
Using fields in patterns¶
Fields can also be used as part of the pattern. The following example uses a Text field named Color
, on a Product
content type. The text is slugified such that
it is compatible with a URL.
{{ ContentItem.Content.Product.Color.Text | slugify }}
Autoroute Alias¶
Content items with an Autoroute
can be retrieved by URL anywhere you can retrieve content by alias (see example below). The syntax for this is slug:<URL>
, e.g. slug:my-blog/my-blog-post
.
Liquid¶
With Autoroute
enabled, you can retrieve content by URL in your liquid views and templates:
{% assign my_content = Content["slug:my-blog/my-blog-post"] %}
or
{% assign my_content = Content.Slug["my-blog/my-blog-post"] %}