PDA

View Full Version : مبتدی: تحليل يك مديريت محتواي ساده



اوبالیت به بو
دوشنبه 15 شهریور 1389, 01:38 صبح
سلام

من مي خوام يه سيستم خيلي ساده براي يادگيري و تجربه عملي خودم بسازم.

اين سيستم من چيزه خاصي به اون صورت نداره، مثل يك سايت خبري مي مونه. مساله اي كه توش گير كردم اين هست كه مي خوام بدونم صفحه about يا contact يا ديگر صفحات مشابه چي جوري ساخته ميشه؟

در روند كار هم به اين نتيجه رسيدم كه فرق چنداني بين جدول News و جدول Content كه همون صفحات contact و غيره من هستند وجود نداره:

ID #

User_ID // Field ID in Users Table

Title
Date
Body
ContentTypes // 1=News , 2=Page

فعلا همين ساختار ساده رو در نظر بگيريد.
يك منو دارم كه ليست چند خبر آخر رو نشون مي ده كه وقتي كاربر روش كليك مي كنه مي ره صفحه News.aspx و با يك QueryString خبر مورد نظر جدا ميشه و نمايش داده ميشه.
مساله اينجاست كه يكم قاطي كردم. من مي خوام در سمت راست صفحه زير منو قبلي يك منو ديگه داشته باشم كه ليست صفحات را نشون بده و با كليك بر روي اون به صفحه مورد نظر بره. اما يكم قاطي كردم كه چي جوري نمايش بدم!!

ali_mnkt
دوشنبه 15 شهریور 1389, 01:46 صبح
دوست عزیز می تونی یک فیلد به نام type به جدولت اضافه کنی که نوع content رو مشخص می کنه مثلا صفر واسه خبر و یک برای محتوا . با این کارمی تونی بین خبر و محتوای صفحات فرق بذاری

salehbagheri
دوشنبه 15 شهریور 1389, 02:38 صبح
اين سيستم من چيزه خاصي به اون صورت نداره، مثل يك سايت خبري مي مونه. مساله اي كه توش گير كردم اين هست كه مي خوام بدونم صفحه about يا contact يا ديگر صفحات مشابه چي جوري ساخته ميشه؟

معمولاً صفحات about یا contact استاتیک هستند. راه ساده برای ساخت اونها استفاده از فایلهای XML هست.
حالا «دیگر صفحات مشابه» رو نمیدونم چیه! :گیج: چون معمولا این صفحات شباهتی به هم ندارند.


مساله اينجاست كه يكم قاطي كردم. من مي خوام در سمت راست صفحه زير منو قبلي يك منو ديگه داشته باشم كه ليست صفحات را نشون بده و با كليك بر روي اون به صفحه مورد نظر بره. اما يكم قاطي كردم كه چي جوري نمايش بدم!!

بله دقیقاً مسئله اینجاست که منم یکم قاطی کردم. لطفاً دقیقتر شرح بدید.

اینطور که من فهمیدم راه حلش اینه:
از طریق یک SELECT مواردی که Page هستند رو فیلتر کنید و در منوی دوم نمایش دهید.

amordad
دوشنبه 15 شهریور 1389, 03:46 صبح
با سلام
دوست من برای شما یک سیستم مدیریت محتوای خیلی خیلی ساده درست کردم، دانلودش کن
البته چون میدونم شما از قبل تجربیاتی دارید کامنت نگذاشتم.
درضمن برای درج صفحه اگر validator گیر داد با دوبار click درست میشه D:
موفق باشی

اوبالیت به بو
دوشنبه 15 شهریور 1389, 10:11 صبح
سلام

دوست عزیز می تونی یک فیلد به نام type به جدولت اضافه کنی که نوع content رو مشخص می کنه مثلا صفر واسه خبر و یک برای محتوا . با این کارمی تونی بین خبر و محتوای صفحات فرق بذاری
من اين فيلد رو گذاشتم. پست قبلي رو ببينيد.


معمولاً صفحات about یا contact استاتیک هستند. راه ساده برای ساخت اونها استفاده از فایلهای XML هست.
حالا «دیگر صفحات مشابه» رو نمیدونم چیه! :گیج: چون معمولا این صفحات شباهتی به هم ندارند.

خوب نميشه اين صفحات رو دايناميك كرد؟ به عنوان مثال همين صفحه about چيزي جز يه خبر نيست؟ هست؟
يه سري اطلاعات و عكس و فيلم هست. صفحه contact هم يه همچين چيزي هست. آدرس و كروكي نقشه و تلفن (به غير از اون contact كه يه سري فيلد هستن و كاربر نامه مي زنه. منظورم اون مدلي نيست)



بله دقیقاً مسئله اینجاست که منم یکم قاطی کردم. لطفاً دقیقتر شرح بدید.

ببينيد. من مي خوام همه كار ها رو در غالب UserControl هاي كوچيك و ساده در بيارم و تا حدي موفق بودم. يعني همه بخش ها تكه تكه هست. (مي دونم كه با اين روش آشنايي داريد)
اگر دقت كرده باشد در سايت ها نسبتا بزرگ در پنل هاي سمت راست يا چپ هميشه يه قسمتي هست كه ليست صفحات اصلي سايت رو نشون مي ده. مثلا صفحه Profile يا مثلا صفحه اخبار سايت يا همون 2 صفحه كه چند خط بالاتر توضيح دادم.


