mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-01 13:08:47 -05:00
parent
d234a963eb
commit
75f56b4ce6
2 changed files with 40 additions and 1 deletions
|
@ -31,6 +31,7 @@ import (
|
||||||
"github.com/gohugoio/hugo/common/maps"
|
"github.com/gohugoio/hugo/common/maps"
|
||||||
"github.com/gohugoio/hugo/common/types"
|
"github.com/gohugoio/hugo/common/types"
|
||||||
"github.com/gohugoio/hugo/deps"
|
"github.com/gohugoio/hugo/deps"
|
||||||
|
"github.com/gohugoio/hugo/helpers"
|
||||||
"github.com/gohugoio/hugo/langs"
|
"github.com/gohugoio/hugo/langs"
|
||||||
"github.com/gohugoio/hugo/tpl/compare"
|
"github.com/gohugoio/hugo/tpl/compare"
|
||||||
"github.com/spf13/cast"
|
"github.com/spf13/cast"
|
||||||
|
@ -195,9 +196,11 @@ func (ns *Namespace) Dictionary(values ...any) (map[string]any, error) {
|
||||||
return root, nil
|
return root, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// EchoParam returns a the value in the collection c with key k if is set; otherwise, it returns an
|
// EchoParam returns the value in the collection c with key k if is set; otherwise, it returns an
|
||||||
// empty string.
|
// empty string.
|
||||||
|
// Deprecated: Use the index function instead.
|
||||||
func (ns *Namespace) EchoParam(c, k any) any {
|
func (ns *Namespace) EchoParam(c, k any) any {
|
||||||
|
helpers.Deprecated("collections.EchoParam", "Use the index function instead.", false)
|
||||||
av, isNil := indirect(reflect.ValueOf(c))
|
av, isNil := indirect(reflect.ValueOf(c))
|
||||||
if isNil {
|
if isNil {
|
||||||
return ""
|
return ""
|
||||||
|
@ -233,6 +236,8 @@ func (ns *Namespace) EchoParam(c, k any) any {
|
||||||
return avv.Float()
|
return avv.Float()
|
||||||
case reflect.String:
|
case reflect.String:
|
||||||
return avv.String()
|
return avv.String()
|
||||||
|
case reflect.Bool:
|
||||||
|
return avv.Bool()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -231,3 +231,37 @@ foo: bc
|
||||||
).Build()
|
).Build()
|
||||||
b.AssertFileContent("public/index.html", "<ul><li>P1</li><li>P2</li></ul>")
|
b.AssertFileContent("public/index.html", "<ul><li>P1</li><li>P2</li></ul>")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Issue #11498
|
||||||
|
func TestEchoParams(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
files := `
|
||||||
|
-- hugo.toml --
|
||||||
|
[params.footer]
|
||||||
|
string = 'foo'
|
||||||
|
int = 42
|
||||||
|
float = 3.1415
|
||||||
|
boolt = true
|
||||||
|
boolf = false
|
||||||
|
-- layouts/index.html --
|
||||||
|
{{ echoParam .Site.Params.footer "string" }}
|
||||||
|
{{ echoParam .Site.Params.footer "int" }}
|
||||||
|
{{ echoParam .Site.Params.footer "float" }}
|
||||||
|
{{ echoParam .Site.Params.footer "boolt" }}
|
||||||
|
{{ echoParam .Site.Params.footer "boolf" }}
|
||||||
|
`
|
||||||
|
|
||||||
|
b := hugolib.NewIntegrationTestBuilder(
|
||||||
|
hugolib.IntegrationTestConfig{
|
||||||
|
T: t,
|
||||||
|
TxtarString: files,
|
||||||
|
},
|
||||||
|
).Build()
|
||||||
|
b.AssertFileContent("public/index.html",
|
||||||
|
"foo",
|
||||||
|
"42",
|
||||||
|
"3.1415",
|
||||||
|
"true",
|
||||||
|
"false",
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue