Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • James Hill 2 posts 83 karma points
    Jun 21, 2022 @ 21:37
    James Hill
    0

    Hi,

    I'm trying to set/access a global site value.

    On my HomePage document type I've created a 'site settings' tab, and within this tab I've added a 'postAuthor' property.

    On the HomePage I can retrive and show the 'postAuthor' value using @Model.Value("postAuthor").

    But, when I use @Model.Value("postAuthor") on the post page, no value is returned?

    Below is the content structure, and I would like to use the global value for the author name from the HomePage 'site settings' tab on other pages below the root node?

    enter image description here

    I've tried different ways, but still cant get thos to work !

  • Johan Runsten 38 posts 276 karma points c-trib
    Jun 22, 2022 @ 06:21
    Johan Runsten
    100

    Hi!

    You need to get the model for the HomePage node, on your post page, since the properties are defined on it.

    Try Model.Root().Value("postAuthor") or Model.Root<HomePage>().PostAuthor if you're using the model builder.

  • James Hill 2 posts 83 karma points
    Jun 22, 2022 @ 19:02
    James Hill
    1

    Thanks Johan,

    This worked perfectly for what I needed.

  • Keith 74 posts 240 karma points
    Jun 22, 2022 @ 21:46
    Keith
    2

    I do not use this feature myself, so cant comment on how effective it is, but doesn't Umbraco have a fallback option, when getting a model value? I noticed when I was playing around with the template editor UI:

    enter image description here

    In your case, it would give you:

    @Model.Value("postAuthor", fallback: Fallback.ToAncestors)
    

    Seems neat.

Please Sign in or register to post replies

Write your reply to:

Draft