Copied to clipboard

Flag this post as spam?

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


  • Ed 20 posts 40 karma points
    May 07, 2010 @ 02:32
    Ed
    0

    New to Umbraco: I have questions

    I got a test installation installed and working and I've started going through videos.  So far it looks like a pretty amazing platform!  I am surprised though that there aren't more built in things to use, like forum, blog, news list, RSS etc.  You have to get packages or build it yourself?

    My main questions for now are can I use the built in .Net navigation controls?  Specificallly the ASP.Net Menu and Site Map Path controls.  I see I could put them in the templates, but how to get them to display the pages of the site?  In a regular .Net site I use the SiteMapDataSource control.  Does that work here?  There isn't a Web.Sitemap file though?

    The reason I am asking is that I want to convert an existing site without having to redo more than I need to.  I tried the Runway multilevel navigation but it doesn't work well, at least in IE8.

    Thanks.

  • Chris Dunn 210 posts 401 karma points
    May 07, 2010 @ 03:50
    Chris Dunn
    0

    The great thing about umbraco is that it's not littered with a thousand options you may or may not need.  It's a content management framework that makes it fairly simple to develop your site the way that you want.  It provides for a great amount of customization and extensibility.

    Additional functionality comes in the form of packages as you've seen.  They are similar to plugins and extensions much like you would find in other CMSs.

    Check out the xslt macro videos as well as the xslt templates included in the base install.  I think you'll find without much effort you can do some pretty impressive things with what's already there.  It might mean changing how you do things, but it's worth it. IMO.

    As for IE8 not working for Runway....the problem is most likely the css...an easy fix :)

    -Chris

  • Tom Maton 387 posts 659 karma points
    May 07, 2010 @ 09:43
    Tom Maton
    0

    Hi Ed,

    all the items you are after eg. blogs, RSS, multi level navigation etc etc can more than likely be found here http://our.umbraco.org/projects

    All the projects are built by the community and as chris said its a CMS framework which allows you build each install custom to your client needs.

    Tom

     

  • Ed 20 posts 40 karma points
    May 07, 2010 @ 18:20
    Ed
    0

    Thanks, I did find the big list of projects after I posted.

    Can someone help with my main questions?

    My main questions for now are can I use the built in .Net navigation controls?  Specificallly the ASP.Net Menu and Site Map Path controls.  I see I could put them in the templates, but how to get them to display the pages of the site?  In a regular .Net site I use the SiteMapDataSource control.  Does that work here?  There isn't a Web.Sitemap file though?

    The reason I am asking is that I want to convert an existing site without having to redo more than I need to.  I tried the Runway multilevel navigation but it doesn't work well, at least in IE8.

     

  • Donald St. Martin 83 posts 127 karma points
    May 07, 2010 @ 18:45
    Donald St. Martin
    0

    Ed,

    First of all, welcome to Umbraco!

    If you go to the Developer section, right click on " XSLT Files" and click "Create," you can click the drop down list under "Choose a template." There are prebuilt XSLT templates that will let you accomplish things very quickly.  For example, there is "List Sub Pages From Current Page" which will display the sub-pages of the current page (good for a side navigation) and there is "List Sub Pages By Level" which is good for a top navigation.  These templates will give you all of the code to make it work and they even include comments here and there to explain things.  Just drop the macro (that it created automatically for you) into your template and you are off and running.

    Hope this helps!

    --
    Donald

  • Ed 20 posts 40 karma points
    May 07, 2010 @ 20:18
    Ed
    0

    Donald,

    Thanks for the reply.  But that doesn't seem to have anything to do with my question.

    I would like to know if you can use the built in ASP.Net Menu and Site Map Path controls with Umbraco and have them dynamically display the menu items and paths, just like the do when you build an ASP.Net site from scratch.

    Can anyone answer this?  Seems like it shouldn't be too hard.

    Thanks.

  • Chris Dunn 210 posts 401 karma points
    May 07, 2010 @ 20:52
    Chris Dunn
    0

    Ed,

    If I recall the sitemap path control uses an xml file at the root folder of the site called Web.Sitemap.  What we have been trying to describe, maybe not clearly is that to generate that same xml information you normally have in the web.sitemap, you would use macros and xslt.  The benefit is that it combines the xml file and the sitemap path control html (and menu), and is dynamically generated real-time and always up to date.

    In theory the aspnet menu and sitemappath control should work just fine, as long as you manually generate the sitemap each time you add or update pages.  How did you generate the sitemap in your old site?  I think the posts here were trying to give you a simpler solution in the long term.

    -Chris

  • Ed 20 posts 40 karma points
    May 07, 2010 @ 21:52
    Ed
    0

    Web.Sitemap is the usual way of providing data for the ASP.Net navigation controls such as the Menu, but not the only way.  There is also a database provider.  Other CMS's I've used took care of this one way or another and I never had to think about it.

    I guess what you would want here is a custom SiteMapProvider class that reads the page links from the same place as the XSLT would.  This could be in the core Umbraco code.

    As for the Runway menu, it is leaving artifacts on the screen when a menu closes.  I suspect the javascript more than the CSS.  But I am not going to spend one second trying to figure it out. The whole point of using a CMS is to not have to deal with that kind of thing. There are other better CSS menus out there.  I'll find something. 

  • Paul Sterling 700 posts 1411 karma points MVP 3x admin c-trib
    May 08, 2010 @ 04:53
    Paul Sterling
    0

    Ed -

    Not sure if this is too late to help with this case, but Umbraco does have a sitemap provider, see the

    <siteMap defaultProvider="UmbracoSiteMapProvider" enabled="true"> 

    section in web.config.

    My underdstanding is that this provider is a valid data source for the Asp.Net Nav controls - though I haven't confirmed it.  I suspect this to be the case , however, as I have used the sitemap provider dependency when creating a path-based authorization module and it 'just' worked.

    Here's the post with the dependency on sitemap:  http://our.umbraco.org/forum/developers/extending-umbraco/2923-Authorization-Alternatives-when-Integrating-with-AspNet-Sites

    -Paul

  • Ed 20 posts 40 karma points
    May 10, 2010 @ 18:35
    Ed
    0

    Paul,

    Thanks!  That may have been what I was looking for.  I've been trying to just use Umbraco without going through source code, but maybe I need to take a look.

    In any case, over the weekend I implemented a menu based on Superfish.  I modified the Runway dropdown macro xslt to work with it.  Works pretty well, except that the macro does not return the Home page, only child pages.  Anyone know how to get it to add the Home page url as well?  I'm sure it is in the xpath syntax somewhere.

    I will check out their sitemap provider for future use.

  • Chris Dunn 210 posts 401 karma points
    May 10, 2010 @ 19:58
    Chris Dunn
    0

    Ed,

    The simplest solution, since there is only a single "home" node and the url is always is the root url  would be to hard code the "home page" node in the xslt of the macro just prior to the for-each loop.  

    You can also use the umbraco.library:GetXmlAll() to get all nodes in the tree and begin the xpath selection from the root.

    Glad to hear you got things working.

    -Chris

  • Donald St. Martin 83 posts 127 karma points
    May 12, 2010 @ 16:05
    Donald St. Martin
    0

    In case you happen to run multiple sites or a site with multiple langages, you can use

    <xsl:variable name="rootNode" select="$currentPage/ancestor-or-self::node [@level=1]" />
      <ul>         
        <li>
            <!--
                Add the class selected if the root node ID matches our
                current node ID in the for each loop
                -->
            <xsl:if test="$rootNode/@id = $currentPage/@id">
                <xsl:attribute name="class">
                    <xsl:text>
                        item selected
                    </xsl:text>
                </xsl:attribute>
            </xsl:if>
           
            <a href="{umbraco.library:NiceUrl($rootNode/@id)}">
                <xsl:value-of select="$rootNode/@nodeName" />
            </a>
        </li>
    </ul>

    --
    Donald

Please Sign in or register to post replies

Write your reply to:

Draft