NEW
and IMPROVED! Sub-portals,
Mini domains, or whatever you want to call the ability to use common HTML for
unlimited number of CUSTOMERS.
This module allows you to have many domains pointing to one portal and share skin, artwork and most of the content.
This
Custom Module is useful for:
Shopping
carts, and any content to many different users how sell similar products and
services.
Hoisting
for users with limited skills for editing and changing content on there website.
Here
is how it works: only 2 modules
to setup
SAMPLE1
SAMPLE2
1) NEW
Automatically
add all of the users to one DNN portal that you want to share similar content.
2) NEW Automated sign up process allows user to immediately adding content to there new website (using the UPS module).
3)
Place the subPortalsAdmin (administration module) on a tab that only
registered users and administrators can view.
5) NEW
Subportal clients can use "username.YourSubportalDomainName.com"
until or in place of using a domain name.
I
would suggest using the Ezcam UPS User registration module for this.
7)
Place the subPortalHTML module on one tab and select “show on all tabs”
You will now have unique HTML content on every tab for every different domain.

7)
You must manually add the users domain to the DNS for the server.
8) NEW Users can choose a unique skin for their subportal.
9) NEW Subportal Banner module.
<%@ Register TagPrefix="dnn" TagName="SubPortalObject"
src="~/DesktopModules/SubPortalsAdmin/SubPortalSkin.ascx"%>
<%@ Import Namespace="SubPortal" %>
<%
Dim _portalSettings
As PortalSettings = CType(HttpContext.Current.Items("PortalSettings"),
PortalSettings)
Dim
currentSubDomain As String=Request.ServerVariables("HTTP_HOST")
Dim skinName
as string = SubPortalName
Dim
SkinColor as string = SubPortalColor
'Dim
skinImage as string = SubPortalImage
Dim
skinSlogan as string = SubPortalSlogan
Dim
skinWelcome as string = SubPortalWelcome
Dim
skinAddress as string = SubPortalAddress
Dim
skinPhone as string = SubPortalPhone
Dim skinEmail
as string = SubPortalText1 ‘
use these fields for what ever you want.
Dim skinDealerName
as string = SubPortalText2
Dim skinStyle
as string = SubPortalText3
%>
Or
You can insert :
<dnn:SubPortalObject ObjectType=”slogan”
runat=”server” id=”skcolor” />
So it is pretty
simple to setup and use and comes with a sample skin.
Administration Modules
The Sub Portal Administration module - consist
of two modules.
They
are as follows:
1.) Sub Portal Creation and Maintenance interface.
2.) HTML Control - Simple one that USERS can use to maintain there own content. VIEW SAMPLE
3.) Sub Portal Contact - Customers can send email to all sub portal users. VIEW SAMPLE
4.) Sub
Portal TTT photo gallery - Free to you.
5.) Sub Portal Feedback - VIEW SAMPLE
6.) Sub Portal Announcements - Each site can have different announcements. VIEW SAMPLE
7.) Sub Portal image - place this on a tab and the image for each different domain will be displayed. Users can upload images via the admin module.
8) Sub Portal Banners !
To
install these controls, simply upload into the DotNetNuke 2.1.2
portal the file, SubPortals.Zip. This
file contains both modules. Once
the upload is completed, two new modules will be available.
One module will allow the creation of a Sub Portal, the other is used for
display any HTML complaint data on any page.
Administration Module
After
adding the Administration module, called SubPortals, you will see link choices. These choices are Edit
Sub Portals, and Edit My Fields.
To
add a new Sub Portal, you must first have created the Administrator user for the
sub-portal. Click on the link
called Edit Sub Portals.
On the next screen, you will have several fields to fill in.
Each one is described below:
Sub Portal URL - This is drop down
selection of all the current sub portals you have defined.
There is also a choice for New Sub
Portal. This is selection you
make if you want to create a new sub portal.
Domain Name - This entry will accept
the name(s), comma separated, of the domains you want associated with this sub
portal.
Administrator - This is name of the
user id within the portal that will have the ability to modify these settings
after it is created. They will also
have the ability to modify the Sub Portal HTML modules.
Color - This is a list of available
colors for the sub portal. This
list can be edited by adding colors the Colors.xml available in the
~/DesktopModules/SubPortals directory
Skin - This allows subportal users to choose a particular skin for there subportal !
The
rest of the fields are used in the Skin object which is described later.
This module can be placed anywhere, on any tab
within the sub portal. Each time it
is placed, it has its own ability to have unique HTML information associated
with it. The HTML can be entered
using the Free Text Box, which makes HTML entry extremely easy to do.
The Skin module is contained in the zip file
entitled SubPortalSkin.Zip.
This must be uploaded after the Sub
Portal Admin modules. This skin
object can be placed several times on the same skin.
Each time, it can have a unique object type, which makes it display
different information.
How
to Add the Skin Object
One line of code is required at the top of the
ascx or html file for the skin. This
line is:
<%@
Register TagPrefix=”dnn” TagName=”SubPortalObject” src=”~/DesktopModules/SubPortalsAdmin/SubPortalSkin”%>
In
order to use the object, the following code must be added where you want it to
be used:
<dnn:SubPortalObject
ObjectType=”xxxxx” runat=”server” id=”yyyyy” />
xxxxx - This is the type of information you want to display.
The following values are valid:
a.)
Color
b.)
Name
c.)
Slogan
d.)
Welcome
e.)
Address
f.)
Phone
g.)
Text1
yyyyy - Only needs to be a unique ID
You
can also provide a Css Class option that will assist in the presentation of the
skin information.
The following Global Variables are available
also:
a.)
SubPortalColor
b.)
SubPortalName
c.)
SubPortalSlogan
d.)
SubPortalWelcome
e.)
SubPortalAddress
f.)
SubPortalPhone
g.)
SubPortalText1
h.)
SubPortalImage
Sample
Skin with splash page built in:
///////////////////
<%@ Control language="vb" CodeBehind="~/admin/Skins/skin.vb"
AutoEventWireup="false" Explicit="True" Inherits="DotNetNuke.Skin"
%>
<%@ Register TagPrefix="dnn"
TagName="Menu" Src="~/admin/Skins/Menu.ascx"%>
<%@ Register TagPrefix="dnn"
TagName="Login" Src="~/admin/Skins/Login.ascx"%>
<%@ Register TagPrefix="dnn"
TagName="Logo" Src="~/admin/Skins/Logo.ascx"%>
<%@ Register TagPrefix="dnn"
TagName="BreadCrumb" Src="~/admin/Skins/BreadCrumb.ascx"%>
<%@ Register TagPrefix="dnn"
TagName="Copyright" Src="~/admin/Skins/Copyright.ascx"%>
<%@ Register TagPrefix="dnn"
TagName="DotNetNuke" Src="~/admin/Skins/DotNetNuke.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="HOSTNAME" Src="~/Admin/Skins/HostName.ascx" %>
<%@ Register TagPrefix="dnn"
TagName="SubPortalObject" src="~/DesktopModules/SubPortalsAdmin/SubPortalSkin.ascx"%>
<%@ Import Namespace="DotNetNuke"
%>
<%@ Import Namespace="System.IO"
%>
<%@ Import
Namespace="SubPortal" %>
<%
Dim _portalSettings As
PortalSettings = CType(HttpContext.Current.Items("PortalSettings"),
PortalSettings)
Dim currentSubDomain As String=Request.ServerVariables("HTTP_HOST")
Dim skinName as string =
SubPortalName
Dim SkinColor as string =
SubPortalColor
'Dim skinImage as string =
SubPortalImage
Dim skinSlogan as string =
SubPortalSlogan
Dim skinWelcome as string =
SubPortalWelcome
Dim skinAddress as string =
SubPortalAddress
Dim skinPhone as string =
SubPortalPhone
Dim skinText1 as string =
SubPortalText1
Dim skinText2 as string =
SubPortalText2
Dim skinText3 as string =
SubPortalText3
if
request.querystring("color") <> "" then
SkinColor =
request.querystring("color")
end if
IF (_portalSettings.ActiveTab.TabName =
"Home" or _portalSettings.ActiveTab.TabName = "null") then
'If Cache("skincontents") Is Nothing Then
Dim skinFNAME as String = Server.MapPath("/Portals/_default/Skins/Real/intro.htm")
Dim objStreamReader as StreamReader
objStreamReader = File.OpenText(skinFNAME)
Dim skincontents as String =
objStreamReader.ReadToEnd()
skincontents =
skincontents.Replace("images", SkinColor)
skincontents = skincontents.Replace("#DOMAIN#",
currentSubDomain)
skincontents = skincontents.Replace("#NAME#",
skinName)
skincontents = skincontents.Replace("#COLOR#",
skinText2)
skincontents = skincontents.Replace("#WELCOME#",
skinWelcome)
skincontents = skincontents.Replace("#SLOGAN#",
skinSlogan)
objStreamReader.Close()
Dim depends As New
System.Web.Caching.CacheDependency _
(Server.MapPath("/Portals/_default/Skins/Real/intro.htm"))
'Cache.Insert("skincontents", skincontents, depends, _
'
DateTime.MaxValue, _
'
TimeSpan.FromMinutes(60))
'End If
'Response.Write(CType(Cache("skincontents"),
String))
Response.Write(skincontents)
ELSE
'HERE IS NORMAL PAGE LOAD
Dim leftimage as String =
"/Portals/_default/Skins/Real/homes.jpg"
if
(_portalSettings.ActiveTab.TabName <> "null") then
if (_portalSettings.ActiveTab.TabName
<> "Home") then
Dim
str as String = _portalSettings.ActiveTab.TabName
str
= str.Remove(0, 4)
leftimage =
"/Portals/_default/Skins/Real/" & str & ".jpg"
'if ( _portalSettings.ActiveTab.TabName =
"About Me") then
'// this is where subportal ID.jpg goes"
& vbCrLf)
'else
leftimage =
"/Portals/_default/Skins/Real/" & str & ".jpg"
'end if
End if
End if
if ( leftimage =
"/Portals/_default/Skins/Real/N SUBS.jpg" ) then
leftimage =
"/Portals/_default/Skins/Real/homes.jpg"
end if
%>
<html>
<head>
<link href="Portals/_default/Skins/Real/<%=
SkinColor %>/text.css" rel="stylesheet" type="text/css">
</head>
<body id="Body">
<div align="center">
<table width="800"
height="100%" border="0" cellpadding="0"
cellspacing="0" background="Portals/_default/Skins/Real/<%=
SkinColor %>/bk-page.jpg"
ID="Table1">
<!--DWLayoutTable-->
<tr>
<td width="12"
height="7" valign="top"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/colt1.gif" width="12"
height="7"></td>
<td colspan="4" valign="top"
background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-sus.gif"><img
src="Portals/_default/Skins/Real/<%= SkinColor %>/sw-sus.gif"
width="10" height="7"></td>
<td width="13" valign="top"><img
src="Portals/_default/Skins/Real/<%= SkinColor %>/colt2.gif"
width="13" height="7"></td>
</tr>
<tr>
<td rowspan="9" valign="top"
background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-s.gif"><!--DWLayoutEmptyCell-->
</td>
<td height="10" colspan="4"
valign="top" bgcolor="#ffffff"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/alb.gif" width="9"
height="10"></td>
<td rowspan="9" valign="top"
background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-d.gif"><img
src="Portals/_default/Skins/Real/<%= SkinColor %>/sw-d.gif"
width="13" height="4"></td>
</tr>
<tr>
<td width="9" rowspan="7"
valign="top" bgcolor="#ffffff"><!--DWLayoutEmptyCell-->
</td>
<td height="98" colspan="2"
valign="top"><table width="823" border="0"
cellpadding="0" cellspacing="0"
background="Portals/_default/Skins/Real/<%= SkinColor %>/bk-menu.jpg"
ID="Table2">
<!--DWLayoutTable-->
<tr>
<td width="137"
height="6"></td>
<td width="137"></td>
<td width="137"></td>
<td width="137"></td>
<td width="273" colspan="2"
align="right"></td>
</tr>
<tr>
<td height="6" colspan="6"
valign="top" width="821"><div
align="right"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/dot-line-top.jpg" width="394"
height="6"></div>
</td>
</tr>
<tr>
<td height="3"
width="137"></td>
<td width="137"></td>
<td width="137"></td>
<td width="137"></td>
<td width="137"></td>
<td width="138"> </td>
</tr>
<!--DWLayoutTable-->
<tr>
<td height="8" valign="top"
colspan="6" width="821"><dnn:menu id="dnnMenu"
runat="server" /></td>
</tr>
<tr>
<td id="TopPane"
runat="server" vAlign="top" align="center" colSpan="6"
width="100%"
background="Portals/_default/Skins/Real/<%= SkinColor %>/bk-page.jpg"> </td>
</tr>
</table>
</td>
<td width="9" rowspan="7"
valign="top" bgcolor="#ffffff"><!--DWLayoutEmptyCell-->
</td>
</tr>
<tr>
<td height="6" colspan="2"
valign="top"><div align="right"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/dot-line-jos.gif" width="394"
height="6"></div>
</td>
</tr>
<tr>
<TD vAlign=top
width="100%" colSpan=2 height=46>
<OBJECT id=flash-text codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0
height=46 width="100%" classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000>
<PARAM NAME="FlashVars"
VALUE="textField= <%= skinName
%>&slogan=<%= skinSlogan %>&color=<%= skinText2
%>">
<PARAM NAME="Movie"
VALUE="/Portals/_default/Skins/real/<%= SkinColor %>/flash-text.swf">
<PARAM NAME="Src"
VALUE="/Portals/_default/Skins/real/<%= SkinColor %>/flash-text.swf">
<PARAM NAME="WMode"
VALUE="Window">
<PARAM NAME="Play"
VALUE="1">
<PARAM NAME="Loop"
VALUE="1">
<PARAM
NAME="Quality" VALUE="High">
<PARAM NAME="AllowScriptAccess"
VALUE="always">
<PARAM NAME="Scale"
VALUE="100%">
<PARAM NAME="BGColor"
VALUE="">
<embed src="/Portals/_default/Skins/real/<%=
SkinColor %>/flash-text.swf" quality="high" bgcolor="#A38877"
WIDTH="790" HEIGHT="46" NAME="flash-text"
ALIGN="left" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer">
</OBJECT></TD>
</tr><tr>
<td height="19" colspan="2"
valign="middle"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/dot-line-jos.gif" width="394"
height="6"></td>
</tr><tr>
<td width="205" rowspan="3"
valign="top"><table width="213" border="0"
cellpadding="0" cellspacing="0" ID="Table3">
<tr>
<td id="LeftPane"
vAlign="bottom" align="right" height="100%"
width="213">
<TABLE height="100%"
cellSpacing=0 cellPadding=0 width=171 border=0>
<TR>
<TD vAlign=top width=205
height=10><IMG height=10 src="Portals/_default/Skins/Real/<%=
SkinColor %>/img-line-top.gif" width=204></TD></TR>
<TR>
<TD vAlign=top width=205
height=100%><IMG height=218 src='<%=leftimage %>' width=199 name=leftimage></TD></TR>
<TR>
<TD vAlign=top width=205
height="50%"><IMG height=14 src="Portals/_default/Skins/Real/<%=
SkinColor %>/img-line-bot.gif" width=205 align=middle>
<A href="/Default.aspx?tabid=451"> My
Listings >></A><BR></TD></TR>
<TR>
<TD id="LeftPaneBot"
runat="server" vAlign=bottom width=205
height="100%"></TD></TR>
<TR>
<TD vAlign=bottom width=205
height="100%"><FONT face="Verdana, Arial, Helvetica,
sans-serif" color=#cccccc size=1> 2004 ©
<dnn:SubPortalObject Objecttype="Name" runat="server"
id="SubPortalName1" /><BR> Phone:
<dnn:SubPortalObject Objecttype="Phone" runat="server"
id="SubPortalPhone1" /><BR></FONT> <IMG
height=95 src="/Portals/_default/Skins/Real/copac-intreg.gif"
width=139>
<dnn:login id="dnnLogin"
runat="server" CssClass="text" />
</TD>
</TR>
</TABLE>
</td>
</tr>
</table>
</td>
<td id="ContentPane"
runat="server" vAlign="top" align="left"
width="595">
</td>
</tr>
<tr>
<td height="22" valign="bottom">
<div align="right"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/dot-line-jos.gif" width="394"
height="6"></div>
</td>
</tr>
<tr>
<td height="23" valign="top"><div
align="right" class="text-block">
<font color="#ffffff"
size="2"><dnn:SubPortalObject Objecttype="Address"
runat="server" id="SubPortalAddress1"
/></font>
<a href='http://<%= currentSubDomain
%>'><font color="#ffffff"
size="2">home</font></a>
</div>
</td>
</tr>
<tr>
<td height="10" colspan="4"
valign="top" bgcolor="#ffffff"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/alb.gif" width="9"
height="10"></td>
</tr><tr>
<td height="10" valign="top"><img
src="Portals/_default/Skins/Real/<%= SkinColor %>/colt4.gif"
width="12" height="10"></td>
<td colspan="4" valign="top"
background="Portals/_default/Skins/Real/<%= SkinColor %>/sw-j.gif"><img
src="Portals/_default/Skins/Real/<%= SkinColor %>/sw-j.gif"
width="4" height="10"></td>
<td valign="top"><img src="Portals/_default/Skins/Real/<%=
SkinColor %>/colt3.gif" width="13"
height="10"></td>
</tr>
</table>
</div>
</body>
</html>
<%IF _portalSettings.ActiveTab.TabName
= "<br>Finance" then %>
<SCRIPT language="JScript">
function something(number)
{
BLA<BLA<BLA
}
}</SCRIPT>
<% end if
end if%>
///////////////////