OnQuickLaunch value in the SchemaXML?

Oct 29, 2010 at 3:50 PM

Does anyone know the property associated with OnQuickLaunch in the SchemaXML from a list or Document library? I am not finding this property returned in the SchemaXML.

Oct 29, 2010 at 3:55 PM

I just want to clarify that i am not creating a custom list or document library template.  I am returning the schemaXML from jquery SPServices function "GetListCollection".

 

Thank you in advance.

Coordinator
Oct 29, 2010 at 6:37 PM

From the little bit of reasearch I just did, OnQuickLaunch can be set with the Lists Web Service, but it can't be inspected. Yet another inconsistency in the Web Services, I guess.

M.

Nov 3, 2010 at 5:18 PM

I have found a solution.

I built an ashx (Handler) to get OnQuickLaunch value here it is for everyone else:

ashx:

public void ProcessRequest (HttpContext context) {        
        string strListID = context.Request.QueryString["q"].ToString();
        Guid listid = new Guid(strListID);
        string sitePath = context.Request.QueryString["p"].ToString();
        using (HostingEnvironment.Impersonate())
        {
            SPSite site = new SPSite(sitePath);
            SPWeb web = site.OpenWeb();
            SPList list = web.Lists.GetList(listid, true, false);
            context.Response.Write(list.OnQuickLaunch.ToString());
        }
    }
javascript:
function OnQuickLaunch(listid) {
        var onquicklaunch = true;
        var thisSite = $().SPServices.SPGetCurrentSite();
        $.ajax({
            type: 'GET',
            url: '/_layouts/QuickLaunch/OnQuickLaunch.ashx',
            success: function (data) {
                if (data == "False") {
                   onquicklaunch = false;
                }
            },
            error: function (req, test, e) {

            },
            data: { q: listid, p: thisSite },
            async: false
        });
        return onquicklaunch;
    }
in my jquery SPServices GetListCollection completefunc callback.  I loop thru the results and call:
     //pass in a listid to the function
var isQuickLaunch = OnQuickLaunch(listid);
                        if (isQuickLaunch) { 
			//DO What you need to the list here.......
		      }