Question

I am writing my own Payment method for NopCommerce (for Datacash to be precise, if somebody can point me towards a Datacash implementation of IPaymentMethod for NopCommerce that would also answer my question).

The documentation provided by NopCommerce for doing this is great, and that is what I am using as my reference, but I am very new to MVC, and the first step is to create a new controller.

I understand that, in regards to MVC, you have models, views and controllers. The model is to do with how the data for your website is modelled, the view is what you see (your HTML etc) and the controller is the programming logic behind what you see.

In any MVC Hello World Application I have done so far, you usually have a folder for your models, one for your views and one for your controllers, as shown below:

MVC

However, NopCommerce looks like this:

NopCommerce

So my question is in which folder do I put the controller I am about to create (or does it even matter)?

Thanks

Was it helpful?

Solution

You don't have to but it is best/wise to. The convention like you said is to have a View, Model and Controller. So create a Controller folder, and you can either put your Controller class directly in the folder or do the better thing and create a NOPCommerceController folder so it looks like:

Controller/NOPCommerceController/SomeController.cs 

Nice and clean.

OTHER TIPS

One observation: it looks like you didn't download the source version of nopCommerce, which does indeed have "Controllers" folders: nopCommerce Nop.Web Controller folder nopCommerce PayPalDirect Plugin "Controllers" folder

On the nopCommerce downloads page (http://www.nopcommerce.com/downloads.aspx), look for the version "with source code", if you're looking to do customization of any sort.

You should create your controllers and models inside your plugin project:

enter image description here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top