Copied to clipboard

Flag this post as spam?

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


  • Yuxuan Li 12 posts 122 karma points
    Jun 29, 2016 @ 01:52
    Yuxuan Li
    1

    how to use url picker in nested content?

    Hi All,

    I'm new to Umbraco world. Currently I'm using nested content in my project, this is an amazing plugin. Now I have a question about how to use url picker in nested content?

    Here is my code (but always show me the error:'object' does not contain a definition for 'url' and no extension method 'url' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)):

    @inherits Umbraco.Web.Mvc.UmbracoTemplatePage
    @using Umbraco.Web
    @{
         var items = Model.Content.GetPropertyValue<IEnumerable<IPublishedContent>>("nestedItem");
         foreach (var item in items)
        {
            var image = item.GetPropertyValue("itemImage");
            var UrlPicker = item.GetPropertyValue("itemUrl");
            if (image != null)
            {
                <div class="col-xs-6 col-md-3">
    
                <img src="@Umbraco.Media(image).UmbracoFile" alt="">
                    <h3>
                        @Umbraco.Field(item, "itemTitle")
                    </h3>
                    <p>
                        @Umbraco.Field(item, "itemText")
                    </p>     
                    <a href="@UrlPicker.url" target="#" style="text-align: center; margin: 20px;"><h2 style="text-align:center">CONTACT US TODAY</h2></a>                      
            </div>
           }
         }
       }
    

    when I run this code, the images, texts was able to works correctly, but the url is working wrong. Did I made some mistake in the code? Can anyone help me to check or give me some idea how does the url picker work in nested content?

    Thanks very much!

  • David Peck 690 posts 1896 karma points c-trib
    Jun 29, 2016 @ 07:33
    David Peck
    1

    UrlPicker returns a collection of links, even if only one is selected. I'm guessing something like this will work:

    @UrlPicker.First(u => u.IsValid()).Url
    
  • David Peck 690 posts 1896 karma points c-trib
    Jun 29, 2016 @ 08:02
    David Peck
    0

    Michaël is right. My answer is only valid if you're using this: https://our.umbraco.org/projects/backoffice-extensions/multi-url-picker/

  • Yuxuan Li 12 posts 122 karma points
    Jun 30, 2016 @ 00:24
    Yuxuan Li
    0

    Thanks very much David.

  • Michaël Vanbrabandt 863 posts 3348 karma points c-trib
    Jun 29, 2016 @ 07:36
    Michaël Vanbrabandt
    101

    Hi Yuxuan Li,

    if your url picker is a content picker then the value of UrlPicker will be the Id of the selected node.

    You can get the url of the node by using:

    @Umbraco.NiceUrl(UrlPicker)
    

    or by getting the node:

    @Umbraco.Content(UrlPicker).Url
    

    /Michaël

  • Yuxuan Li 12 posts 122 karma points
    Jun 30, 2016 @ 00:25
    Yuxuan Li
    0

    Thanks Michael, it works great!

  • Michaël Vanbrabandt 863 posts 3348 karma points c-trib
    Jun 30, 2016 @ 06:21
    Michaël Vanbrabandt
    0

    Hi Yuxuan,

    Glad that I could help you out!

    /Michaël

  • This forum is in read-only mode while we transition to the new forum.

    You can continue this topic on the new forum by tapping the "Continue discussion" link below.

Please Sign in or register to post replies