an ASP.NET Open Source CMS & eCommerce platform
Search:
Skip Navigation LinksHome > DotShoppingCart Blog
DotShoppingCart Blog
New features in V4
You can take a look at the list of new major features in V4 below. V4 also comes with a long list of bug fixes.
 
DotShoppingCart Suite V4.0 is released.
DotShoppingCart Suite 4.0 is now available for purchase. The major features include Silverlight charting report, Form module, Photo block, XML bulk product export/import, templated product detail page etc. Check the full new feature list.
Add a Terms Agreement Checkbox In The Checkout Page
In Store\OnePageCheckout.ascx add the following code after the line "<div><h3><asp:Literal runat="server" text="<%$ Resources:Common,ReviewInformationAndSubmitOrder %>" /></h3></div>"
 
 
<div>
    <asp:CheckBox id="chkTerms" runat="server" text="I have read and agree the your terms." />
    <asp:CustomValidator id="cvdAgree" runat="server" clientvalidationfunction="IsChecked"
        onservervalidate="cvdAgree_ServerValidate" validationgroup="checkout" errormessage="The term agreement must be checked.">*</asp:CustomValidator>
    <script type="text/javascript">
        function IsChecked(obj, args) {
            var checkbox = $("#<%= chkTerms.ClientID %>");
            args.IsValid = checkbox.attr('checked');
        }
    </script>
</div>
 
 
In Store\OnePageCheckout.ascx.cs add the following code
 
     protected void cvdAgree_ServerValidate(object source, ServerValidateEventArgs args) {
        args.IsValid = chkTerms.Checked;
    }
Enable Ampersand &amp; in URL in IIS7
If you use & as part of URL e.g. use & in category name, you will get message "HTTP Error 400.0 - Bad Request ASP.NET detected invalid characters in the URL" from IIS7 server. This is because IIS 7 implements UrlScan 2.5 and disallows the ampersand (&) in the request for security reasons. As discussed here, you will need to do the following two in order to fix this.
 
Create Telerik alike menu in DotShoppingCart
I had one person asking how to implement Telerik alike menu in DotShoppingCart. In this post I will describe how you can use the dynamic image creating feature in DotShoppingCart along with some basic CSS tricks to archieve this.
 
1. Start off the Legacy Theme
 
2. Change Accent colors.
 
 
3. Update the menu CSS and add search box CSS in the Legacy Theme "App_Data\Themes\Themes_Template\Legacy\Default.css"
 
div.mainmenu div.tab a:link, div.mainmenu div.tab a:visited {
      background: url('/dyimage.axd?type=boxHeader&width=120&height=30&cornersize=0') no-repeat;
      float: left;
      margin-right: 1px;
      width: 120px;
      height: 30px;
      color: %Accent Fore Color%;
      font-weight: bold;
      text-decoration: none;
      text-align: center;
}
 
div.mainmenu div.tab a:active, div.mainmenu div.tab a.selected{
      background: url('/dyimage.axd?type=boxHeader&subtype=highlight&width=120&height=30&cornersize=0&gradient=False') no-repeat;
      color: %Accent Highlight Fore Color%;
}
 
div.mainmenu div.tab a:hover {
      background: url('/dyimage.axd?type=boxHeader&subtype=highlight&width=120&height=30&cornersize=0') no-repeat;
      color: %Accent Highlight Fore Color%;
}
 
td.searchBar {
    background: url('/dyimage.axd?type=boxHeader&width=1&height=30&cornersize=0') repeat;
    vertical-align: middle;
    padding-left:10px;
    border-right: solid 1px %Border Color%;
}
 
.searchShell {
    background:transparent url('/web/images/searchBoxBg.gif') no-repeat scroll 0;
}
 
.searchInputBox {
    height:13px;
    line-height:12px;
    margin-left:10px;
    padding:0;
    vertical-align:middle;
    width:172px;
    border:0 none;
}
 
.searchButton {
    background:transparent none repeat scroll 0 0;
    cursor:pointer;
    height:22px;
    vertical-align:middle;
    width:23px;
    border:0 none;
}
 
4. Update the search user control "Controls\Blocks\Search.ascx" to use the new search CSS.
 
<asp:Panel id="pnlBlockContent" runat="server">
    <div class="searchShell">
        <input type="text" class="searchInputBox" name="txtSearch" onkeydown="return GoSearch(event)" />
        <asp:Button id="btnDoSearch" runat="server" cssclass="searchButton" />
    </div>
</asp:Panel>
 
