nopsolutions / nopcommerce Goto Github PK
View Code? Open in Web Editor NEWASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
Home Page: https://www.nopcommerce.com
License: Other
ASP.NET Core eCommerce software. nopCommerce is a free and open-source shopping cart.
Home Page: https://www.nopcommerce.com
License: Other
Most serious e-commerce businesses doesn't use ecommerce solution alone. They also use a decent accounting, crm, inventory, order management, support and operations management solutions which needs to work very closely with the ecommerce solution. However, adding all those features to the nopCommerce is out of the scope definitely... but giving a decent set of API for integration will be very helpful for all service providers and retailers using nopCommerce.
This will greatly enhance adoption of nopCommerce for the serious retailers as most of them will use it. Moreover, providing it also enables solution providers to come up with generic plugins for example, integration for salesforce or vtiger crm, integration for quickoffice or openerp or any other solution!
UPDATE: nop-templates.com are going to contribute some great implementation soon
https://github.com/SevenSpikes/nopCommerce/tree/Web-Api-3.70
and
https://github.com/SevenSpikes/nopCommerce-Api-SampleApplication
RESULT IS AVAILABLE AT http://www.nopcommerce.com/p/2464/api-plugin.aspx
This is how I did it for old price:
.product-grid .product-item .picture, .product-list .product-item .picture{position: relative;}
.old-price-ribbon {-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);border:25px solid transparent;border-bottom: 25px solid #757575;position:absolute;top:0;left:-42px;padding:0 10px;width:65px;color:white;}
.old-price-ribbon .txt{position:absolute;top:5px;left:25px;}
@if (!String.IsNullOrEmpty(Model.ProductPrice.OldPrice))
{
<div class="old-price-ribbon">
<div class="txt">
@T("Promo.Sale")
</div>
</div>
}
right after closing tag inside picture
Some other points:
Let's discuss what exactly we should display (ribbons)
Currently inventory management is not fully supported by rental products yet. It's recommended to set 'Manage inventory method' to 'Track inventory' now.
We have use current number of already reserved (purchased) products for selected dates. For example, hotel renting or only 10 cars renting at the moment.
also see http://www.nopcommerce.com/boards/t/34105/about-rental-product.aspx
Usage of several discounts simultaneously (with the same discount type). Store owner will be able to manage this option for each discount ("Cumulative with other vouchers").
We also should introduce some kind of discount priority for discounts. Because final price could be distinct if two discounts are applied to the same product or order total depending on priorit. For example, if one of them have "fixed value" and the other one has "percent" discount specified. For example, (price-$10) x 50% is not the same as (price x 50%)-$10
We already have distinct attribute types supported. Let's add "Color square" specification attribute type
Forum source: http://www.nopcommerce.com/boards/t/29080/suggestion-type-property-for-specification-attributes.aspx
The issue (filtering). When we add this new attribute type, then a store owner will create a specification attribute record and its options in admin area > catalog > attributes > specification attributes > details page. Right now an attribute type (option, text, etc) is stored in a mapping between specification option and a product ([Product_SpecificationAttribute_Mapping] table) on a product details page. But we should ask a store owner to enter a certain color on the "specification attribute option" popup window. Hence we need it to move "attribute type" to [SpecificationAttribute] table/entity in order to support this new functionality - first, a store owner creates an attribute and set its attribute type to "color squares", then he/she adds options with colors
It's possible. But what should we do with the existing functionality when an attribute type is specified while mapping an attribute option to a product (on a product details page > specification attributes tab). How should we migrate specified types to "SpecificationAttribute" entity (when upgrading existing stores)? It could be quite complex
The issue is that if we move "attribute type" to "specification attribute" entity from a mapping between specification option and a product ([Product_SpecificationAttribute_Mapping] table), then we don't be able to map specification attributes with attributes type that don't support options (e.g. "custom text", etc). It's caused by wrong design we've chosen many years ago - "ProductSpecificationAttribute" entity ([Product_SpecificationAttribute_Mapping] table) has "SpecificationAttributeOptionId" property which references appropriate specification attribute option but in some cases it should reference specification attribute (not an option)
Add sample data
This task needs investigation and discussion first.
Please note that currently it's available as plugin - https://www.nopcommerce.com/auction-plugin
We already have a similar product option implemented ("Allow only existing attribute combinations"). It does not allow to add non-existing combinations to the cart. And this work item is just to display/hide such combination in the public store BEFORE a customer click "add to cart" (client-side validation).
Also note that it can cause some issues when you have several attributes. Once choosing one of attributes, it can hide other attributes which actually have some stock with some other value of the first attribute
please note that we already support display of stock levels for attribute combinations (dynamic)
Also see #2909 (example of UI implementation)
When browsing products in public store, show link 'Edit Product', when user is administrator (or have sufficient rights). Great time-saver for minor changes in products
Add public bool CurrentUserHasEditPermission { get; set; } to \Models\Catalog\ProductDetailsModel.cs
To ProductController, PrepareProductDetailsModel add
//does the current user have edit permission?
model.CurrentUserHasEditPermission = _permissionService.Authorize(StandardPermissionProvider.AccessAdminPanel) &&
_permissionService.Authorize(StandardPermissionProvider.ManageProducts);
To \Views\Product\ProductTemplate.Simple.cshtml and \Views\Product\ProductTemplate.Griouped.cshtml add something like the code below
@if (Model.CurrentUserHasEditPermission)
{
<div class="edit-product">
<a href="@Url.Action("Edit", "Product", new {id = Model.Id, area = "Admin"})">@T("Common.Edit")</a>
</div>
}
We just need to create better UI. Good idea - http://codepen.io/MeredithU/pen/jcsvx (but should we attach "font-awesome" just for one icon?
Please see http://www.nopcommerce.com/boards/t/41611/feature-request-front-end-edit-option-for-admins.aspx (put it to the top -"Administration" link)
P.S. Right now ignore for vendors
For example, disable email for shipping address (http://www.nopcommerce.com/boards/t/33325/disable-email-field-in-shipping-address.aspx). Or email, zip, country, etc. The same is about custom address atributes. Other carts simply don't have "Email" in "Address" entity
Currently nopCommerce do not distinguish billing and shipping address when editing in public store > my account > addresses. We should think how to handle it. Most probably we'll have to separate addresses to billing and shipping (like it was done in versions 1.X). But it's a bit wrong
Maybe, we should simply allow a store owner disable "shipping email" now? Won't it be enough?
Currently we support days, weeks, months, years. Let's support hours. In this case we should also allow a customer to enter exact time
Do not forget to update "comapre with the current date" login to the "GetRentalProductWarnings" method
Notifications about discounted products and automatical way to add "free" products. One more issue is that you have to manually add "free" product to the cart. So we need to find a way to notify a customer about this free product. We should show a message on the product page i.e. "Buy one more and get a free gift" or "Buy product Y for a discount" etc. We only way to implement it is the following. Load ALL products on the shopping cart page. Calculate price for EACH of them considering discounts and all possible discount requirements. If price is 0 and some discount is applied, then add this product to the cart. But it'll simply kill the performance. Of course, we can implement kind of rules (e.g. "if product 1 with qty 2 is in the cart, then add qty 3") but this way we'll lose all advantages of "Discount" entity (e.g. start/end dates. discount requirements, etc). Of course, we can also use tier prices to apply such discounts. It's the easiest way to go if you're talking about the same products.
Forums source: http://www.nopcommerce.com/boards/t/14298/buy-2-get-the-3rd-one-free.aspx
Let's see whether it's available as a plugin (http://www.nopcommerce.com/p/2589/bundled-discounts-buy-together-plugin.aspx). If yes, we can postpone it
It would be good if each vendor can configure own shipping methods (options) and buyers whose orders contains items from several vendors could select vendor-specific shipping options at checkout. It also was done as part of one of the customization projects.
By the way, warehouse support is already added. We can add a new warehouse for each vendor and simply configure rates for each origin (warehouse)
also see #1928
We should allow a store owner to localize main website keyword, meta title and meta description by store and by language on the "general and misc" page > seo settings tab (http://admin-demo.nopcommerce.com/Admin/Setting/GeneralCommon). Like it's already done for some entities when have multiple languages enabled. It's also already supported for some payment methods (description).
The problem is that these settings can be also configured per store. Both of these additions (multi-store and localizations) make implementation a bit complex. And how should displayed it in UI? Configure per store and localization at the same time? Any ideas?
Also note that it requires some performance optimization if used for this work item - "Setting" entity should not be loaded (by ID) when loading a localized value - see "GetLocalizedSetting" method of \Nop.Services\Localization\LocalizationExtensions.cs
There's no really good solution in terms of UI/UX
Currently a store owner can specify default quantity for product attribute values associated to products.
Now let's implement the following. Add an option (per product) indicating whether qty is fixed (entered by a store owner) or could be set by a customer: "User Defined Qty" (true or false)
Allow affiliates to sign-up in public store (configurable) similar to vednor registration (disabled by default). Have a look at open cart affiliate support (http://demo.opencart.com/index.php?route=affiliate/login).
Logged-in affiliates can see order reports (order id, order date, order total)
Also see another suggestion - http://www.nopcommerce.com/boards/t/28309/feature-request-every-customer-should-have-an-affiliate-url.aspx
also see http://www.nopcommerce.com/boards/t/43311/suggestion-affiliate-program-improvment.aspx#171774
also see the comment below
For example, the product details page has a block with pictures (slimbox gallery). With this new feature it would be quite easy to replace this block with any custom implementation. For example, CloudZoom block.
But wouldn't it make source code (cshtml) too complex? Maybe, still use themes to override required cshtml files
Have a look at the HTML helper method below:
/// <summary>
/// "Replacement" widget
/// </summary>
/// <typeparam name="T">Model</typeparam>
/// <param name="helper">Helper</param>
/// <param name="widgetZone">Widget zone name</param>
/// <param name="standardTemplate">Standard template to render if no widget with specified widget is not found</param>
/// <returns>Rendered widget</returns>
public static HelperResult ReplacementWidget<T>(this HtmlHelper<T> helper, string widgetZone,
Func<T, HelperResult> standardTemplate)
{
return new HelperResult(writer =>
{
var widgetService = EngineContext.Current.Resolve<IWidgetService>();
var widgets = widgetService.LoadActiveWidgetsByWidgetZone(widgetZone);
var widget = widgets.FirstOrDefault();
if (widget != null)
{
writer.Write(Widget(helper, widgetZone).ToHtmlString());
}
else
{
standardTemplate(helper.ViewData.Model).WriteTo(writer);
}
});
}
Let's discuss it first
Forum source: http://www.nopcommerce.com/boards/t/18705/suggestion-a-simple-way-to-generate-massive-and-personalized-discount-coupons.aspx and http://www.nopcommerce.com/boards/t/18705/suggestion-a-simple-way-to-generate-massive-and-personalized-discount-coupons.aspx?p=2#171255
is there a way to implement something which will pass google's remove render blocking scripts and css rules? This will make our websites get a lot better pagespeed and will rank higher. When we were discussing abt it on forum we saw some ppl moved from Nopcommerce just bc of that which is sad. Look at here: https://developers.google.com/speed/docs/insights/BlockingJS and https://www.feedthebot.com/pagespeed/defer-loading-javascript.html
Source:http://www.nopcommerce.com/boards/t/31024/remove-render-blocking-javascripts.aspx and http://www.nopcommerce.com/boards/t/31024/remove-render-blocking-javascripts.aspx?p=8#154950 (solution)
Also see the attached archive. It contains implementation of the solution for rendering blocking script. please find attached the files for the actionFilter which avoid the rendering blocking scripts. I used also Microsoft.Ajax.Utilities for minify css and js (AjaxMinSetup.msi). It's the first try, but I think it should give an idea how this issue should fix. Please give me an feedback. Also if you see any improvements let's talk about it. I think in the standard it should be possible to configure whether minize html, move js and inline css is enable.
Metablog support - http://outcoldman.ru/ru/blog/show/229
Pingback, trackback support
etc
Rental products. Allow a store owner to see report with rented products for certain period
let's do it after #36
I would like to see the ability to add custom form field tooltips throughout NC. This is a great way to give a little help to our customers. This site has a great example of how to apply it with minimal code: http://jqueryui.com/tooltip/#forms
Forum source: http://www.nopcommerce.com/boards/t/20067/feature-request-custom-form-field-tooltips.aspx
We already have distinct attribute types supported. Let's add "Image" type
Please note that we already support HTML input type. This way a store owner can manually specify an image URL
Forum source: http://www.nopcommerce.com/boards/t/29080/suggestion-type-property-for-specification-attributes.aspx
We also have to make the design responsive
More info at http://www.nopcommerce.com/boards/t/38847/re-design-and-simplify-admin-area-lets-discuss.aspx
Automatically update order totals when editing an order in admin area (editing, deleting products, etc).
But as we may have quite complex discount rules and tax rules which could be changed since an order was placed, then we should allow a store owner to choose whether order totals should be also updated (make this option configurable)
It is really VERY complex to tackle it since it has to consider the products and their atributes and their inventory, weight, attributes and thier price/weight adjustments; regular, old and tiered prices, special prices and discount and tax rules (all which change from time to time); shipping expenses etc. etc.
In my experience it is very uncommon. If you have inventory control (which is very important for certain kinds of products which have limited availavility, such as clothes, shoes, etc.) then changes are rare. The number of votes and requests for that are indicative that there is not much demand for it.
we should also update shipping info - http://www.nopcommerce.com/boards/t/43139/adding-products-to-existing-order-without-all-product-information.aspx
Don't forget about multi-store properties.
Also see #1920 and #2090 (similar task related to order item editing)
There should be a field for "Back in stock timescale". This would allow the Administrator to enter a value in day/weeks/months that would indicate how long it would take to be back in stock. From an Customer's point of view, if an Item was out of stock the message could say something like "Out of Stock, available in 10-14 days".
This field should be localizable. I think it's better to implement it the same way as "Delivery dates" (new entity). Or just a new localizable field for products? Let's discuss first
Can we make added product limit per vendors ? vendors can add big volume product numbers and it can be problem for web site performance.
Let's move it to the vendor settings page. Set it to 3000 by default
Display a warning to a store owner (vendor) when this number is reached (when trying to add a new product)
It would be great if it was possible to get a repport on how many items were in stock at a given time. It is used by accountents .
It could be fixed so you deffine EG: 4 times a year where the stock is written into a repport. You will then deffine the dates on wich the repports should be written.
That will call for an extra feature. which will be to define if a product is a physical one or just a download or a service. :-)
Forum source: http://www.nopcommerce.com/boards/t/17699/stock-repport.aspx
NC has a great start for Vendor support, but I was wondering if we could enhance it even more. Volusion has a great implementation for Vendors. It allows the admin to setup vendors with lots of information about the Vendor to be used when drop shipping and creating POs that are automatically sent to the Vendor when an order is made. You can see details (along with some screenshots) of what it all entails here http://support.volusion.com/article/vendors. The Purchase Order features would be a huge addition to NC for those of us that use Vendors with Drop Shipping. Thanks for your consideration.
Forum source: http://www.nopcommerce.com/boards/t/27963/enhancement-add-more-features-for-vendor-support.aspx and http://www.nopcommerce.com/boards/t/29853/additional-vendor-features.aspx
SilhouetteBS is going to implement it as a plugin (said on 2016/02/02). So let's leave it for customization
Most of my competitors offer FREE UPS Ground for select products and has put my store at a disadvantage. I am willing to pay for this feature, and I'm sure others are willing to contribute. However, I believe the nopCommerce core framework will need to be updated in order to implement this feature. What would be ideal is on the product page to have shipping prices for each option be set to either a fixed price (including FREE/Zero) or the option will work as normal (getting the rate from the shipping carrier's API). Right now, this is the #1 priority for my store and I have seen many others need this level of configuration for their stores. It would solve many requests in these forums such as "FREE Ground and $5 2nd Day Air for specific products" or "FREE Ground shipping for select products", "setting FREE Shipping on a product currently makes all options free", etc. Shipping Director is a third party plug-in and cannot do this, plus it is complicated to configure, or I would have purchased it. A simple solution would be to have a scrollable Product Shipping area on the Product Details or Variant Details screen.
Forum source: http://www.nopcommerce.com/boards/t/16465/feature-request-product-level-shipping-configuration.aspx
This work item can be implemented as a new plugin (shipping rate computation method). Hence it won't be available out of the box.
Currently it is possible only to adjust product price using fixed amounts (eg. if color = blue -> price is +5). It would be very benficial if it would be possible to do such adjustment using percentage basis. Eg. if size id XL then price is 10% more; if size is XS than price is 25% less etc.
Forum source: http://www.nopcommerce.com/boards/t/19239/percentage-adjustment-for-product-variant-attributes.aspx
We should add percent to the base product price only (in case if there several product attributes with price adjustments)
"Notify me when available" option only works if you are locked in as a user. it should be possible to be notified even if you are not a user of the site
Forum source: http://www.nopcommerce.com/boards/t/18477/notify-me-when-available.aspx
Make it configurable on "reward points" settings page
Maybe, just add appropriate events and use them in plugins (IMiscPlugins)
before starting let's discuss a list of events to use (add reward points)
Mobile Device and Tablet Support for the Administration.
See related work item #34
Just like the mini shopping cart, many websites have a mini login button also. I myself leave many website once I get redirected to a login page and then return to the home page and not the previous page before the login.
As we hover on the Shopping cart link, in the same way the register link should also have a small flyout for login and should remain on the same page after authentication.
Think how it would be better ti display external authentication methods such as Facebook, twitter, etc. Maybe, just add a "Login using other providers, etc" hyperlink to the login page if we have at least one external authentication methods
also see http://www.nopcommerce.com/boards/t/32276/feature-request-message-template-expressions.aspx and http://www.nopcommerce.com/boards/t/38322/email-templates-for-downloadable-products.aspx
also see #1801
UPDATE: postponed after #75
It causes some issues. So let's make it configurable (allow a store owner to disable it).Also note that we're going to move away from KendoUI. So should we do it?
Please see http://docs.telerik.com/kendo-ui/getting-started/framework/globalization/overview and http://docs.telerik.com/kendo-ui/getting-started/using-kendo-with/aspnet-mvc/globalization
also see http://www.nopcommerce.com/boards/t/19235/latest-telerik-version-incorrectly-shows-decimals-in-different-locales.aspx and http://www.nopcommerce.com/boards/t/2653/how-to-change-date-format-for-admin-interface.aspx and http://www.nopcommerce.com/boards/t/24688/languagedecimal-formatting-bug.aspx
How it can be done:
CommonHelper.SetTelerikCulture();
public static bool ForceEnUsCulture()
{
var forceEnUsCulture = !String.IsNullOrEmpty(ConfigurationManager.AppSettings["ForceEnUsCulture"]) &&
Convert.ToBoolean(ConfigurationManager.AppSettings["ForceEnUsCulture"]);
return forceEnUsCulture;
}
and replace "SetTelerikCulture" with
/// <summary>
/// Set Telerik (Kendo UI) culture
/// </summary>
public static void SetTelerikCulture()
{
if (ForceEnUsCulture())
{
//little hack here
//always set culture to 'en-US' (Kendo UI has a bug related to editing decimal values in other cultures). Like currently it's done for admin area in Global.asax.cs
var culture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
}
}
}
Add:
var kendoVersion = "2014.1.318";
var forceEnUsCulture = CommonHelper.ForceEnUsCulture();
var currentKendoCulture = EngineContext.Current.Resolve<IWorkContext>().WorkingLanguage.LanguageCulture;
then add (before registration of kendo.web.min.js:
//javascript resources
if (!forceEnUsCulture)
{
Html.AppendScriptParts(string.Format("~/Scripts/kendo/{0}/cultures/kendo.culture.{1}.min.js", kendoVersion, currentKendoCulture));
}
then add (in HTML)
@if (!forceEnUsCulture)
{
<script type="text/javascript">
//set kendo UI culture
kendo.culture("@(currentKendoCulture)");
</script>
}
But it still does not work properly when other cultures are used (e.g. ru-RU):
[AM] Also see comments below
At the moment prices in currencies that are different to the base currency are displayed as a direct conversion of the base price using the downloaded exchange rates.
UI/UX:
Logic
Limitations, issues
Considering these issues and huge number of changes we should find some other way to go. Here are some ideas and useful links for investigation:
It would be nice to be able to associate a video with a product like today we have images for products. Allow adding links to youtube, vimeo,... instead of uploading whole video.
Create a plugin architecture for video, each plugin would be able to convert a link to an embed html code for an appropriate site. Hence, we would have one plugin for Vimeo, another for Youtube and people would be able to create other plugins for other sites. The plugins should create the embed code based on width of page which would be an input parameter of the method
There's no need upload video. Just enter YouTube URL
Example of good implementation with YouTube integration - https://www.detmir.ru/product/index/id/3193108/
Sometimes products are sold by dimensions (lenght, surface, volume, weight, etc.) for that and other cases it will be convenient to:
Example (a more general than your case) of playwood sold by surface defined by (1)length and (2)height. The price (OP) per sq.mt. would be 25 and the weight (OW) 2 per sq.mt. In this case FP1 and FP2 would be both equal to 1.
Then applying the formula if customer buys an item of lenght 3 and height 5:
TP=OP * V1 * FP1 * V2 * FP2 ...
TP=25 * 3 * 1 * 5 + 1 = 375
If there are other product variant attributes there price/weight adjustments would have to be added at the end to TP/TW.
Include price/weight adjustments by factor for attributes with Drop-down, Radio and Check-boxes control.
This would be for the same reasons as described above, since some products are sold with some fiexed dimensions (example: height: 1.0 mt, 1.5 mts, 2.0 mts., 3.0 mts, etc.); thus in these cases (for discreete dimensions) some of those attribute controls must be used.
This could be use in other situations. For example when the price adjustment is related to variant price. Examle pizza ingredients related to size/price; insurance/guranty extensions for appliances, etc. In these cases price adjustments are easier to configure.
Let the storeowner configure the text used for the price adjustment.
Now the options for the different attribute values with Drop-down, Radio and Check-boxes controls are shown as: "Value (+ PriceAdjustment)". It would be nice to have an additional option to define the price adjustment text . Examples
"Value (+$50.00)"
"Value ($150.00)"
"Value (+10%)"
"Value , $2.50 per sq.mt"
Forum source: http://www.nopcommerce.com/boards/t/16762/suggestion-enhance-product-attributes-for-selling-by-dimensions.aspx
Currently it doesn't update cart total when customer select checkout attribute. If we display cart total dynamically then customer get total amount on the cart page without needing to go to the next step. This is how most serious e-commerce site owners wants to display.
The only good (and the easiest) way to do it to store new values (after each client-side change) using AJAX. And then immediately update "totals" block
if we decide to re-load the totals block, then ensure that forms and other java-script functions will still work (e.g. delete discount or gift cart code buttons)
ensure that it'll work fine with pre-selected attribute values, etc
Next to customer forgetting their house number in the address, we have a lot of users not entering their email address right. This leads to email delivery failures. Is it possible to add an email confirmation option? (Not by email, but by entering the email twice?)
Make it configurable (disabled by default). Put "Force entering email twice" setting into "customer settings". Hint: Force entering email twice during registration
Source: http://www.nopcommerce.com/boards/t/32286/force-entering-email-address-twice.aspx
We have product boxes on catalog pages (category, manufacturer, etc). In some cases, we have product attributes with price adjustments. In some cases, we have attribute combinations with price adjustments.
So actually we should display the minimum possible price of a product. So if a product could have different prices (based on selected attributes), then we should display "From ..." price instead of the fixed base price (such as it's done now at https://demo.nopcommerce.com/desktops - just an example).
Also, let's make it configurable whether to display the base price or display the minimum possible price. Otherwise, it can affect the performance in some cases. Add this new setting to admin area > configuration > catalog pages > "Catalog pages" block > "Display "From" prices" setting (disabled by default)
Allow a store owner to configure (and a customer to choose) a pickup location (contribution)
A store owner should be able to configure a lot of pickup locations. Once done we can think about ability to limit them per city or country (e.g. there's no need to displayed pickup location in France if a customer if located in the USA)
Source: http://www.nopcommerce.com/boards/t/33202/shipping-via-collection-point-pickup-location.aspx
Contribution - https://nopcommerce.codeplex.com/SourceControl/network/forks/tommy7m/PickUpPoints
let's discuss how it's better to implement (UI)
Maybe, simply display in the grid (new column) in which stores they are available. Because for hierarchical entities (such as categories) is could cause some minor issues
Forum source: http://www.nopcommerce.com/boards/t/23451/feature-request-show-multi-stores-on-manage-categories-page.aspx
We should think how to better move this logic outside of these service methods (we'll have to manually pass "storeId" to each of these updated methods)
A store owner already can create several shipments per order. The next task is to allow customers to specify several shipping addresses during checkout. For example, product1 (qty 2) goes to address1 and product2 and product3 (qty 1 and qty3) goes to address2
Important notes:
Add support for payments by installments and multiple payments. In this case we should add a new entity - "Invoice" (not the same as "Order"). Like it's already done in magento. Make separate invoices for refunds, void, etc
Add support for payments by installments and multiple payments.
Take into account the following:
In this case we should add a new entity - "Invoice" (not the same as "Order")
also see https://www.nopcommerce.com/en/boards/topic/34207/suggestion-expand-the-paymentstatus-enum
Currently as soon as an order it completed - a "Return Item" button is visible again every order.
When any customer requests for any kind of return - It gives numbers RMA#1 or RMA#2 like this: http://img337.imageshack.us/img337/777/returnrma.jpg
Majority of store owners who have a return policy for their products provides the customer and RMA# that needs to be mentioned on the return package.
I think current pattern of return in nopCommerce project is good but still make 1 step manual which is providing RMA# to the customer.
It would be great if unique RMA# is generated for each return request like this: http://img130.imageshack.us/img130/2205/returnrmanew.jpg - Hence store owner just have to reply or update the status of the return request and customer will already have his/her unique RMA#.
Few Important Points:
The RMA# needs to be unique for each return request.
This feature should be configurable in admin section
It would be great if - In the admin section the store owner is able to configure the RMA# settings like:
RMA# Gereneration: Dropdown menu (Values: Alphabet or Numbers or Both)
Define Length of RMA# : TEXTBOX (Store owner can define the length of RMA# that will be automatically generated)
Source: http://www.nopcommerce.com/boards/t/8386/return-item-request-should-generate-rma.aspx#34280
Would be a great feature to be able to restrict Payment Method to one or many Customer Roles.
Eg. Only your "trusted" customers can order with Purchase Order, others have to pay with Credit Card.
Forum source: http://www.nopcommerce.com/boards/t/28362/suggestion-payment-method-restrictions-on-customer-roles.aspx
Please note that in version 3.50 you can easily put this logic into new "HidePaymentMethod" method in payment plugins
Currently can be done in ShippingDirector and PaymentDirector third-party plugins
Magnifying capability when hovering over a product picture. Right now we have a setting to show a popup window. Let's extend the existing setting to support three behaviours - "do nothing", "display popup", "zoom/magnify" (the new one)
Zoom and magnifying (below):
Here is a contribution - http://nopcommerce.codeplex.com/SourceControl/network/forks/breakskater/zoomlens
Here is one more contribution http://www.nopcommerce.com/boards/t/9904/zoom-professor-cloud-integration-working-fine.aspx
http://www.nopcommerce.com/boards/t/19134/a-zoom-of-a-project.aspx
See related work item #2186
Details: http://www.nopcommerce.com/boards/t/14024/issue-with-dates-in-teleriks-grid-admin.aspx
nopCommerce store owners can have custom timezones. There two solution:
1 Using 'string' instead of 'DateTime' in admin area models (not a way to go!)
2. Convert dates in JsonResults on server (configurable - disabled by default). Let's make it configurable (can be disabled).
Useful link - http://stackoverflow.com/questions/726334/asp-net-mvc-jsonresult-date-format
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.