mirror of
https://github.com/gohugoio/hugoDocs.git
synced 2025-09-09 08:54:54 -04:00
Update MenuEntry properties documentation
Fixes https://github.com/gohugoio/hugoDocs/issues/423
This commit is contained in:
parent
79109b6858
commit
c0430f8f97
@ -36,47 +36,7 @@ A **menu** is a named array of menu entries accessible by name via the [`.Site.M
|
|||||||
If you make use of the [multilingual feature](/content-management/multilingual/), you can define language-independent menus.
|
If you make use of the [multilingual feature](/content-management/multilingual/), you can define language-independent menus.
|
||||||
{{% /note %}}
|
{{% /note %}}
|
||||||
|
|
||||||
A menu entry has the following properties (i.e., variables) available to it:
|
See the [Menu Entry Properties][me-props] for all the variables and functions related to a menu entry.
|
||||||
|
|
||||||
`.URL`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Name`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Menu`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Identifier`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Pre`
|
|
||||||
: template.HTML
|
|
||||||
|
|
||||||
`.Post`
|
|
||||||
: template.HTML
|
|
||||||
|
|
||||||
`.Weight`
|
|
||||||
: int
|
|
||||||
|
|
||||||
`.Parent`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Children`
|
|
||||||
: Menu
|
|
||||||
|
|
||||||
Note that menus also have the following functions available as well:
|
|
||||||
|
|
||||||
`.HasChildren`
|
|
||||||
: boolean
|
|
||||||
|
|
||||||
Additionally, there are some relevant functions available to menus on a page:
|
|
||||||
|
|
||||||
`.IsMenuCurrent`
|
|
||||||
: (menu string, menuEntry *MenuEntry ) boolean
|
|
||||||
|
|
||||||
`.HasMenuCurrent`
|
|
||||||
: (menu string, menuEntry *MenuEntry) boolean
|
|
||||||
|
|
||||||
## Add content to menus
|
## Add content to menus
|
||||||
|
|
||||||
@ -139,7 +99,7 @@ The URLs must be relative to the context root. If the `baseURL` is `https://exam
|
|||||||
{{% /note %}}
|
{{% /note %}}
|
||||||
|
|
||||||
## Nesting
|
## Nesting
|
||||||
|
|
||||||
All nesting of content is done via the `parent` field.
|
All nesting of content is done via the `parent` field.
|
||||||
|
|
||||||
The parent of an entry should be the identifier of another entry. The identifier should be unique (within a menu).
|
The parent of an entry should be the identifier of another entry. The identifier should be unique (within a menu).
|
||||||
@ -159,3 +119,4 @@ See [Menu Templates](/templates/menu-templates/) for information on how to rende
|
|||||||
[config]: /getting-started/configuration/
|
[config]: /getting-started/configuration/
|
||||||
[multilingual]: /content-management/multilingual/
|
[multilingual]: /content-management/multilingual/
|
||||||
[sitevars]: /variables/
|
[sitevars]: /variables/
|
||||||
|
[me-props]: /variables/menus/
|
||||||
|
@ -10,14 +10,18 @@ menu:
|
|||||||
docs:
|
docs:
|
||||||
parent: "functions"
|
parent: "functions"
|
||||||
keywords: [menus]
|
keywords: [menus]
|
||||||
signature: ["HasMenuCurrent"]
|
signature: ["PAGE.HasMenuCurrent MENU MENUENTRY"]
|
||||||
workson: [menus]
|
workson: [menus]
|
||||||
hugoversion:
|
hugoversion:
|
||||||
relatedfuncs: []
|
relatedfuncs: ["IsMenuCurrent"]
|
||||||
deprecated: false
|
deprecated: false
|
||||||
toc: false
|
toc: false
|
||||||
draft: true
|
draft: false
|
||||||
aliases: []
|
aliases: []
|
||||||
---
|
---
|
||||||
|
|
||||||
Used in [menu templates](/templates/menu-templates/).
|
`.HasMenuCurrent` is a method in `Page` object returning a _boolean_ value. It
|
||||||
|
returns `true` if the PAGE is the same object as the `.Page` in one of the
|
||||||
|
**children menu entries** under MENUENTRY in a given MENU.
|
||||||
|
|
||||||
|
You can find its example use in [menu templates](/templates/menu-templates/).
|
||||||
|
@ -10,14 +10,18 @@ menu:
|
|||||||
docs:
|
docs:
|
||||||
parent: "functions"
|
parent: "functions"
|
||||||
keywords: [menus]
|
keywords: [menus]
|
||||||
signature: ["IsMenuCurrent"]
|
signature: ["PAGE.IsMenuCurrent MENU MENUENTRY"]
|
||||||
workson: [menus]
|
workson: [menus]
|
||||||
hugoversion:
|
hugoversion:
|
||||||
relatedfuncs: []
|
relatedfuncs: ["HasMenuCurrent"]
|
||||||
deprecated: false
|
deprecated: false
|
||||||
draft: true
|
draft: false
|
||||||
aliases: []
|
aliases: []
|
||||||
needsexample: true
|
needsexample: true
|
||||||
---
|
---
|
||||||
|
|
||||||
Used in [menu templates](/templates/menu-templates/).
|
`.IsMenuCurrent` is a method in `Page` object returning a _boolean_ value. It
|
||||||
|
returns `true` if the PAGE is the same object as the `.Page` in MENUENTRY in a
|
||||||
|
given MENU.
|
||||||
|
|
||||||
|
You can find its example use in [menu templates](/templates/menu-templates/).
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
`.URL`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Name`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Menu`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Identifier`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Pre`
|
|
||||||
: template.HTML
|
|
||||||
|
|
||||||
`.Post`
|
|
||||||
: template.HTML
|
|
||||||
|
|
||||||
`.Weight`
|
|
||||||
: int
|
|
||||||
|
|
||||||
`.Parent`
|
|
||||||
: string
|
|
||||||
|
|
||||||
`.Children`
|
|
||||||
: Menu
|
|
||||||
|
|
||||||
Note that menus also have the following functions available as well:
|
|
||||||
|
|
||||||
[`.HasChildren`](/functions/haschildren/)
|
|
||||||
: boolean
|
|
||||||
|
|
||||||
Additionally, there are some relevant functions available to menus on a page:
|
|
||||||
|
|
||||||
[`.IsMenuCurrent`](/functions/ismenucurrent/)
|
|
||||||
: (menu string, menuEntry *MenuEntry ) boolean
|
|
||||||
|
|
||||||
[`.HasMenuCurrent`](/functions/hasmenucurrent/)
|
|
||||||
: (menu string, menuEntry *MenuEntry) boolean
|
|
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: Menu Variables
|
title: Menu Entry Properties
|
||||||
linktitle: Menu Variables
|
linktitle: Menu Entry Properties
|
||||||
description: A menu entry in a menu template has specific variables and functions to make menu management easier.
|
description: A menu entry in a menu-template has specific variables and functions to make menu management easier.
|
||||||
date: 2017-03-12
|
date: 2017-03-12
|
||||||
publishdate: 2017-03-12
|
publishdate: 2017-03-12
|
||||||
lastmod: 2017-03-12
|
lastmod: 2017-03-12
|
||||||
@ -19,49 +19,106 @@ aliases: [/variables/menu/]
|
|||||||
toc: false
|
toc: false
|
||||||
---
|
---
|
||||||
|
|
||||||
The [menu template][] has the following properties:
|
A **menu entry** has the following properties available that can be used in a
|
||||||
|
[menu template][menu-template].
|
||||||
.URL
|
|
||||||
: string
|
|
||||||
|
|
||||||
.Name
|
|
||||||
: string
|
|
||||||
|
|
||||||
.Title
|
|
||||||
: string
|
|
||||||
|
|
||||||
This is a link title, meant to be used in `title`-Attributes of the menu's `<a>`-tags.
|
|
||||||
By default it returns `.Page.LinkTitle`, as long as the menu entry was created
|
|
||||||
through the page's front matter and not through the site config.
|
|
||||||
Setting it explicitly in the site config or the page's front matter overrides this behaviour.
|
|
||||||
|
|
||||||
.Page
|
|
||||||
: [Page Object](/variables/page/)
|
|
||||||
|
|
||||||
The `.Page` variable holds a reference to the page.
|
|
||||||
It's only set when the menu entry is created from the page's front matter,
|
|
||||||
not when it's created from the site config.
|
|
||||||
|
|
||||||
|
## Menu Entry Variables
|
||||||
|
|
||||||
.Menu
|
.Menu
|
||||||
: string
|
: _string_ <br />
|
||||||
|
Name of the **menu** that contains this **menu entry**.
|
||||||
|
|
||||||
|
.URL
|
||||||
|
: _string_ <br />
|
||||||
|
URL that the menu entry points to. The `url` key, if set for the menu entry,
|
||||||
|
sets this value. If that key is not set, and if the menu entry is set in a page
|
||||||
|
front-matter, this value defaults to the page's `.RelPermalink`.
|
||||||
|
|
||||||
|
.Page
|
||||||
|
: _\*Page_ <br />
|
||||||
|
Reference to the [page object][page-object] associated with the menu entry. This
|
||||||
|
will be non-nil if the menu entry is set via a page's front-matter and not via
|
||||||
|
the site config.
|
||||||
|
|
||||||
|
.Name
|
||||||
|
: _string_ <br />
|
||||||
|
Name of the menu entry. The `name` key, if set for the menu entry, sets
|
||||||
|
this value. If that key is not set, and if the menu entry is set in a page
|
||||||
|
front-matter, this value defaults to the page's `.LinkTitle`.
|
||||||
|
|
||||||
.Identifier
|
.Identifier
|
||||||
: string
|
: _string_ <br />
|
||||||
|
Value of the `identifier` key if set for the menu entry. This value must be
|
||||||
|
unique for each menu entry. **It is necessary to set a unique identifier
|
||||||
|
manually if two or more menu entries have the same `.Name`.**
|
||||||
|
|
||||||
.Pre
|
.Pre
|
||||||
: template.HTML
|
: _template.HTML_ <br />
|
||||||
|
Value of the `pre` key if set for the menu entry. This value typically contains
|
||||||
|
a string representing HTML.
|
||||||
|
|
||||||
.Post
|
.Post
|
||||||
: template.HTML
|
: _template.HTML_ <br />
|
||||||
|
Value of the `post` key if set for the menu entry. This value typically contains
|
||||||
|
a string representing HTML.
|
||||||
|
|
||||||
.Weight
|
.Weight
|
||||||
: int
|
: _int_ <br />
|
||||||
|
Value of the `weight` key if set for the menu entry. If that key is not set,
|
||||||
|
and if the menu entry is set in a page front-matter, this value defaults to the
|
||||||
|
page's `.Weight`.
|
||||||
|
|
||||||
.Parent
|
.Parent
|
||||||
: string
|
: _string_ <br />
|
||||||
|
Name (or Identifier if present) of this menu entry's parent **menu entry**. The
|
||||||
|
`parent` key, if set for the menu entry, sets this value. If this key is set,
|
||||||
|
this menu entry nests under that parent entry, else it nests directly under the
|
||||||
|
`.Menu`.
|
||||||
|
|
||||||
.Children
|
.Children
|
||||||
: Menu
|
: _Menu_ <br />
|
||||||
|
This value is auto-populated by Hugo. It is a collection of children menu
|
||||||
|
entries, if any, under the current menu entry.
|
||||||
|
|
||||||
[menu template]: /templates/menu-templates/
|
## Menu Entry Functions
|
||||||
|
|
||||||
|
Menus also have the following functions available:
|
||||||
|
|
||||||
|
[.HasChildren](/functions/haschildren/)
|
||||||
|
: _boolean_ <br />
|
||||||
|
Returns `true` if `.Children` is non-nil.
|
||||||
|
|
||||||
|
.KeyName
|
||||||
|
: _string_ <br />
|
||||||
|
Returns the `.Identifier` if present, else returns the `.Name`.
|
||||||
|
|
||||||
|
.IsEqual
|
||||||
|
: _boolean_ <br />
|
||||||
|
Returns `true` if the two compared menu entries represent the same menu entry.
|
||||||
|
|
||||||
|
.IsSameResource
|
||||||
|
: _boolean_ <br />
|
||||||
|
Returns `true` if the two compared menu entries have the same `.URL`.
|
||||||
|
|
||||||
|
.Title
|
||||||
|
: _string_ <br />
|
||||||
|
Link title, meant to be used in the `title` attribute of a menu entry's
|
||||||
|
`<a>`-tags. Returns the menu entry's `title` key if set. Else, if the menu
|
||||||
|
entry was created through a page's front-matter, it returns the page's
|
||||||
|
`.LinkTitle`. Else, it just returns an empty string.
|
||||||
|
|
||||||
|
## Other Menu-related Functions
|
||||||
|
|
||||||
|
Additionally, here are some relevant methods available to menus on a page:
|
||||||
|
|
||||||
|
.IsMenuCurrent
|
||||||
|
: _(menu string, menuEntry *MenuEntry ) boolean_ <br />
|
||||||
|
See [`.IsMenuCurrent` method](/functions/ismenucurrent/).
|
||||||
|
|
||||||
|
.HasMenuCurrent
|
||||||
|
: _(menu string, menuEntry *MenuEntry) boolean_ <br />
|
||||||
|
See [`.HasMenuCurrent` method](/functions/hasmenucurrent/).
|
||||||
|
|
||||||
|
|
||||||
|
[menu-template]: /templates/menu-templates/
|
||||||
|
[page-object]: /variables/page/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user