جستجو
محصولات
    منو بسته

    نمایه: حمید

    Avatar
    آمار
    • 15
    • 1395 مهر 13, سه‌شنبه 15:19
    6 سال پیش

    در مورد مشکل شما حدس میزنم شما تیک Anonymous checkout allowed  (اجازه پرداخت به کاربران ناشناس) را در بخش ادمین - تنظیمات - تنظیمات سفارش نزده اید.
    دیگر آنکه عرض کنم تمتون خیلی زیباست و فکر میکنم بهترین تم ناپ هست که تابحال دیدم.
    یک سوال؟ تم را سفارشی هم کرده اید یا اینکه خود آرت فکتوری اورجینال هست.

    موفق باشید.

    6 سال پیش

    شما یک خطای جاوا اسکریپتی دارید.در صفحه مربوطه کلید F12 رو بزنید و در پایین صفحه فضایی باز شده و خطا را بصورت زیر مشاهده خواهید کرد:
    SyntaxError: missing ] after element list
    [Learn More]
    checkoutasguest:1199:8
    note: [ opened at line 1199, column 0
    checkoutasguest:1199
    این مشکل به دلیل سفارشی سازی که کرده اید و یا سفارشی سازی خود تم ممکن است اتفاق افتاده باشد.سورس پروژه یا تم خود را بررسی کنید دهید.

    6 سال پیش

    از چه تمی استفاده می کنید؟

    7 سال پیش

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


        public class MySettings : ISettings
        {
            public bool IsActivated { get; set; }
            public string Value{ get; set; }
        }



            public override void Install()
            {
                var settings = new MySettings
                {
                    IsActivated = true,
                    Value = "Test"
                };

                _settingService.SaveSetting(settings);
            }

    و برای برگرداندن مقدار آن از دیتابیس:

    var value = customer.GetAttribute<string>("Value");


    موفق باشید.

    7 سال پیش

    سلام.
    برای اتصال به دیتابیس شما باید یک کلاس ایجاد کرده که از DbContext ارث بری کند و همچنین اینترفیس IDbContext  را نیز پیاده سازی کند. بطور مثال


        public class MyDataContext : DbContext, IDbContext
        {
            public MyDataContext(string nameOrConnectionString) : base(nameOrConnectionString)
            {
            }
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                Database.SetInitializer<MyDataContext>(null);
                base.OnModelCreating(modelBuilder);
            }
            public string CreateDatabaseInstallationScript()
            {
                return ((IObjectContextAdapter)this).ObjectContext.CreateDatabaseScript();
            }

            public void Install()
            {
                var dbScript = CreateDatabaseInstallationScript();
                Database.ExecuteSqlCommand(dbScript);
                SaveChanges();
            }

            public void UnInstall()
            {
                //drop the table
                //this.DropPluginTable(this.GetTableName<CustomCategory>());
                //this.DropPluginTable(this.GetTableName<CustomSet>());
            }

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

            public bool AutoDetectChangesEnabled
            {
                get => this.Configuration.AutoDetectChangesEnabled;
                set => this.Configuration.AutoDetectChangesEnabled = value;
            }

            public bool ProxyCreationEnabled
            {
                get => this.Configuration.ProxyCreationEnabled;
                set => this.Configuration.ProxyCreationEnabled = value;
            }

            public void Detach(object entity)
            {
                if (entity == null)
                    throw new ArgumentNullException(nameof(entity));

                ((IObjectContextAdapter)this).ObjectContext.Detach(entity);
            }

            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();
            }

            #endregion IDbContext
        }

    در قسمت OnModelCreating شما میتوانید mapping های خود را نسبت به جداول دیتابس اعمال نمایید.
    بطور مثال:

        public partial class MyTableMap : NopEntityTypeConfiguration<MyTable>
        {
            public MyTableMap ()
            {
                this.ToTable("MyTable");
                this.HasKey(x => x.Id);
    this.Property(x => x.Name).HasMaxLength(200);
            }
        }

    حالا mapping رو در OnModelCreating ثبت کنید:

            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Configurations.Add(new MyTableMap());
            }


    مورد دیگه اینکه شما باید یک کلاس دیگر داشته باشید که رابط IDependencyRegistrar را پیاده سازی میکند.و سپس کلاس MyDbContext خود را در آن رجیستر میکنید.همانند زیر:

        public class DependencyRegistrar : IDependencyRegistrar
        {

            public virtual void Register(ContainerBuilder builder, ITypeFinder typeFinder, NopConfig config)
            {
                this.RegisterPluginDataContext<MyDataContext>(builder, "nop_object_context_Demo");

            }
            public int Order
            {
                get { return 0; }
            }
        }


    09127857628