And finally you will get this.
 
 
New features in V3.1
There are a lot of bug fixes made into DotShoppingCart V3.1. Along with the bug fixes you can find a few new features as follows.
New features in V3.0
The full multi-language support is the major feature in DotShoppingCart V3.0. You can now translate it to other language easily or create a language pack. Other features include unlimited product custom fields, product bulk import, site admin UI improvements etc. Check below for more details.
DotShoppingCart Suite V3 is released.
DotShoppingCart Suite 3.0 is now available for purchase. It has tons of stuff that people are waiting for. The major ones are the full multi-language support, unlimited product custom fields, product bulk import, site admin UI improvements. Check the new features in V3.
Add a custom ASP.NET UserControl into the DotShoppingCart (V2.5+)
There was an old blog entry talking about adding custom ASP.Net user control to DotShoppingCart. From DotShoppingCart V2.5 the page editor has been rewritten by using JQuery. As the result the way to integrate the custom ASP.NET user control is simplified.
 
1) Create a Standard ASP.NET stardard User Control and derive it from BlockUserControl
 
Check "Web/View/Blocks/TagCloud.ascx.cs" for the example.
 
using DotShoppingCart.Commercial.Core;
public partial class View_Blocks_TagCloud : BlockUserControl {
 
2) Hook up the new block type in DB
 
    a) Insert a new entry to dbo.DSC_Block_Type_lkp table
 
e.g. INSERT INTO DSC_Block_Type_lkp (type, virtualPath) VALUES ('My Block', '/Controls/Blocks/MyBlock.ascx')
 
    b) Insert a new entry to dbo.DSC_Block_Type_Group_Block_Type_Map
 
e.g. INSERT INTO DSC_Block_Type_Group_Block_Type_Map (BlockTypeGroupId, BlockTypeId, SortOrder) VALUES (3, <id that is created in step a>, 10)
 
To add your custom user control to page, just enable page edior and click "+" sign. Find the custom block in the proper group (which you add in the step b above).
New features in V2.6
Product bulk import is the major feature in V2.6. Now you can work on the products offline and then import it into store admin easily. Several admin UI interfaces have been cleaned up and made consistent throughout the admin site. There are also several other admin improvements including File Management and user ghost feature.
Customize Product Summary Grid
DotShoppingCart allows you to customize the product summary easily. To do that just go to any product summary page and enable the page editor. Click "Edit" in the dropdown menu of the product summary block. See the image below.
 
 
Update the html code in "Product Summary Template". Notice there are tokens wrapped by %% e.g. %%ProductName%%. These tokens will be replaced by the product properties during the runtime.
 
 
Migrate DotShoppingCart Suite V2.1 to V2.5
Before you apply these migration steps please make sure you back up your database and files web\web.config & DSC.config.
 
Here are the manual steps to migrate DotShoppingCart Suite V2.1 to V2.5.
 
1) Migrate database 
Download migration SQL script and apply it to your V2.1 database.
 
2) Update web.config and DSC.config
    a) Replace string "OpenSource" to "Commercial" in web.config and DSC.config
    b) Remove table based shipping and table based tax configuration (see yellow background below) in DSC.config
<shippingServiceConfiguration defaultProvider="">
        <providers>
            <clear />
             <addenabled="True" sortOrder="0" name="Table Based Shipping" type="DotShoppingCart.Commercial.Shipping.TableBasedShippingProvider" />
        </providers>
</shippingServiceConfiguration>
 
 
<taxServiceConfiguration defaultProvider="">
 <providers>
    <clear />
    <add name="Table Based Tax" type="DotShoppingCart.Commercial.Tax.TableBasedTaxProvider, DotShoppingCart.Commercial.Tax, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
 </providers>
</taxServiceConfiguration>
 
    c) Compare web.config and DSC.config in V2.5 to the existing ones and bring the new changes in V2.5 to the existing ones.
    d) Go to Store admin and configure table based shipping and table based tax again
Replace Dynamic Block Header Background With the Customized Static Image
In DotShoppingCart themes and skins are dynamic. When you change the colors in site admin, all the images in the themes are created again by using GDI+ API.
 
Check the areas surrounded by the red rectangles below. These background images are created dynamically.
 
and
 
 
The bottom ones are called block headers. This article describes how you can replace the block headers with your customized static images.
 
The css class for the block headers is "blockHeader". If you search the "blockHeader" against your entire solution, you will find one in Default.css
 
div.blockHeader {
    text-align:center;
      font-weight: bold;
}
 
div.blockHeader a {
      text-decoration: none;
}
 
and the other one in web/controls/blocks/BlockContainer.ascx.cs.
 
header.Attributes.Add("class", "blockHeader");
header.Attributes.Add("style", string.Format(BlockHeaderFormat, buc.HeaderData.Height - 6, buc.HeaderData.Width, buc.HeaderData.Height));
header.InnerText = buc.HeaderData.Title;
blockDiv.Controls.Add(header);
 
To use your customized static image as the block header background, please do
 
1) Add your background image to the div.blockHeader css style e.g. background-image:url(<your image url>);
2) Remove the code adding the inline style
header.Attributes.Add("style", string.Format(BlockHeaderFormat, buc.HeaderData.Height - 6, buc.HeaderData.Width, buc.HeaderData.Height));
 
