9
votes

Comment ajouter de nouvelles tables à NopCommerce v2.4

Je suis nouveau à NopCommerce v2.4 et je me demandais où est-ce que j'écris mon code (en créant un nouveau modèle dans la section Admin ou Nop.Web)


0 commentaires

5 Réponses :


2
votes

Cette question a été répondu dans le forum NOPCOMMERCE ici

http://www.nopcommerce.com/docs/ 75 / plugin-with-data-access.aspx


2 commentaires

J'ai encore besoin d'une autre aide. J'ai ajouté ce projet dans mes plugins, je ne suis pas capable de voir ce plugin dans admin -> Configuration -> Plugins J'ai ajouté suivi de la ligne suivante dans \ Présentation \ NOP.Web \ Vues \ catalogue \ productTemplate.singleva riant.cshtml @ html.action («Index», «Suivi», Nouveau {ProductID = Model.ID}) Je reçois cette exception: l'exécution de la demande d'enfant a échoué. Veuillez examiner l'Innexception pour plus d'informations. InnerException: {"Le contrôleur pour le chemin" / p / 5/1-oz-krugerrand 'n'a pas été trouvé ni ne met pas en œuvre icontroller. "} Je viens d'ajouter peu de produits par l'administrateur.


Je n'ai pas travaillé sur des plugins, mais souvenez-vous d'ajouter des plugins existants. J'aimerais que vous vérifiez si vous avez le chemin de sortie de sortie défini sur NOP.WEB \ plugins \ et consultez également le dossier installéplugins.txt dans App_Data Dossier



20
votes

J'ai passé beaucoup de temps à faire de la profondeur de ce problème. Je peux résumer la solution comme suit:

  1. Créer la classe d'entité (E.g entity.cs)

    chemin: nop / noyau / domaine / entité.cs

  2. Créer la classe de mappage (E.g entitymap.cs)

    chemin: nop / données / mappage / entitémap.cs

  3. Créer un modèle pour MVC (E.G EntityModel.cs)

    chemin: NOP / admin / Modèles / EntityModel.cs ou NOP / Web / Modèles / EntityModel.cs

  4. Créer un validateur pour modèle (E.G entityvalidator.cs)

    chemin: nop / admin / validateurs / entityvalidator.cs ou nop / web / validateurs / entityvalidator.cs

  5. Créer une configuration de mappage sur AutomapperstarStask.cs pour l'entité et le modèle

    chemin: NOP / admin / infrastructure ou NOP / Web / Infrastructure

  6. Appliquez le mappage entre le modèle et l'entité sur mappedexsions.cs

    chemin: NOP / admin ou NOP / Web

  7. Créer une classe de service et une interface de service (E.g entityservice.cs, ientityservice.cs)

    chemin: nop / services / entitéservice.cs et nop / services / ientityservice.cs

  8. Enregistrer le service d'injection de dépendance

    chemin: nop / web / framework / dépendencyregistrar.cs

  9. Créez enfin un contrôleur et affiché pour le modèle donné

    Comme NOP Commerce utilise la toute première version de MVC3, la migration de la base de données n'est pas prise en charge et vous devez modifier les tables de base de données à la main. Parce que le code MVC doit d'abord déposer et recréer votre base de données pour refléter les modifications apportées à votre base de données.

    Si vous voulez aller plus en détail dans n'importe quelle étape, laissez-moi savoir - je peux décrire chaque étape en détail. J'espère que cela aide.


2 commentaires

Pourriez-vous s'il vous plaît expliquer en détail ou un exemple? Je crée une table dans la base de données, mais je ne veux pas créer de nouveau plugin, je veux juste ajouter les classes dans nop.core nop.data nop.services et ... mais je ne sais pas sur le processus. Je veux juste créer le service et appeler le service pour charger mes listes déroulantes dans NOP.WEB ou NOP.PLUGIN.


Devrais-je créer un nouveau plugin pour une nouvelle entité dans ma base de données et la référencer dans d'autres projets tels que les autres plugins ou nop.web ou admin Projets au lieu d'ajouter mes classes dans NOP.core NOP.DATA NOP.Services?



1
votes

@Behnam ESMAILI

a répondu à la réponse parfaite, mais vous devez faire face à un problème de création du contrôleur, car vous ne pourrez pas créer d'instance à partir de l'Ientityservice, car NOPCOMMERCE à l'aide d'une injection de dépendance et qui est contrôlé par autofac conteneur.

Alors vous êtes shold Vérifiez ce message sur le forum NOPCOMMERCE , qui sera utile pour vous aider à compléter le travail.

Il y a une autre note, Si vous souhaitez éviter que la base de données change à la main, vous devez effectuer les étapes de 1 à 8 sur une nouvelle version de NOPCOMMERCE et installez-la, la base de données sera créée avec les modifications que vous avez apportées aux modèles.


0 commentaires

3
votes

BeHNAM ESMAILI STRUT> SOLUTION est correct mais ils ont oublié d'ajouter une étape pour enregistrer un service de contrôleur nouvellement créé dans présentation ==> nop.web.framework ==> nop.web.framework ==> nop.web.frawork ==> nop.web.framework ==> nop.web.frawork ==> nop.web.framework ==> dépendencywebistrar.cs comme celui-ci

builder.RegisterType<EntityService>().As<IEntityService>().InstancePerHttpRequest();         


0 commentaires

0
votes

Une étape est restante BeHNAM ESMAILI'S réponse

Créer une table dans la base de données NOPCOMMERCE.

Remarque: Créer manuellement la table dans la base de données est nécessaire.

Enfin créer un contrôleur et sa vue.

Si vous voulez aller plus en détail, cliquez sur ici !


0 commentaires