PDA

View Full Version : سوال: کلمات کليدي، عنوان و توضيحات به صورت دايناميک



bftarane
یک شنبه 19 آذر 1391, 00:40 صبح
سلام. من با استفاده از اين لينک ميخوام براي صفحات سايتم کلمات کليدي، عنوان و توضيحات رو به صورت دايناميک ايجاد کنم
http://how2learnasp.net/article.aspx?code=280aa528-9e85-441b-9731-508689d7a5a4
خوب صفحات سايت من شامل صفحات خبري، مقالات، و بي نهايت صفحه اي هست که ادمين مي تونه ايجاد کنه.
همچنين يه سري صفحات هم استاتيک هستند مثل Default.aspx و تماس با ما و درباره ما.
جدول اخبار، جدولي که براي صفحات ايجاد شده توسط ادمين در نظر گرفته شده، و جدول منوي دايناميک من رو مي تونيد ببينيد.
96297
خوب من قابليت ايجاد منو تا n سطح و ايجاد بي نهايت صفحه رو به ادمين دادم.
حالا براي عنوان و... نمي دونم آيا بايد جدول جداگانه ايجاد کنم يا به جدول مثلاً منو سه تا فيلد Title، description و Keywords اضافه کنم؟ يا کار ديگه اي بايد انجام بدم؟
يه خورده سخته بخوام توضيح بدم. ببينيد مثلاً ادمين يه زيرمنو مي خواد ايجاد کنه در شاخه اخبار به اسم اخبار علمي. کاري که من انجام دادم اينه که مياد در يک تکست باکس مي زنه اخبار علمي در يک تکست باکس يه اسم يونيک انگليسي مثلاً CulturalNews وارد مي کنه که اين اسم انگليسي ميشه PageID که اين PageID با کوئري استرينگ فرستاده ميشه و اين طوري يه صفحه جديد ايجاد ميشه براي اين زيرمنو.
خوب حالا در جدول اخبار يه فيلد دارم به اسم News_CategoryID که همون intID جدول منو هست.
و اين طوري اخباري که News_CategoryID يکساني داشته باشند همه در صفحه در اينجا اخبار علمي نشون داده ميشن.
حالا با کليک روي هر خبر به صفحه ادامه مطلب مي ريم خوب الآن من موندم آيا بايد براي هر خبر هم Title و کلمات کليدي و Description در نظر بگيرم؟

لطفاً با توجه به مطالبي که گفتم بگيد جداول چه تغييراتي بهتره بهشون اعمال بشه.

.................................................. .........................
يه سوال ديگه هم دارم در اين زمينه. ديديد مثلاً يه کلمه رو سرچ مي زني يه توضيحي راجع بهش مياد بعد زير اون توضيح يه سري کلمه هستند به عنوان برچسب. من نمي دونم آيا اين برچسب با سوالي که من در بالا مطرح کردم به هم آيا ربطي دارن؟
.................................................. ........................
خيلي طولاني شد سوالم ببخشيد.
ممنون از هر کسي جواب بده.
............
راستي اين کدي هست که در مسترپيج نوشتم

public void SetMetaTags(string title, string description, string keywords)
{



HtmlHead headTag = (HtmlHead)Page.Header;
headTag.Title = title;
HtmlMeta metaTag = new HtmlMeta();
metaTag.Name = "Description";
metaTag.Content = description;
headTag.Controls.Add(metaTag);
metaTag = new HtmlMeta();
metaTag.Name = "Keywords";
metaTag.Content = keywords;
headTag.Controls.Add(metaTag);


//MyDalBase.ExecuteNoneQuery(System.Data.CommandType .StoredProcedure,"",new SqlParameter[]{
// new SqlParameter("@title",title),
// new SqlParameter("@description",description),
// new SqlParameter("@keywords",keywords)
// });
}
و اين هم در صفحه ديفالت

public partial class _Default : System.Web.UI.Page
{
DALBase MyDALBase = new DALBase();
protected void Page_Load(object sender, EventArgs e)
{
SqlDataReader dr = MyDALBase.ExecuteReader(System.Data.CommandType.St oredProcedure, "select * from tbl_keywords where ", new SqlParameter[]{

});
dr.Read();
string title = dr["title"].ToString();
string description=dr["description"].ToString();
string keywords=dr["keywords"].ToString();

MasterPage MyMasterPage = (MasterPage)Master;
MyMasterPage.SetMetaTags(title,description,keyword s);
}



}
و نمي دونم چطور از اين کدها استفاده درست کنم؟ مثلاً در اون قسمت Where که در بالا مي بينيد چي بايد بنويسم؟
در صورتي که 1. صفحه دايناميک باشه 2. در صورتي که استاتيک باشه
3. در منو به ازاش PageID وجود داشته باشه (يعني منو يا زيرمنو باشه) 4. وجود نداشته باشه يعني مثلاً يه خبر معمولي باشه.

