آقا من میخواهم به کاربر اجازه تغییر قالب را بدم ؛ صفحات من هم همگی از یک مسترپیج ارث برده اند حالا من چگونه قالب مسترپیج را از بانک بخونم !!
لطفاً هر کس نظری دارد بیان کند تا به یک نتیجه برسیم
آقا من میخواهم به کاربر اجازه تغییر قالب را بدم ؛ صفحات من هم همگی از یک مسترپیج ارث برده اند حالا من چگونه قالب مسترپیج را از بانک بخونم !!
لطفاً هر کس نظری دارد بیان کند تا به یک نتیجه برسیم
من هم دنبال تکنولوژی اینکار هستم !!!
دوستان هرکی تجربه داره عنوان کنه !!!
یه سر به اینجا بزن ببین این چیکار میکنه لامصب !!!
برو تو بخش demo
http://www.sitefinity.com
این چند تا master نداره از theme استفاده می کنه.البته فکر کنم!
تغییر قالب بوسیله ی تغییر فایل CSS اون MasterPage انجام میشه !
نیازی به دیتابیس نیست ... شما برای هر template ت یه فایل css طراحی کن . از theme هم میشه استفاده کرد . البته حدود تغییر قالب رو هم باید در نظر گرفت ! نمیشه ییهو 180 درجه template سایتت عوض شه ...
قالب های قابل تعویض از css بوجود میاد البته باید تمام css ها با قالب ست باشه
بعد شما نام css رو می تونی از database بخونی
این کار رو من کردم
اینو نگاه کن یه مدرسه الکترو نیک هست که کاره خودمه
http://www.peivand.parsschools.com
حالا برو اینجا تو قسمت کنترل پانل و رو تغییر گرافیک در انتهای سایت کلیک کن و قالب ها رو تغییر بده حالشو ببر
آدرس پانل
http://www.peivand.parsschools.com/cpslog.aspx
User=peivand
Pass=8a32kmr
دوستان دقت کنند theme با template فرق میکنه ها ... !!!
اگه منظور رفیقمون تغییر theme سایت باشه که چیز زیاد پیچیده ای نیست !! (تغییر theme یعنی تغییر رنگ ها و تغییر image های وب سایت )
اما اگه منظور تغییر template سایت باشه که مسئله دار میشه (تغییر template یعنی تغییر محل قرار گیری آیتم ها ی صفحه + تغییر رنگ و لعاب اون مثلا توی یه template منو بصوری افقی و تویه template دیگه منوی اون عمودی میشه و ... یعنی اینجا تنها محتویات و رنگ و لعاب مستر پیج تغییر نمی کنند بلکه خود مستر پیج نیز جابجا ، تغییر اندازه ، یا حذف میشه )
راجع به این موضوع چه ایده ای دارید ؟؟؟
تغییر template هم پیچیده نیست کافی با یه دستور file.copy مستر پیج رو جایگزین مستر پیج قبلی کنیم
البته تما css ها چه این template چه template جدید باید بالا باشه
بله ! فرمایش متین است ...
خود masterpage جایگزینی برای template هست و theme مربوط به scheme صفحه میشه .
چیزی که معموله و البته منطقی و حرفه ای تغییر theme یه template هست نه تغییر کل design ! این کار تاثیر خوبی تو ذهن مخاطب نداره ! و طبق متودولوژی های CIW اصلا توصیه نمیشه در واقع ماندگاری سایت شما رو تو ذهن مخاطب کم میکنه ....
ولی میشه چند تا masterpage تعریف کرد و بر حسب انتخاب کاربر link شو عوض کرد .
جوابت اینجاست
http://msdn2.microsoft.com/en-us/lib...ax(VS.80).aspx
بخش Changing Master Pages Dynamically
رو بخون!
ببینید منظور من دقیقاً کار آقای abadanboy در سایت مدرسه الکترو نیک است که مدیر سیستم بتونه قالب صفحه را عوض کنه !! برای این کار باید چه کار کنیم !! قالب ها مثلاً از پیش ساخته شده باشه و کاربر بتونه یکی از آنها را التخاب کنه ، اگه روش دیگه ای به نظر کسی میرسه بیان کنه
اگه مقاله ای که لینک دادم می خوندی متوجه می شدی!
اونجا از session استفاده کرده بود شما اسم master رو از دیتابیس بگیر فرقی نمی کنه
من اون مقاله را دیدم ولی چیزی ازش سردر نیاوردم ( آخه یکم زبانم ضعیف است )
به نظر من اگه مسترپیج را از یک فلدر به داخل Root اصلی کپی کنیم خیلی بهتره !! اینجوری اضافه کردن قالب ها هم ساده تر میشه و میتوانیم رنگ و لعاب سایت را هم با Css تغییر بدیم !!
اینطوری که نمی تونی بگی بعضی صفحه ها یه نوع باشه بعضی یه شکله دیگه.
بعد اگه دوتا صفحه از یک masterpage استفاده کنن یکی تغییر بدی اون یکیم تغییر می کنه.
فکر میکنم هنوز مشخص نیست که هدف دقیق شما چیه. به قول دوستان شما میخواهید template را تغییر دهید یا theme صفحات را. شما در جواب دوستان، هر دو مورد را سوال میکنید.
خوب ببین تو مدرسه من از css استفاده کردم و فقط them هست که تغییر می کنه اگه دقت کنی می بینی همه قالب ها یکی هست اما تغییر template ملزم به تغییر مستر پیج هست خوب دو کار می شه کرد یا مستر پیج جایگزین بشه یا همه مستر پیج ها باشند و اسم اونا از دیتابیس خونده بشه که مثلاً صفحه ای که تا الان از مستر پیجی با نام masters.master تغذیه می شده حالا باید از m1.master تغذیه بشه چه تغییر them و چه تغییر template کاره بسیار ساده ای است سوای از کار گرافیکیش
خوب به نظر من بهتره MasterPage عوض بشه ، چون میشه تا حدودی جای چیز ها را هم تغییر داد !! حالا به نظر شما مسترپیج را از یک فلدر به Root کپی کنم و یا آن را از دیتابیس بخونم . کدوم روش بهتره !!
خوب چگونه با دیتابیس بنویسم !! یعنی چگونه بفهمم که کاربر کدوم را انتخاب کرده !
آخه عزیز میشه با Css جای چیز ها را هم تغییر داد !!
بله نمیشه ! ولی شما 4 تا سایت معتبر معرفی کن که امکان این چیزی که تو ذهن شماست رو به کاربر داده باشه ؟ ساختار طراحی سایت شما مثل لوگوی یه کمپانی می مونه شما نمی تونی هر روز لوگوتو تغییر بدی ! تاثیری خوبی روی مخاطب نداره . . . ولی خوب قابل انجام هست !
یه استاد شریف و تپلی ! در یکی از موسسات معتبر ما داشتیم که اون اینو میگفت البته با دلایل بسیار!
ebook فکر کنم دارم ولی لینک رو باید بگردم دنبالش . . .
خوب حالا من باید برای تغییر CSS چه کار کنم که نام آن از بانک خونده بشه . !!
با theme تو asp.net 2.0 کار کردی ؟ برای هر scheme صفحه یه پوشه theme درست می کنی :
تم آبی ، تم قرمز و .... که در واقع تو هر پوشه یه فایل css مخصوص باید بنویسی ، بعد کاربر هر theme ای رو که انتخاب میکنه تو از طریق کدنویسی theme شو تغییر میدی ! دیتابیس هم نمی خواد !
قبلا فکر میکنم در همین فروم خوندم که استفاده از css خیلی خیلی بهتر از استفاده از ابزارهای خود asp.net هست.با theme تو asp.net 2.0 کار کردی ؟ برای هر scheme صفحه یه پوشه theme درست می کنی:
تم آبی ، تم قرمز و .... که در واقع تو هر پوشه یه فایل css مخصوص باید بنویسی ، بعد کاربر هر theme ای رو که انتخاب میکنه تو از طریق کدنویسی theme شو تغییر میدی ! دیتابیس هم نمی خواد !
آقا من با Css کار کردم و با Them نه !! میشه روش کار را با استفاده از فایل CSS بگید ؟
به این تاپیک مراجعه کنید:
CSS Friendly، ابزاری برای آینده ای نزدیک!
در هر پوشه ی theme سه تا element میتونه باشه : Skin file , CSS files , Images
من چیزی که ازون تاپیک فهمیدم منظور مهندس بهروز از توصیه نکردن theme بیشتر بخاطر Skin ها بود . . .
ما نیازی به Skin تو این کار نداریم .
شما سایت msn رو یه نگاه بکن ، وقتی رنگ رو تغییر میدی رنگ پیش زمینه + رنگ یه سری از header های جداول تغییر میکنه .... هر theme اون سایت یه فایل css داره که یه سری کلاس توش هست کاربر وقتی یه theme ای رو انتخاب میکنه css عوض میشه و در نتیجه خصوصیات اون شی از صفحه مثل رنگ body هم عوض میشه و مثلا رنگش تغییر میکنه ...
شما برای شروع یه صفحه درست کن با یه table و یه سری متن . بعد دو تا فایل css درست کن که هر کدوم یه رنگ و scheme به این صفحه بدن که باید یه سری کلاس براش تعریف کنی .... بعد دوتا پوشه theme درست کن این دو تا css رو بزار توش . . . بعد میتونی از طریق کد :
Page.Theme = "blue";
در رویداد Page_PreInit تم صفحتو عوض کنی ....