Sono nuovo di NopCommerce v2.4 e chiedendo dove faccio a scrivere il mio codice (con la creazione di nuovo modello nella sezione di amministrazione o nop.web)Come aggiungere nuove tabelle per nopCommerce v2.4
risposta
Questa domanda stato risposto in nopCommerce forum here
http://www.nopcommerce.com/docs/75/plugin-with-data-access.aspx
ho trascorso un sacco di tempo per approfondire questo problema' profondità. Posso riassumere la soluzione come segue:
Crea Entity Class (ad es Entity.cs)
Percorso: Nop/core/Dominio/Entity.cs
creare la mappatura Classe (ad esempio EntityMap.cs)
Percorso: Nop/dati/Mapping/EntityMap.cs
creare un modello per la MVC (ad es EntityModel.cs)
Percorso: NOP/Admin/modelli/O EntityModel.cs NOP/Web/modelli/EntityModel.cs
Creare un validatore per il modello (ad es EntityValidator.cs)
Percorso: Nop/Amministratore/validatori/O EntityValidator.cs NOP/Web/validatori/EntityValidator.cs
creare una configurazione di Mapping On automapper StartupTask.cs per entità e modello
Percorso: Nop/Amministratore/infrastrutture o NOP/Web/Infrastruttura
applicare il mapping tra il modello e Entity su MappingExtensions.cs
Percorso: Nop/admin o Nop/Web
Creare una classe di servizio e il servizio di interfaccia (ad esempio EntityService.cs, IEntityService.cs)
Percorso: Nop/Servizi/EntityService.cs E Nop/Servizi/IEntityService.cs
servizio Registrati per l'iniezione di dipendenza
Percorso: NOP/Web/quadro/DependencyRegistrar.cs
Infine Creazione controller e View per dato modello
come nopcommerce utilizza la prima versione di MVC3, la migrazione del database non è supportata ed è necessario apportare modifiche alle tabelle del database a mano. Perché il codice MVC deve innanzitutto eliminare e ricreare il database per riflettere le modifiche al database.
Se si desidera ottenere maggiori dettagli in qualsiasi passaggio, fatemi sapere - posso descrivere ogni passaggio in dettaglio. Spero che questo aiuti.
Potresti spiegarci in dettaglio o qualsiasi esempio? Creo una tabella nel database ma non voglio creare un nuovo plugin, voglio solo aggiungere le classi in Nop.Core Nop.Data Nop.Services e ... ma non so del processo. Voglio solo creare il servizio e chiamare il servizio per caricare i miei elenchi a discesa in Nop.Web o Nop.plugin. – arlen
Devo creare un nuovo plugin per la nuova entità nel mio database e fare riferimento ad altri progetti come altri plugin o progetti Nop.Web o Admin invece di aggiungere le mie classi in Nop.Core Nop.Data Nop.Services? – arlen
@Behnam Esmaili
Ha risposto la risposta perfetta, ma si dovrebbe affrontare un problema con la creazione del controller perché wan't essere in grado di creare un'istanza della IEntityService perché nopCommerce usando Dependency Injection e questo viene controllata dal contenitore AutoFac.
Così si shold Check this post on nopCommerce forum, che sarà utile per aiutare a completare il lavoro.
C'è un'altra nota, Se si desidera evitare le modifiche del database a mano, è necessario eseguire i passaggi da 1 a 8 su una nuova versione di nopCommerce e installarlo verrà creato il database con le modifiche apportate ai modelli.
Behnam Esmaili Solution è corretto, ma si sono dimenticati di aggiungere un passo per registrare il servizio di controllo appena creato nella presentazione ==> Nop.Web.Framework ==> DependencyRegistrar.cs come questo
builder.RegisterType<EntityService>().As<IEntityService>().InstancePerHttpRequest();
One Passaggio rimanente di Behnam Esmaili risposta
Creazione tabella nel database NopCommerce.
Nota: È necessario creare manualmente una tabella nel database.
Infine, crea il controller e la relativa vista.
Se si desidera ottenere maggiori dettagli, fare clic su here!
grazie ma ho bisogno di ulteriore aiuto – user1299582
Ho ancora bisogno di ulteriore aiuto. ho aggiunto che il progetto nel mio plugin io non sono in grado di vedere questo plugin in Amministrazione -> Configurazione -> plugins ho aggiunto seguente riga in \ Presentazione \ Nop.Web \ Visualizzazioni \ Catalog \ ProductTemplate.SingleVariant.cshtml @ Html.Action ("Indice", "Tracciamento", nuovo {productId = Model.Id}) Ricevo questa eccezione: L'esecuzione della richiesta figlio non è riuscita. Si prega di esaminare InnerException per ulteriori informazioni. InnerException: {"Il controller per il percorso '/ p/5/1-oz-krugerrand' non è stato trovato o non implementa IController."} Ho appena aggiunto alcuni prodotti tramite l'amministratore. – user1299582
Non ho lavorato sui plugin, ma ricordo che ho aggiunto alcuni plugin esistenti. Vorrei verificare se il percorso di generazione build è impostato su Nop.Web \ Plugins \ e controllare anche InstalledPlugins.txt nella cartella App_data – Kiru