hamed_hossani
یک شنبه 19 آذر 1391, 01:23 صبح
. من نمي دونم آيا اين برچسب با سوالي که من در بالا مطرح کردم به هم آيا ربطي دارن؟
فکر کنم کلمه کلیدی در searcher ها به کار میره
tag >>به سایت stackOverFlow.com برید tag ها برای موضوع بندی استفاده میشن
و وقتی شما پستی با تگ asp می گذارید >در صفحه stackoverflow.com/asp نشون داده میشه شاید حکم همان News_CategoryID شما رو داشته باشه!

الآن من موندم آيا بايد براي هر خبر هم Title و کلمات کليدي و Description در نظر بگيرم؟
به نطر من بله ، در نظر بگیرید

1. صفحه دايناميک باشه 2. در صورتي که استاتيک باشه
3. در منو به ازاش PageID وجود داشته باشه (يعني منو يا زيرمنو باشه) 4. وجود نداشته باشه يعني مثلاً يه خبر معمولي باشه.
فکر میکنم جواب تمام سوال های شما این بشه که>>
شما بیاد کوری های مختلفی بنویسید>> برای حالت خاصی که این 4 سوال شما دارن>> و بعد بدین به اسلیو ال براتون اجرا کنه

ممنون از هر کسي جواب بده.:لبخندساده:

hamed_hossani
یک شنبه 19 آذر 1391, 01:33 صبح
راستی
من اگه می خواستم تگ meta ,head رو دستکاری کنم

HtmlHead headTag = (HtmlHead)Page.Header;
بلد نبودم
میومدم با جی کوری

$('head').append('<meta shh="hamed hossani"></meta> ') ;
ya
$('head').find('meta').attr('description','by hamed hossani');
کد ها رو یا تغییر می دادم یا عوض می کردم
داد هام هم میگذاشتم تو فیلد hidden وبا id به جی کوری پاس میدادم

mehrbani
یک شنبه 19 آذر 1391, 02:10 صبح
راستی
من اگه می خواستم تگ meta ,head رو دستکاری کنم

بلد نبودم
میومدم با جی کوری

کد ها رو یا تغییر می دادم یا عوض می کردم
داد هام هم میگذاشتم تو فیلد hidden وبا id به جی کوری پاس میدادم
دوست عزیز وقتی شما با jQuery به صورت داینامیک متا تگ ها رو عوض کنی گوگل نمی تونه ایندکشون کنه که!

mehrbani
یک شنبه 19 آذر 1391, 02:11 صبح
HtmlMeta meta = new HtmlMeta();
meta.Name = "keywords";
meta.Content = "Some words listed here";
this.Header.Controls.Add(meta);

hamed_hossani
یک شنبه 19 آذر 1391, 02:18 صبح
عالیه!:افسرده:
یعنی یه جوریایی خودم رو گول میزنم>دلم خوش که تو کدهام دارمش

bftarane
یک شنبه 19 آذر 1391, 09:00 صبح
سلام. ممنون از دوستاني که پاسخ دادن ولي من هنوز جوابم رو نگرفتم. من در کدوم جدول اين سه تا فيلد رو که نام بردم اضافه کنم؟
اگه بهتره به صورت يه جدول جدا باشه چطوري با جداول ديگه ارتباط بدم؟
خوب با جدول منو ميشه اين طوري ارتباط داد که
يه جدول با سه فيلد Description، titleو keyword و PageID ايجاد بشه
موقع ثبت منو جديد intID (کليد جدول منو که يه فيلد از نوع identity هست) بياد در اين جدول هم ثبت بشه.
مثلاً الآن براي صفحه خبر (SecondNews.aspx) تايتل و .... رو به صورت دايناميک فراخواني کرديم.
ولي براي تک تک خبرها چه کار بايد کرد؟ خوب وقتي لينک ادامه خبر زده بشه از صفحه خبر به يه صفحه ديگه مي ره (NewsMore.aspx)
خوب اونجا تکليف title چي ميشه؟

حق مي دم کسي جواب نده خيلي پيچيده شد.

hamed_hossani
یک شنبه 19 آذر 1391, 21:52 عصر
به نظر من Description، title را به صفحات بدید
و Keywords را به news اضافه کنید
+و یا می توانید برای صفحات+اخبار فیلد Keywords داشته باشید و در هر صفحه کلمات کلیدی اخبار را به کلمات صفحه اضافه کنید

mehrbani
دوشنبه 20 آذر 1391, 03:13 صبح
گوگل و سایر Search Engine ها دیگه به Meta Tag Keyword ها کاری ندارن و اونا رو در نظر نمی گیرن ( سایت هایی مثل ویکی پدیا اصلاً Keywords ندارن! ) پس خیلی خودتون رو اذیت نکنین سر این موضوع :)