Skip to content

Instantly share code, notes, and snippets.

@lucasjans
Created January 31, 2012 23:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lucasjans/1713662 to your computer and use it in GitHub Desktop.
Save lucasjans/1713662 to your computer and use it in GitHub Desktop.
jquery mobile skin - see comment below
<%@ Control language="C#" AutoEventWireup="true" Explicit="True" Inherits="DotNetNuke.UI.Skins.Skin" %>
<%@ Register TagPrefix="dnn" TagName="LANGUAGE" Src="~/Admin/Skins/Language.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LOGO" Src="~/Admin/Skins/Logo.ascx" %>
<%@ Register TagPrefix="dnn" TagName="SEARCH" Src="~/Admin/Skins/Search.ascx" %>
<%@ Register TagPrefix="dnn" TagName="NAV" Src="~/Admin/Skins/Nav.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TEXT" Src="~/Admin/Skins/Text.ascx" %>
<%@ Register TagPrefix="dnn" TagName="BREADCRUMB" Src="~/Admin/Skins/BreadCrumb.ascx" %>
<%@ Register TagPrefix="dnn" TagName="USER" Src="~/Admin/Skins/User.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LOGIN" Src="~/Admin/Skins/Login.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LEFTMENU" Src="~/Admin/Skins/LeftMenu.ascx" %>
<%@ Register TagPrefix="dnn" TagName="LINKS" Src="~/Admin/Skins/Links.ascx" %>
<%@ Register TagPrefix="dnn" TagName="PRIVACY" Src="~/Admin/Skins/Privacy.ascx" %>
<%@ Register TagPrefix="dnn" TagName="TERMS" Src="~/Admin/Skins/Terms.ascx" %>
<%@ Register TagPrefix="dnn" TagName="COPYRIGHT" Src="~/Admin/Skins/Copyright.ascx" %>
<%@ Register TagPrefix="dnn" TagName="STYLES" Src="~/Admin/Skins/Styles.ascx" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.DDRMenu.TemplateEngine" Assembly="DotNetNuke.Web.DDRMenu" %>
<%@ Register TagPrefix="dnn" TagName="MENU" src="~/DesktopModules/DDRMenu/Menu.ascx" %>
<%@ Register TagPrefix="dnn" TagName="CONTROLPANEL" Src="~/Admin/Skins/controlpanel.ascx" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>
<dnn:DnnJsInclude runat="server" PathNameAlias="SkinPath" FilePath="includes/jquery.mobile-1.0.1.js" forceprovider="DnnBodyProvider" Priority="10" />
<dnn:DnnCssInclude runat="server" PathNameAlias="SkinPath" FilePath="includes/jquery.mobile-1.0.1.css" forceprovider="DnnPageHeaderProvider" Priority="1" />
<style>
.ui-page { display:static!important;}
.ui-content {overflow-x: visible;}
<%
DotNetNuke.Entities.Users.UserInfo loggedInUser= DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo();
if (loggedInUser.UserID > 0)
{
Response.Write(".ui-mobile [data-role=\"page\"] {top:70px!important}");
}
%>
</style>
<dnn:CONTROLPANEL runat="server" id="cp" IsDockable="True" />
<div data-role="page" style="display:static!important;">
<div data-role="header">
<!-- <a href="/insurance-quotes" id="quote">Quote</a> -->
<dnn:LOGO runat="server" id="logo" />
<!-- <a href="" id="map">Map</a> -->
</div>
<div data-role="content">
<!--<dnn:MENU MenuStyle="jQueryMobile" NodeSelector="CurrentChildren" ></dnn:MENU> -->
<div id="ContentPane" runat="server" style="margin-top:30px;"></div>
</div>
</div>
<script runat="server">
protected void Page_Load(object sender, System.EventArgs e)
{
// tried this way to insert the files
//Page.ClientScript.RegisterClientScriptInclude("jQuery", "https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js");
//Page.ClientScript.RegisterClientScriptInclude("jQueryMobile", "http://code.jquery.com/mobile/1.0rc1/jquery.mobile-1.0rc1.min.js");
//thought I may be able to get more granular with this:
//DotNetNuke.Web.Client.ClientResourceManagement.ClientResourceManager.RegisterStyleSheet(Page, "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css", 1, "PageHeaderProvider")
//DotNetNuke.Web.Client.ClientResourceManagement.ClientResourceManager.RegisterScript(Page, "http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js", 1, "PageHeaderProvider")
WriteMeta("viewport", "width=device-width, initial-scale=1", true);
}
public void WriteMeta(string sName, string sContent, bool addTop)
{
HtmlMeta oMeta = new HtmlMeta();
oMeta.Name = sName;
oMeta.Content = sContent;
if (addTop == true) {
this.Page.Header.Controls.AddAt(1,oMeta);
} else {
this.Page.Header.Controls.Add(oMeta);
}
}
</script>
@lucasjans
Copy link
Author

You'll want to download the latest version of jQueryMobile and place the resources in the skin's includes sub directory, or change the references above to a CDN.

This version works in all major browsers, but when loaded with Android 4.0, it breaks. The problem is I can't get the resources to load in exactly the correct order. The jQuery Mobile wants to load directly after jQuery, but so does jQuery UI. Any ideas?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment