Our primarily goal when developing nopCommerce extensions is to create products that will be of value to our customers and will help them build a successful online business. Having this in mind we have created the Nop Ajax Cart for nopCommerce. Why bother doing this when nopCommerce comes with an ajax cart by default, you may ask?
The main and probably most important reason is that with the Nop Ajax Cart an unnecessary and a very cumbersome step in the shopping process is being omitted –redirecting your customers to the product page. Something as simple as this, might be the difference between your customers having a pleasant and ceaseless shopping experience and your customers being confused, even abandoning their shopping cart.
In this blog post I will guide you through the main features of this powerful plugin and show you how your online business can benefit from it.
One of the major features of the Nop Ajax Cart is that you can add products to your shopping cart straight from the category page or any other product list page. Once your client clicks on the add to cart button, the product will be instantly added to their shopping cart and a pop-up window will open displaying the selected product and giving them the options to checkout, view their basket or continue shopping.
Let’s not forget that you can also select the quantity you wish to purchase, again straight from any product list page.
The major differences between the Nop Ajax Cart and the default nopCommerce ajax cart are:
1. Instead of being redirected to the product page, the product attributes are displayed in a pop-up window, making it really easy to select for example the size or color of the item you wish to purchase.
2. What about grouped products? No need to go to the product page for this either. You can view them and select your item in a pop up window and then simply continue with the shopping process.
4. Last but not least, the Nop Ajax Cart is integrated with our Nop Quick View plugin so that nopCommerce customers can have a completely seamless shopping experience
I hope I have managed to pinpoint the most important features of the Nop Ajax Cart and to convince you of the benefits this plugin can offer to your online business. After all, the major goal of every online store is to offer a great shopping experience so that customers keep shopping and coming back.
Following our previous blog post on what's new in nopCommerce 3.3, I would like to point your attention to a few performance optimizations in the new version. I would also discuss a couple of optimizations from previous versions of nopCommerce, which you might not be aware of.
Please note that in the following 3 points I will discuss 5 settings, which can be set from the administration of your nopCommerce store and are extremely important to its performance.
1. In nopCommerce 3.3 now there is a new "Ignore ACL rules" setting.
NopCommerce does have a powerful ACL (Access control lists) system, which grants permissions to customer roles to certain parts of both the administrative and public website. You can configure the ACL by going to the nopCommerce administration -> Configuration -> Access Control List. Since version 2.7 the nopCommerce team have been gradually adding ACL permissions for the major entities (Products, Categories, Manufacturers). For example if you edit a product in nopCommerce you would find an "Access control list" tab where you can set who can browse and edit the product:
While this is a powerful tool for the store owner it means that every product needs to be checked against the current customer roles. Both in the administration and the public site there are several product, category and manufacturer list pages. So for example if you are browsing the category page on the public site the whole product list will go through the ACL check. Let's take another example. Our JCarousel plugin, which can be configured to show products (related, cross sell, new, custom list, etc...) in a carousel on different public pages. All products in the carousel need to go through ACL checks too. All this ACL overhead is true for categories and manufacturers too.
But often store owners would not need ACL permissions on any of their products, categories or manufacturers. Still the checks will be performed creating additional work for the system and thus adding to the response time of the website.
Until version 3.3. Now if you set the new "Ignore ACL Setting" the ACL checks will be bypassed.
Our tests showed that on a category page with just 8 products, on a cleared system cache, this setting reduced the response time of the server by almost 50%.
2. In nopCommerce 3.3 there is a new "Ignore limit per store rules" setting.
Similar to the ACL permissions, when you have a multi-store nopCommerce, you can set the visibility of products, categories and manufacturers per store:
Just like with ACL, every product, category or manufacturer will be checked against the current store. But what if you do not have multiple stores but just one store. The checks will still occur.
Until version 3.3. Now if you set the new "Ignore limit per store rules" the store checks will be bypassed.
Our tests showed that on a category page with just 8 products, on a cleared system cache, this was reducing the response time of the server by almost 25%.
So combine this with the 50% improvement from bypassing the ACL checks and you get an enormous performance boost in your nopCommerce. To make use of this you need to go to the nopCommerce administration -> Settings -> Catalog Settings and enable the two settings:
3. Although we are on the subject of nopCommerce 3.3, I would like to show you three very important settings, which were introduced in nopCommerce 3.2 and which will again reduce your server response time enormously.
If you go to the nopCommerce administration -> General and Miscellaneous Settings -> Localization settings you would notice the following three settings:
Locale resources refer to all strings in nopCommerce, which are not properties of the shop entities. For example such strings are the "Information", "Customer Service", etc. titles in the footer. So if you are browsing a product page, the system would need to load both the product information and the locale resources as the footer is present on every page in the public website.
Localized properties refer to all properties of an entity (product, category, manufacturer, etc...), which could be localized for different languages. For example such properties are the product name, short description, full description and SEO information. These are stored in a separate table (different from the main entities tables) in the database.
Search engine friendly names refer to the URL slugs (parts), which map to an entity in the shop. For example if your Laptop category has Id 1 in the database and has the following URL in your shop http://www.myshop.com/laptops, the "laptops" part of the URL is what tells the system that it needs to load the category with Id 1. This is possible because there is a separate table and entry in the database, which maps the "laptops" slug/search engine friendly name to the category with Id 1.
What is common in these three cases is that there is information which needs to be fetched with every request but is stored separately from the main request data in the database. For example if you are browsing a category page, nopCommerce would query the database once for the category search engine friendly name, once for the category information, once for the the category localized properties and once for every locale resource. In addition, to build the main menu of the website as well as the category navigation panel, nopCommerce would have to query the database for each an every category search engined friendly name and category localized name. Product or manufacturer links and names present on the current page would result in the same type of requests.
As you can see, before the page data has been cached by nopCommerce, the number of requests to the database for just a single page, becomes enormous.
To avoid this you need to set the three settings. Our tests showed that on a category page with 20 products, on a cleared system cache, setting the:
"Load all locale resources on startup" reduced the response time by more than 15%.
"Load all localized properties on startup" reduced the response time by more than 30%.
"" reduced the response time by more than 18%.
Combine this improvement with the gain from the Ignore ACL and store limitations settings and you do get a much better response time from your nopCommerce.
4. In nopCommerce 3.3 there are a few performance optimizations which might not be so obvious to the store owner but are still important and worth mentioning:
When you have thousands of categories the admin area could become very slow as hundreds of database requests were being made. Now there is just one request.
The category pages now load all specification attributes with just one request and not with one request for every attribute.
Checkout attributes are not being loaded for each HTTP request anymore as it is not necessary. This was being done to render the mini-shopping cart block resulting in additional load time for every single page, as the mini-shopping cart is present in the header of the website, thus on every page.
Customer language and currency are being cached between requests and not loaded every time.
5. In nopCommerce 3.3 there is a new Clear Log scheduled tasks, which would reduce the size of your database significantly and keep it from bloating unnecessary.
You do need to set an interval on this task, which would allow you enough time to investigate any possible errors or activities that might occur on the website.
6. In nopCommerce 3.3 when you go to System -> Message Queue, there is a new function Delete All, which will delete all queued emails and will again reduce significantly the size of your database.
Emails that are being sent from the system are kept in a separate table in the database. So you end up having them both in your email account Sent folder and your nopCommerce database. Deleting them from your database is perfectly alright. Before you do this do make sure to go through the emails that are marked as not sent or in other words have failed.
This concludes our review of nopCommerce 3.3. I hope that learning about all the performance tips and tricks will prove at least as useful to you as it has to us and our work. Do also checkout our previous blog post on the nopCommerce 3.3.
As usual your comments are more than welcomed!
Next we will follow with more details on our new nopCommerce 3.3 plugins and functionality. So stay tuned as we continue to cover the best .NET e-commerce system!
With nopCommerce 3.3 out of the door I would like to share our usual Nop-Templates.com digest of the new features in this newest release of the best .NET e-commerce system.
Working with the new features in nopCommerce 3.30 would often require a quick modification of certain settings or language resources. Therefore before I go into the details of each nopCommerce 3.30 feature I would like to point your attention to these two videos in case you are not familiar with these small but useful nopCommerce tricks:
There are quite a few things worth noting in nopCommerce 3.3 among which are its performance improvements. The nopCommerce 3.3 release is too much for a single blog article. So in this blog post I will skip the performance improvements and will discuss them in detail in a separate article to follow.
1. First and foremost nopCommerce 3.3 now runs on .NET 4.5.1.
Developers are keen on using the latest and greatest technologies and the fact that nopCommerce follows closely with every new .NET update could only testify to how cool it is to develop solutions based on nopCommerce. So if you are a .NET developer and wondering what is new in .NET 4.5.1 do visit the MSDN documentation:
2. NopCommerce 3.3 has a brand new framework for the administration UI of the system, namely Telerik's Kendo UI.
This might not sound too exciting to the store owners but it is certainly great news to the nopCommerce developers. Because to extend nopCommerce, developers now have a framework, which is actively developed by no other but Telerik, and being used in thousands of modern web applications. It comes with a set of powerful controls, most notably the Kendo Grid, so plugins or any nopCommerce functionality can have an efficient at the same time easy to develop administration.
3. The Default theme in nopCommerce 3.3 is responsive now.
Responsive design is a must nowadays, so this new feature does not need any elaboration. What I would like to note though is that Nop-Templates.com were the first to introduce native responsive design to nopCommerce with our nopCommerce themes. In fact we refactored the markup of the system so responsive themes could be developed. So this new 3.3 feature does remind us that we did something very important which has pushed the project forward.
4. In nopCommerce 3.3 store owners can sell not only products but also paid memberships.
This could be achieved by creating a Customer Role and then assigning the role to certain products (memberships).
When the customer buys this product, they are being automatically assigned this role. The store owner can of course grant certain permissions to the role based on the power ACL (Access Control List) system in nopCommerce. Permissions could range from accessing the website as a whole to viewing only certain pages.
5. The checkout process could now be simplified in nopCommerce 3.3.
There is an option to disable the billing address step, which means that the billing address in the checkout would be populated with the default customer address information. To enable this option you need to go to Configuration -> Settings -> Order Settings:
6. Store owners can now have full control over the customer registration information.
In the 3.3 version of the system store owners can define customer attributes straight from the administration. To do this you need to go to Configuration -> Settings -> Customer Settings and click on the Customer form fields tab:
These attributes would appear both on the registration page as well as the customer info page in the My Account section. I am sure that many nopCommerce stores will be upgrading to version 3.3 just for this because up to now this has been a major requirement and a matter of custom development.
7. While we are on the subject of often requested customizations, in nopCommerce 3.3 there are two very important improvements to how attribute combination are being handled.
Now when you have an attribute combination, which has its own Price, SKU, Manufacturer Part Number and GTIN, when you select the attribute combination on the product details page, not only the price but also the SKU, MPN and GTIN will be refreshed.
To enable this you need to enable these two settings:
In nopCommerce 3.3 store owners can now specify that only the defined attribute combinations can be added to the shopping cart or wishlist. So if you have defined the following attribute combinations for your product: size S - blue, size L - red, customers would not be able to add the product with size L - blue.
8. In nopCommerce 3.3 there is a major SEO improvement. Topic urls are now id-less.
This means that if you have a page in your website with the following url:
A more SEO-friendly url, which would not only be frowned upon by search engines but would add to the SEO rank of the page.
The nopCommerce team have been gradually introducing id-less urls since verison 2.7 and this new enhancement more or less marks their effort as complete. In nopCommerce 3.3 all pages (category, product, news, blog, topic) have SEO-friendly urls. The only pages that do not have these are the forum ones, but I don't think id-less urls are viable to forum pages anyway.
9. NopCommerce 3.3 adds support to the new Google Universl Analytics.
You can enable the Google Universal Analytics by going to Content Management -> Widgets -> Google Analytics or Universal Analytics and clicking the Pre-Configure Universal Analytics button:
10. NopCommerce 3.3 builds on its multi-store support by adding the ability to configure countries per store as well as checkout attributes. Both can be configured from the new Stores tab.
11. In nopCommerce 3.3 the store owner can configure their store to detect customer language automatically based on its browser setting.
This is a small but very handy feature which can be enabled from Configuration -> Settings-> General And Miscellaneous Settings -> Localization Settings:
These are the more notable new features in nopCommerce 3.3. There are of course other features, which you can read about in the release note. I am going to talk about the very important performance improvements in nopCommerce 3.3 in a separate blog post.
Until then, stay tuned and do share your feedback with us on this great new release of the best .NET e-commerce system!
NopCommerce version 3.20 was released last week and for those of you who are not yet familiar with the new version or have just skimmed through the release note we have a detailed overview of the new features.
Working with the new features in nopCommerce 3.20 would often require a quick modification of certain settings or language resources. Therefore before I go into the details of each nopCommerce 3.20 feature I would like to point your attention to these two videos in case you are not familiar with these small but useful nopCommerce tricks:
NopCommerce 3.20 has a set of highlight features and and a set of minor ones. I will cover all of the new features but before we start with the highlight ones I would like to mention one of the minor features which I believe should really be listed as a major one. This is the new RTL support for the administration panel. Now if you have a language which is marked as RTL your nopCommerce administration will be indeed shown in an RTL orientation:
Let's move on to the highlight features.
1. The first feature that will grab the attention of every nopCommerce store owner is the new Facebook Shop. Now if you go to the nopCommerce administration -> Configuration -> Plugins, you will see a new Facebook plugin:
If you click the Configure button you will be taken to a page, which explains how to setup your Facebook Shop:
Setting the Facebook shop is straightforward as you can guess from these brief instructions. The most important thing to note is that before you setup your Facebook shop, your website would need an SSL. If you do not have one, you can always purchase it from your hosting provider and ask them to set it up for you.
2. The next major functionality that comes with nopCommerce 3.20 is its support for warehouses. What this means is that you can configure individual products to be shipped from a specific location (warehouse). You can also configure the system to use the warehouse location when calculating the shipping cost for the product.
First you start by configuring your warehouses from the Configuration -> Shipping -> Warehouses administration:
What is important here is to configure an address for your warehouses.
Next when editing a product you need to specify in which warehouse it is located:
If you would like nopCommerce to take into account the warehouse location of a product, when calculating its shipping rate, you will need to edit the Configuration -> Settings -> Shipping Settings and check the "Use warehouse location":
3. While we are on the nopCommerce 3.20 shipping functionality, there is another new feature worth mentioning. Now the store owner can specify when a product will be shipped. In nopCommerce this information is referred to as delivery date. This is useful for example when you are selling products, which are manufactured on demand. You can setup different delivery dates from the Configuration -> Shipping -> Delivery Dates administration:
When you create or edit a product you can specify its delivery date:
The delivery date would appear on the product details page and would be useful to the customers before they make their purchases.
4. Although we are covering the major features I would like to mention one very little but useful feature again related to the shipping functionality in nopCommerce 3.20. Now when you mark a product as Free Shipping:
This would be reflected on the product details page and a Free Shipping image would be visible to the customer. This was missing before and customers could only realize that a product is free shipping during the checkout process:
If green is not your color you can change the free shipping image by replacing this file
If you are not working with the Default Clean theme, just replace the DefaultClean part of the path with the name of your theme.
You can also change the "Free shipping" text by changing the "products.freeshipping" language resource. If you are not sure how to change language resources in nopCommerce, do watch this video.
5. Vendors were introduced in nopCommerce 3.0 but only as a backend functionality. Store owners could assign products to different vendors and manage who has permissions to see and edit these products. But all this was hidden from the customers of the store. In nopCommerce 3.20 there is a new Configuration -> Settings -> Vendor Settings -> Show vendor on product details page. When this setting is set you can see a link to the product vendor on the product details page:
Clicking on the vendor link customers are now able to see all products delivered by this particular vendor:
6. In nopCommerce 3.20 there is a new store menu, which shows the main categories from the store:
This is different from the previous versions, where you had only the Home, About Us, etc... links. In the new menu you can configure how many subcategory levels are shown in the drop down menu by editing the Configuration -> Settings -> Catalog Settings -> :
If you are looking for more flexibility and control on what is shown in the nopCommerce main menu and how it is shown, do checkout our Nop Mega Menu plugin.
7. The last but not least major change in nopCommerce 3.20 is its performance optimization.
Now CSS files are being bundled and minified, a feature which was contributed by the Nop- Templates development team. In addition to this more frequently used data is being cached in memory, which decreases the response time significantly.
8. Although this is not a feature, it is important to mention that nopCommerce 3.20 now runs on MVC 5. What is new in MVC 5 is beyond the scope of this article but you can read more on the official MVC 5 release note.
I have covered all the major features in nopCommerce 3.20. Next I will mention the other new features, which although classified as minor ones, I believe are extremely useful to the nopCommerce store owners and developers.
9. In nopCommerce 3.20 you can change what templates are being used for the category, manufacturer and product pages from the administration panel:
This is very handy because to achieve the same in previous versions you had to edit the database directly.
10. Have you ever tried to run a scheduled task on demand in nopCommerce, let's say Send Emails? In previous versions you had to reschedule your task to run every second and then restart your application. After that you had to revert the schedule of your task and restart your application again. In nopCommerce 3.20 you can run a scheduled task immediately:
In this way you are not only saving time and effort but also not restarting your application twice, which would make your website not respond for at least 30 seconds on every restart.
11. In nopCommerce orders have different statuses (Pending, Cancelled, Complete). Before nopCommrce 3.20 changing an order status would require a direct edit of the database. And if you have been running an online store you would know that a store owner should be able to change an order status manually with no hustle. In nopCommerce 3.20 this is now possible from the administration panel:
12. Another new and useful feature related to the order management in nopCommerce 3.20 is the possibility to see all orders for a product. There is a new tab in the product administration page, called Purchased with orders:
13. You can also view what orders a discount has been used with. On the discount administration page, the Usage history tab is now a much more useful source of information:
14. In nopCommerce 3.20 when an order is being processed, the store owner can choose to include the automatically generated invoice with the order placed or order complete email sent to the customer. This can be done from the Configuration -> Settings -> Order Settings administration:
15. If you would like to add additional information to your invoices (remember that they are automatically generated by the system), now you can do so. Going to the Configuration -> Settings -> General and miscellaneous settings, you need to click on the PDF Settings tab and use the two new fields to add text to the footer of the invoices:
16. Moving on from the order management, in nopCommerce 3.20 there is a nice little CMS feature which allows the store owner to manage the social links in the footer of the website. This can be done from the nopCommerce administration -> Configuration -> General and miscellaneous settings -> Store Information tab:
In the public website this information is presented in the footer:
17. NopCommerce 3.20 allows the store owner to choose from the active themes in their store in a much more user-friendly way. Now if you go to the Configuration-> Settings-> General and miscellaneous settings you will see that the themes dropdown has been replaced with a nice set of radio buttons, showing a preview of the active themes:
18. I would like to finish the overview of nopCommerce 3.20 with one very little but very useful feature, which is the auto complete tags in the product administration:
The release note of nopCommerce 3.20 is extensive and covering all the new funtionality would be impossible in one blog post. But feel free to study the changes in more details here:
As you can see in nopCommerce 3.20 not only are the new features quite a few but they are also very handy and will greatly facilitate the work of the nopCommerce store owner.
The nopCommerce developers will appreciate the performance optimizations, the code refactoring and the move to MVC 5. There is also the new deploy directly from Visual Studio but I will cover this in a separate blog post.
So stay tuned for more useful information on this new and strong release of our favorite e-commerce system. Do not also forget to check our new video page, which is constantly being updated with video tutorials on nopCommerce.
The term responsive design has been around for a while now and it has definitely caused quite a commotion. Many say that it is just a hype, while others think about it as a trend that is going to shape the web marketing and development for decades to come.
With the rapid rise of the mobile internet users and the predictions that desktop usage will eventually get obsolete, it is clear now that businesses should respond to this evident market shift. No matter what your online business is, to neglect this tendency will mean to neglect all your mobile visitors and the money they are willing to spend purchasing your products.
This is especially true for the e-commerce business. If you run an online store and if you have been asking yourself what the benefits of the responsive design are and whether your e-commerce store needs to get responsive, we would like to answer this for you.
The most obvious benefit of responsive design is that you are going to reach a bigger number of potential customers. Your mobile customers are not going to bounce off your website but browse through it and shop, without difficulty.
Responsive design is different from mobile web sites as you only have to maintain one website with one markup, which adapts itself and looks good on all devices: desktop, tablet, smartphohe, e-reader, etc.
Responsive design is also an investment in your website SEO. Search engines are most probably going to factor in responsive design in their page rank algorithms in the future. And if they are not already doing so and rewarding your responsive website, the fact that your responsive design allows more visitors to stay more on your website and do more conversions is enough to boost your SEO standing significantly.
The following infographic explains what responsive design is, what its advantages are and why you shouldn’t overlook it.
In the last couple of months we at Nop-Templates.com have been working on introducing responsive design to our nopCommerce premium themes. We are sure that this innovation will help our customers explore new business opportunities and drive more sales and revenue their way.
Nop-Templates is the leading provider of nopCommerce themes, templates and plugins. Trusted by our nopCommerce customers and the nopCommerce community for our dedication to quality and industry-leading technical support, Nop-Templates helps professionals deliver outstanding e-commerce functionality and grow their businesses faster on top of nopCommerce. Our nopCommerce themes and extensions make our customers more productive and allow them to deliver their nopCommerce projects within budget and on time.