2012-03-29 48 views

Respuesta

2

Esta pregunta se respondió en el foro nopCommerce here

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

+0

gracias pero necesito más ayuda – user1299582

+0

Aún necesito un poco más de ayuda. añadí que en mi proyecto plugins no soy capaz de ver este plugin en admin -> Configuración -> plugins añadí siguiente línea en \ Presentación \ \ Nop.Web Vistas \ Catálogo \ ProductTemplate.SingleVariant.cshtml @ Html.Action ("Índice", "Seguimiento", nuevo {productId = Model.Id}) Recibo esta excepción: Falló la ejecución de la solicitud hija. Examine la InnerException para obtener más información. InnerException: {"El controlador para la ruta '/ p/5/1-oz-krugerrand' no se encontró o no implementa IController."} Acabo de agregar algunos productos a través de admin. – user1299582

+0

No he trabajado en complementos, pero recuerde agregar algunos complementos existentes. Me gustaría que verifique si tiene la ruta de salida de compilación establecida en Nop.Web \ Plugins \ y también comprueba InstalledPlugins.txt en la carpeta App_data – Kiru

19

pasé un montón de tiempo para profundizar en este problema' profundidades. Puedo resumir la solución como sigue:

  1. crear la Entidad clase (por ejemplo Entity.cs)

    Path: Nop/Core/dominio/Entity.cs

  2. crear la correlación clase (por ejemplo EntityMap.cs)

    Path: Nop/datos/Cartografía/EntityMap.cs

  3. Crear un modelo para MVC (por ejemplo EntityModel.cs)

    Path: NOP/admin/modelos/O EntityModel.cs NOP/Web/Modelos/EntityModel.cs

  4. Crear un validador para el modelo (por ejemplo EntityValidator.cs)

    Path: Nop/admin/validadores/O EntityValidator.cs NOP/web/Validators/EntityValidator.cs

  5. crear una configuración de mapas sobre AutoMapper StartupTask.cs para la Entidad y modelo

    Path: Nop/Admin/infraestructura o NOP/Web/Infraestructura

  6. Aplicar mapeo entre el modelo y las entidades en materia MappingExtensions.cs

    Path: NOP/admin o NOP/web

  7. crear una clase de servicio y servicio de interfaz (por ejemplo EntityService.cs, IEntityService.cs)

    Path: Nop/Servicios/Servicios EntityService.cs Y Nop/IEntityService.cs

  8. de servicio/Registro de inyección de dependencias

    Ruta: NOP/web/framework/DependencyRegistrar.cs

  9. Finalmente Crear Controller y View para determinado modelo

como nopcommerce utiliza la primera versión de MVC3, la migración de la base de datos no es compatible y debe realizar cambios en las tablas de la base de datos a mano. Debido a que MVC code-first debe caer y volver a crear su base de datos para reflejar los cambios en su base de datos.

Si desea obtener más detalles en cualquier paso, hágamelo saber: puedo describir cada paso en detalle. Espero que esto ayude.

+0

¿Podría explicar detalladamente o algún ejemplo? Creo una tabla en la base de datos, pero no quiero crear un nuevo complemento, solo quiero agregar las clases en Nop.Core Nop.Data Nop.Services y ... pero no sé sobre el proceso. Solo quiero crear el servicio y llamar al servicio para cargar mis listas desplegables en Nop.Web o Nop.plugin. – arlen

+0

¿Debo crear un nuevo complemento para la nueva entidad en mi base de datos y hacer referencia a él en otros proyectos como otros complementos o proyectos Nop.Web o Admin en lugar de agregar mis clases en Nop.Core Nop.Data Nop.Services? – arlen

1

@Behnam Esmaili

contestada la respuesta perfecta, pero se debe hacer frente a un problema con la creación del controlador, ya que wa no ser capaz de crear una instancia de la IEntityService porque nopCommerce mediante la inyección de dependencias y esto está siendo controlado por AutoFac contenedor.

Así que usted dice Check this post on nopCommerce forum, eso será útil para ayudarlo a completar el trabajo.

Hay otra nota, Si desea evitar hacer los cambios en la base de datos a mano, debe hacer los pasos del 1 al 8 en una nueva versión de nopCommerce e instalarla la base de datos se creará con los cambios que haya realizado a los modelos.

3

Behnam Esmaili solución es correcta, pero se olvidó de agregar un paso al registro de servicio del controlador recién creado en Presentación ==> Nop.Web.Framework ==> DependencyRegistrar.cs como este

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

Uno El paso restante es Behnam Esmaili respuesta

Crear tabla en la base de datos NopCommerce.

Nota: Crear manualmente la tabla en la base de datos es necesario.

Finalmente crea el controlador y su Vista.

Si desea obtener más información, haga clic en here.

Cuestiones relacionadas