Here is an example of the customzed header blocker.
 
 
Create FAQ Page By Using Hierarchy View
For things like FAQ, knowledge base or online documentations DotShoppingCart has a built-in module "Hierarchy View" for these. In this article I am going to describe how easy to create a FAQ page.
 
In your site admin, go to Content -> Content and click "Add" button to create a content group.
 
 
Make sure you change the Default View to "Hierarchy". See the arrow sign above.
 
After you create the FAQ content group, click "View" button and you will be brought to the FAQ page. Check the URL of the FAQ page. It will be something like <your site>/View/Hierarchy/FAQ.aspx. You could use the relative link "/View/Hierarchy/FAQ.aspx" in any page or menu.
 
You can see the FAQ page that was just created.
 
 
Then you can use the highlighted the icons above to start creating the entries in FAQ.
 
If you need a live example of FAQ page, check DotShoppingCart FAQ.
Bulk Import Tax Regions
Many people asked if there is a tool which can do bulk import tax table since tax table could be hundreds of tax regions. We have implemented the bulk tax import feature in the next version.
 
In Site Admin -> Store -> Tax, you will see the "Import Tax Regions" button.
 
After clicking the button you will see this.
 
 
You can point it to a text format tax file to import the tax regions defined in the tax file. Check online document for the format of the tax file.
 
For people want to use this feature now, you could download from here. And then copy the files to the web directory that your store was installed to.
DotShoppingCart Suite V2.5 is released
DotShoppingCart Suite V2.5 has been released. The last version of DotShoppingCart Suite V2.1 was about 6 months ago. Now DotShoppingCart Suite has been kept up with its On Demand service sibling enjoying the new features.
 
Here are the links to the new features included in this release.
 
Use Advanced Menu in Block Container to Achieve Another Layer of Customization
After you enable page editor, you will find a special menu item "Adavanced" in the dropdown menu of any block container. After you click it, you will see a warning sign "Note: please stop if you don't know HTML! Do not touch anything inside %% or you will get your site screwed up." As the general rule, if you are not familar with the raw HTML editing then please don't use this feature. Also you don't want to touch anything wrap around %%.
New features in V2.5

There are a lot of improvements made into V2.5. The page editor has been completely rewritten in JQuery. As a result you will notice a significant performance improvement when using page editor. Blog module has been enhanced as well. We added new blocks such as Tag Cloud, Article Archive, Recent Comments etc.

Disable or remove certain UI pieces

I had people asking how to disable some UI pieces in some pages. Here are some detail questions and my answers.

1) how do I disable the action buttons e.g. "Ask a Question", "Update Alert", "Tell a Friend" in product detail page?

In web\store\ProductAction.aspx, find <asp:ImageButton id="btnAskQuestion", <asp:ImageButton id="btnUpdateAlert", <asp:ImageButton id="btnTellFriend" and put visible="false" inside the tag.

2) Remove register link

In web\controls\blocks\LoginMenu.ascx, remove line <li><a href="<%=SiteNavigation.RegisterPage %>">Register</a></li>.

In web\controls\core\Login.ascx, remove these lines.

<td class="logincell">

    <asp:Button id="btnRegister" runat="server" text="Create New Account" />
</td>

In web\controls\core\Login.ascx.cs, remove these lines.

btnRegister.OnClientClick = string.Format("window.open('{0}{1}', '_self'); return false;",

    SiteNavigation.RegisterPage, string.IsNullOrEmpty(returnUrl) ? "" : "?ReturnUrl=" + returnUrl);

3) Remove customer Reviews in product detail page

In web\store\Product.aspx, remove those lines

<tr>

    <td colspan="2">
         <dsc:ProductReviews id="prvReview" runat="server" />
    </td>
</tr>

In web\store\Product.aspx.cs, remove those lines

prvReview.Product = product;
prvReview.DataBind();

4) Remove Redeem Gift Certificate in shopping cart page

In web\store\Cart.aspx, find <asp:Panel id="pnlGiftCertificate" runat="server"> and put visible="false" inside the tag.

 

New features in V2.4

Visitor source capture has been improved in V2.4. If you use Google Analytics to track your site trafic, this matches with GA to capture visitor source without any configuration. When visitor registers or places order, the source will be automatically recorded. You can then run report tool to show metrics.

Page 1 of 3 (48 records) << First < Prev 1 2 3 Next > Last >> 
Recent Comments
I was looking at this cart, and it reminds me a lot of candypress or shoppingtree. Very, VERY si ...
lukezy said ...
There are a few files that are changed in V4. You can use any diff tools out there. Windiff is f ...
seldi said ...
In my 3.11 DotShoppingCart version, I have changed some code. Any list of files that are change ...
zhaojc said ...
what should i do
zhaojc said ...
where is the source code