اینطور که من فهمیدم راه حلش اینه:
از طریق یک SELECT مواردی که Page هستند رو فیلتر کنید و در منوی دوم نمایش دهید.
البته الان با كمي فكر به يه نتيجه رسيدم.
يك صفحه درست كنيم به اسم Page.aspx و اين صفحه رو با QueryString ها مختلف جداكنيم.
مثلا اگر Page.aspx?ID=2 اومد يعني صفحه Profile رو نشون بده. اگر Page.aspx?ID=3 اومد يعني برو به قسمت contact. نظر شما چيست اين روش خوب هست؟

با سلام
دوست من برای شما یک سیستم مدیریت محتوای خیلی خیلی ساده درست کردم، دانلودش کن
البته چون میدونم شما از قبل تجربیاتی دارید کامنت نگذاشتم.
درضمن برای درج صفحه اگر validator گیر داد با دوبار click درست میشه D:
موفق باشی
پروژه شما رو دانلود كردم. مفيد و خوب و ترتميز بود.

Behrouz_Rad
دوشنبه 15 شهریور 1389, 11:23 صبح
مثلا اگر Page.aspx?ID=2 اومد يعني صفحه Profile رو نشون بده. اگر Page.aspx?ID=3 اومد يعني برو به قسمت contact. نظر شما چيست اين روش خوب هست؟

خوبه؟ این روشیه که در حال حاضر اکثر CMS ها استفاده می کنند.
شالوده ی یک CMS معمولاً از 5 بخش تشکیل شده که به هر قسمت Bucket میگن. Bucket ها نامی مستعار برای PlaceHolder ها هستند که برای بارگزاری پویای قسمت های مختلف CMS در صفحه ی اصلی استفاده میشن. ماژول ها یا قسمت های پویا رو یا با User Control ایجاد می کنن یا اگر بخوان CMS قابل توسعه باشه (چیزی مثل DNN) از MEF استفاده می کنن.

موفق باشید.

vahid dot net
دوشنبه 15 شهریور 1389, 17:33 عصر
خوبه؟ این روشیه که در حال حاضر اکثر CMS ها استفاده می کنند.
شالوده ی یک CMS معمولاً از 5 بخش تشکیل شده که به هر قسمت Bucket میگن. Bucket ها نامی مستعار برای PlaceHolder ها هستند که برای بارگزاری پویای قسمت های مختلف CMS در صفحه ی اصلی استفاده میشن. ماژول ها یا قسمت های پویا رو یا با User Control ایجاد می کنن یا اگر بخوان CMS قابل توسعه باشه (چیزی مثل DNN) از MEF استفاده می کنن.

موفق باشید.

اگه ممکنه یکم بیشتر در مورد بارگذاری پویای صفحات و همچنینMEF توضیح بدید.
ممنون

Behrouz_Rad
دوشنبه 15 شهریور 1389, 17:49 عصر
اگه ممکنه یکم بیشتر در مورد بارگذاری پویای صفحات و همچنینMEF توضیح بدید.
ممنون
شما سوالت رو جزیی بپرس، من توضیح میدم.

aminghaderi
دوشنبه 15 شهریور 1389, 21:32 عصر
خوبه؟ این روشیه که در حال حاضر اکثر CMS ها استفاده می کنند.
شالوده ی یک CMS معمولاً از 5 بخش تشکیل شده که به هر قسمت Bucket میگن. Bucket ها نامی مستعار برای PlaceHolder ها هستند که برای بارگزاری پویای قسمت های مختلف CMS در صفحه ی اصلی استفاده میشن. ماژول ها یا قسمت های پویا رو یا با User Control ایجاد می کنن یا اگر بخوان CMS قابل توسعه باشه (چیزی مثل DNN) از MEF استفاده می کنن.

موفق باشید.

چطوری استاد راد از این PlaceHolder استفاده می کنند ؟؟؟
من هم در dnn دیدم که یه سری فایل ها (فکر می کنم با پسوند .txt) با این نام هست ولی ارتباطشون رو نفهمیدم؟؟

ممنون

Behrouz_Rad
دوشنبه 15 شهریور 1389, 22:12 عصر
چطوری استاد راد از این PlaceHolder استفاده می کنند ؟؟؟
من هم در dnn دیدم که یه سری فایل ها (فکر می کنم با پسوند .txt) با این نام هست ولی ارتباطشون رو نفهمیدم؟؟

ممنون
PlaceHolder باید وجود داشته باشه تا کنترلی که به صورت Dynamic به صفحه اضافه میشه بتونه در جای مناسب قرار بگیره. در پورتال ها حتماً دیدی که مثلاً یک Query String با نام TabId وجود داره. فیلدی با نام TabId وجود داره که شماره ی منحصر به فردی رو برای هر Part مشخص می کنه و بر اساس اون User Control یا Custom Control مورد نظر بارگزاری میشه.

موفق باشید.