بسته

نمایه: احمدی

Avatar
آمار
  • 28
  • 1396 مهر 26, چهارشنبه 11:40

من می خوام که کاربر که اومد ثبت نام کرد اول حسابش غیرفعال باشه
بعد از فعال سازی از طریق لینک ارسال شده به ایمیل فعال بشه و بتونه وارد سیستم شود
این کار رو چطور باید انجام بدم؟

6 سال پیش

چطوری می شه در قسمت ثبت نام ، کاربر بتونه ایمیل وارد نکنه
یعنی الزام وارد کردن ایمیل برداریم؟؟؟

6 سال پیش

سلام به همه دوستان
مشتری بعد از ثبت نام که، به طور پیش فرض نقش کاربری برایش از قبل تعریف شده است با دسترسی خیلی محدود.
حالا این مشتری چطوری تو پنل کاربری خودش می تونه سفارشاتی که انجام داده رو ببینه؟؟

6 سال پیش

ممنونم لطف کردین

6 سال پیش

سلام به همه دوستان
اگر در پلاگین جدیدی که نوشته می شه نیاز به اتصال با دیتابیس باشه بهترین راه برای این به چه شکل هست ؟  

6 سال پیش

البته خدمت دوستان عرض شود که لینک های زیر رو هم مطالعه کردم و طبق همینا جلو رفتم

آموزش مقدماتی طراحی پلاگین ناپ کامرس (بر اساس ASP.NET MVC) – بخش 2

6 سال پیش


8-افزودن کلاس پلاگین در ریشه class library به صورت زیر:


   public class SaleProductReportPlugin:BasePlugin ,IWidgetPlugin
    {
        private  SaleProductReportContext _context;

        public SaleProductReportPlugin(SaleProductReportContext context )
        {
            _context = context;
        }

        public void GetConfigurationRoute(out string actionName, out string controllerName, out RouteValueDictionary routeValues)
  

6 سال پیش

نیاز مشتری: می خواهد بداند که کالای x ثبت شده توسط  کاربر Y چقدر فروش داشته
برای این کار بنده یک پلاگین اضافه کردم کارهایی که انجام دادم به ترتیب:
1- روی پوشه plugin راست کلیک و افزودن class library برای ایجاد پلاگین جدید
2-کپی کردن فایلهای web.config , Description از پلاگین های دیگر
3- اعمال تغییرات در فایل description
4- راست کلیک روی refrence  و اضافه کردن dll های :   system.web
system.web.mvc
nop.web.framework
nop.data
nop.core
nop.services

5-نیازی به افزودن جدول جدید ندارم و گزارش از جداول order , orderItem , product   نیاز این گزارش را رفع می کند.

6-افزودن کلاس context در پوشه data  به صورت زیر:


   public class SaleProductReportContext:DbContext,IDbContext
    {
        public SaleProductReportContext(string nameOrConnectionString) : base(nameOrConnectionString) { }

        public string CreateDataBaseInstallationScript()
        {
            return ((IObjectContextAdapter)this).ObjectContext.CreateDatabaseScript();
        }
        public void Install()
        {
            Database.SetInitializer<SaleProductReportContext>(null);
            Database.ExecuteSqlCommand(CreateDataBaseInstallationScript());
            SaveChanges();
        }

        public void Uninstall()
        {
            //حذف جداول ساخته شده که اینجا نداشتیم
        }

        public bool AutoDetectChangesEnabled
        {
            get
            {
                throw new NotImplementedException();
            }

            set
            {
                throw new NotImplementedException();
            }
        }

        public bool ProxyCreationEnabled
        {
            get
            {
                throw new NotImplementedException();
            }

            set
            {
                throw new NotImplementedException();
            }
        }

        public void Detach(object entity)
        {
            throw new NotImplementedException();
        }

        public int ExecuteSqlCommand(string sql, bool doNotEnsureTransaction = false, int? timeout = default(int?), params object[] parameters)
        {
            throw new NotImplementedException();
        }

        public IList<TEntity> ExecuteStoredProcedureList<TEntity>(string commandText, params object[] parameters) where TEntity : BaseEntity, new()
        {
            throw new NotImplementedException();
        }

        public IEnumerable<TElement> SqlQuery<TElement>(string sql, params object[] parameters)
        {
            throw new NotImplementedException();
        }

        IDbSet<TEntity> IDbContext.Set<TEntity>()
        {
            return base.Set<TEntity>();
        }
    }

7 - افزودن کلاس   dependencyRegistrar  در پوشه Data به صورت زیر:


   public class SaleProductReportDependencyRegistrar : IDependencyRegistrar
    {
        private const string CONTEXT_NAME = "nop_object_context_sale_product";
        public int Order
        {
            get
            {
                return 1;
            }
        }

        public void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
        {
            this.RegisterPluginDataContext<SaleProductReportContext>(builder, CONTEXT_NAME);
            builder.RegisterType<EfRepository<OrderItem>>()
                .As<IRepository<OrderItem>>()
                .WithParameter(ResolvedParameter.ForNamed<IDbContext>(CONTEXT_NAME))
                .InstancePerLifetimeScope();
        }
    }

6 سال پیش
دسته بندی ها