PDA

View Full Version : مبتدی: ایجاد theme پویا



monika
شنبه 29 مرداد 1390, 23:05 عصر
با سلام خدمت دوستان.من در سایتم یک قسمت مدیریت دارم که یکی از گزینه هاش تغییر نمای سایت هستش.می خوام این قسمت قابلیتی داشته باشه که وقتی کاربر از لیست بازشونده رنگ مورد نظررو انتخاب می کنه کنترلهای موجو مثلا لینک ها در کل سایت به ائن رنگ در بیاد همچنین imageهایی را که متناسب با این رنگ در نطر گرفتم جایگزین ایمیجها کنه.ازتون ممنون می شم که راجع به این زمینه کمکم کنید

Saman Hashemi
یک شنبه 30 مرداد 1390, 08:10 صبح
اين كار عمدتا با jquery يا جاوااسكريپت انجام ميشه شما بايد يا چندتا css درست كنيد و با انتخاب رنگ مربوط به اون css،لودش كنيد يا اگه ميخوايي هر رنگي تونست انتخاب كنه بعد از انتخاب رنگ فايل css بسازي...!

monika
یک شنبه 30 مرداد 1390, 11:51 صبح
دوست عزیز من برای رنگ هام cssمربوطه رو قرار دادم و کلاس هایی رو به صورت زیر تعریف کردم

کلاس theme
public class Theme
{
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
public Theme(string name)
{
Name = name;
//
// TODO: Add constructor logic here
//
}
}

کلاس Thme Manager

public class ThemeManager
{
#region Theme-Related Method
public static List<Theme> GetThemes()
{
DirectoryInfo dinfo = new DirectoryInfo(System.Web.HttpContext.Current.Serve r.MapPath("App_Themes"));
DirectoryInfo[] dArrinfo = dinfo.GetDirectories();
List<Theme> list = new List<Theme>();
foreach (DirectoryInfo sDirectory in dArrinfo)
{
Theme temp = new Theme(sDirectory.Name);
list.Add(temp);
}
return list;
}
#endregion
کلاس Base Page

protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
if (Session["MyTheme"] == null)
{
Session.Add("MyTheme", "Main");
Page.Theme = ((string)Session["MyTheme"]);
}
else
{
Page.Theme = ((string)Session["MyTheme"]);
}
}

و کد زیر رو در مستر پیج مربوط به مدیریت محتوا قرار دادم

protected void strTheme_DataBound(object sender, EventArgs e)
{
strTheme.SelectedValue = Page.Theme;
}
protected void strTheme_SelectedIndexChanged(object sender, EventArgs e)
{
Session.Add("MyTheme", strTheme.SelectedValue);
Server.Transfer(Request.FilePath);
}

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