من می خوام که کاربر که اومد ثبت نام کرد اول حسابش غیرفعال باشه
بعد از فعال سازی از طریق لینک ارسال شده به ایمیل فعال بشه و بتونه وارد سیستم شود
این کار رو چطور باید انجام بدم؟
چطوری می شه در قسمت ثبت نام ، کاربر بتونه ایمیل وارد نکنه
یعنی الزام وارد کردن ایمیل برداریم؟؟؟
سلام به همه دوستان
مشتری بعد از ثبت نام که، به طور پیش فرض نقش کاربری برایش از قبل تعریف شده است با دسترسی خیلی محدود.
حالا این مشتری چطوری تو پنل کاربری خودش می تونه سفارشاتی که انجام داده رو ببینه؟؟
سلام به همه دوستان
اگر در پلاگین جدیدی که نوشته می شه نیاز به اتصال با دیتابیس باشه بهترین راه برای این به چه شکل هست ؟
البته خدمت دوستان عرض شود که لینک های زیر رو هم مطالعه کردم و طبق همینا جلو رفتم
آموزش مقدماتی طراحی پلاگین ناپ کامرس (بر اساس ASP.NET MVC) – بخش 2
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)
نیاز مشتری: می خواهد بداند که کالای 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>();
}
}
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();
}
}
ورود / عضویت
شما می توانید تنها با وارد کردن شماره موبایل خود و دریافت کد ورود، وارد حساب کاربری خود شده و یا عضو شوید. همچنین می توانید با وارد کردن ایمیل کاربری خود وارد حساب کاربری خود شوید .