The with else works with no issues.
{{ with .Param “description” }}
{{ . }}
{{ else }}
{{ .Summary }}
{{ end }}
But the if else doesn’t display the else.
{{ if (isset .Params “description”) }}
{{ index .Params “description” }}
{{ else }}
{{ .Summary }}
{{ end }}
Kindly help if you have insight into this.
Please share a repository that reproduces the behavior you mentioned.
You are quoting examples from the Documentation.
These examples have been reviewed by several people and they do work.
We need to see the context of your project to understand why the if
and if else
conditionals do not apply in your setup.
Also please have a look at the Requesting Help guidelines for reference.
I am trying to duplicate what is created on the doc. I am trying to practice a few things actually.
.Summary
is available within the context of .Page
. It is a page variable .
You have placed the above conditionals within baseof.html
and .Summary
returns blank because there is none to be found.
But .Summary works within the with function.
I have just copied and used same code in single.html within _default.
Same issue-
I believe single.html is within the context of .Page in line with the structure of hugo.
Please update your repo and let me know, so that I can see what you’re doing.
I have just updated - GitHub - ddanawoski/practise
I added comments as well
Baseof is also suppose to work right because the Baseof is the block - So on the page directory - that’s when you open the page - baseof takes on Page variables. Is that not how it works?
Like a {{.Title}} in Baseof generates differently on each page. Baseof gets inputted to each page
Naturally I know what the baseof.html
template is.
However we were talking about .Summary
.
.Summary
requires .Content
If there is no .Content
in a content file there is no .Summary
.
There is at least one content file in your repo that does not have any content and hence no .Summary
.
Anyway I’m sure you will figure it out.
Or perhaps, one of the others can look into this issue.
I think the major issue is not the .Summary variable not functioning but the else in the if function not working. As shown on the repo.
Even a usual text after else does not work. It’s really weird that it doesn’t show up.
{{if (isset .Params "description")}}
<h2>{{index .Params "description"}}</h2>
{{else}}
<h2>Test if this works - Doesn't work.</h2>
{{end}}
Most of the content files in the provided repo do not have a .Description
set in their front matter.
The conditionals function perfectly well.
The output depends on what’s entered in the content files.
2 Likes
My content file is here - practise/a.md at main · ddanawoski/practise · GitHub
I am only testing for this page.
I can go further to investigate other pages and see how that comes out.
I see the issue now.
It still returns true when description doesn’t have a value.
It returns the empty string that you have specified with description: ""
1 Like
system
Closed
December 4, 2021, 10:02am
15
This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.