داستان دسته ها در مووبل تایپ

27
4521

به جرات می توان یکی از مهمترین نقاط قوت سیستم مدیریت محتوای مووبل تایپ را امکانات بسیار زیاد آن در دسته بندی مطالب به انواع شکلها و فرمت ها دانست. جایی که وقتی کار به کدنویسی یک قالب ام تی می رسد می تواند یک قالب سایت را (با تمام پیچیدگیهای آن) از یک قالب وبلاگ ساده متمایز کند. در این مطلب می کوشم شما را با راههای گوناگون استفاده از کدهای مربوط به دسته (Category) آشنا کنم.

قطعا همه می دانیم که دسته بندی مطلب به نظم بهتر مطالب یک وبلاگ کمک می کند. مثلا  هنگامی که شما مطالبتان را با دسته بندی های مختلف منتشر می کنید خواننده به راحتی می تواند مطالب مرتبط با هم را از طریق آرشیو موضوعی بلاگ شما پیدا کرده و مطالعه کند. این حالت حداقل استفاده ایست که شما می توانید از دسته ها با هر سیستم مدیریت محتوایی بکنید. درمووبل تایپ استفاده از این حالت به سادگی امکان پذیر است و از دوجنبه می توان به آن نگاه کرد: اول، از داخل سیستم مدیریت ام تی و دوم، در ساختار کدهای قالب (جایی که شما صفحه یا سایدبار آرشیو موضوعی تان را می سازید تا مطالب تحت هر دسته لیست شوند). بیایید از همینجا شروع کنیم.
دسته ها در داخل سیستم مدیریت ام تی
بدیهی است پیش از آنکه بتوانید از قدرت دسته ها استفاده کنید باید ابتدا خود دسته ها را تعریف کنید و بسازید. برای اینکار در داخل سیستم مدیریت ام تی به بخش

Manage>Categories

بروید. اگر سیستم ام تی شما تازه نصب شده باشد احتمالا دسته ای در آن وجود ندارد و این قسمت مانند تصویر زیر خالی است:

 

mt-categories-02.gif

برای ساختن اولین دسته (Category) روی Create top level category کلیک کنید. حالا اسم دسته را وارد کرده و روی Create کلیک کنید. نخستین دسته سایت شما ساخته شده است:

mt-categories-03.gif

در تصویر بالا (برای دیدن تصویر بزرگتر روی آن کلیک کنید) در صورتی که روی کلمه Create که روبروی نام دسته تازه ساخته شده شما قرار دارد کلیک کنید می توانید برای آن زیر شاخه (Sub Category) هم تعریف کنید که موضوع آموزش امروز ما نیست. در صورتی که روی نام دسته کلیک کنید وارد صفحه ای می شوید مانند تصویر زیر:

mt-categories-04.gif

در این صفحه علاوه بر فیلدهایی برای ویرایش دسته با یک فیلد مهم روبروییم به نام Description که بسیار به درد غیر انگلیسی زبانها می خورد. از آنجا که اسم دسته معمولا در آدرس مطلب به نمایش در می آید و از طرفی خیلی از توسعه دهندگان وب ترجیح می دهند از متون غیر انگلیسی در آدرس مطلبشان استفاده نکنند فیلد Description به عنوان فیلدی کلیدی به کمک ما می آید. در اینجا می توانید به راحتی اسم فارسی دسته را بنویسید. در ادامه به شما خواهم گفت در کجا و چگونه می توانیم از آن استفاده کنیم.
بعد از ساخته شدن دسته ها، اختصاص دادن مطالب به هر دسته بسیار آسان است. کافیست در صفحه نوشتن/ویرایش مطلب در ستون سمت راست دسته مطلب خود را انتخاب کنید:

mt-categories-05.gif
برای دیدن تصویر بزرگتر روی آن کلیک کنید.

تا اینجا دیدیم که ساختن دسته ها و اختصاص دادن مطالب به آنها بسیار ساده و آسان است. اما همانطور که گفتم این دسته بندی در صفحه آرشیو است که قدرت نمایش می یابد. در باره ساختن صفحه آرشیو موضوعی قبلا در “مووبل تایپ از الف تا ی (قسمت نهم)” توضیح داده ام. آنچه آنجا توضیح داده ام درواقع ابتدایی ترین حالت استفاده از Category ها در مووبل تایپ است. پیشنهاد من این است که حتما پیش از ادامه این مطلب، آن آموزش را بخوانید اما اگر وقت کافی ندارید به طور خلاصه در آن آموزش توضیح داده ام که چطور یک قالب آرشیو برای سایتتان کدنویسی کنید. کدهای نهایی که به صورت زیر هستند:

<h2><$MTCategoryLabel$></h2>
<ul>
<MTEntries>
<li><a href=”<MTEntryPermalink>”><MTEntryTitle></a></li>
</MTEntries>
</ul>

این کدها در صورتی که در یک قالب آرشیو ذخیره شوند پس از بازسازی سایت صفحه ای برای هر موضوع می سازند که حاوی عنوان دسته و لینک تمام مطالب منتشر شده تحت آن دسته خواهند بود.
مورد بعدی که در قسمت نهم آموزشها به آن پرداختم ساخت یک صفحه ایندکس برای آرشیوها (Main Archive Index) بود. این صفحه که علیرغم اسمش در حقیقت نوعی قالب ایندکس به شمار می رود با تکه کد زیر ساخته می شد:

<MTIfArchiveTypeEnabled archive_type=”Category”>
<MTCategories>
<h2><a href=”<MTCategoryArchiveLink>”><MTCategoryLabel></a></h2>
<ul>
<MTEntries>
<li><a href=”<MTEntryPermalink>”><MTEntryTitle></a></li>
</MTEntries>
</ul>
</MTCategories>
</MTIfArchiveTypeEnabled>

دقت داشته باشید از آنجا که این قالب به دسته قالبهای ایندکس تعلق دارد باید در هنگام کد نویسی به استفاده از ظرف مناسب (که در قسمت ششم توضیح داده شده) توجه داشته باشیم. مثلا برای اینکه کدهای مربوط به دسته ها را در یک صفحه ایندکس نمایش دهیم باید از ظرفی مشابه این استفاده کنیم:

<MTCategories>
.
.
.
</MTCategories>

در تکه کد قبلی اگر به جای تگ MTCategoryLabel از تگ MTCategoryDescription استفاده شود می توانیم بجای نام انگلیسی دسته، نام فارسی آن را که قبلا از آن صحبت شد به بیننده نشان دهیم.
استفاده های پیشرفته تر از دسته ها
همانطور که گفتم می توانیم از دسته بندی در ام تی استفاده های بیشتری در حد یک سایت پیشرفته ( نه وبلاگ) داشته باشیم. بگذارید مثالی بزنم:
به سایتی فکر کنید که در صفحه اول خودش چهار ستون مختلف دارد برای چهار نوع خبر یا مطلب مختلف:

mt-categories-06.gif

راحت ترین راه برای نشان دادن چهار ستون مطلب در تصویر بالا استفاده از دسته هاست. برای اینکار باید بتوانیم نحوه نمایش مطالب را طوری تعیین کنیم که در هر ستون تنها مطالب همان دسته نمایش داده شود و باقی مطالب فیئلتر شوند. پیش از آنکه دست بکار شویم توجه شما را به این نکته جلب می کنم که برای ساخت صفحه ای مانند تصویر فوق باید قالبتان را به صورت یک قالب ایندکس (Index Template) بسازید و همانطور که در “مووبل تایپ: از الف تا ی (قسمت ششم)” گفته شد باید از ظرف های مناسب هرجا که نیاز باشد استفاده کرد. به تکه کد زیر نگاه کنید:

<h3>Computer</h3>
<MTEntries category=”computer” lastn=”10″>
<a href=”<MTEntryPermalink>”><MTEntryTitle></a><br />
</MTEntries>

با همین تکه کد می توانید هر چهار ستون مثال فوق را با عنوان مطالب یک دسته خاص پر کنید. خط اول به سادگی اسم دسته را نشان می دهد. خط دوم همان ظرفی است که از آن صحبت کردیم. با همین ظرف هم هست که می توانیم یک دسته خاص را فئیلتر کرده و نمایش دهیم. در صورتی که تکه کد:

category=”computer”

را ننویسیم حاصل کد، عنوان کلیه مطالب نوشته شده در این بلاگ بدون در نظر گرفتن دسته آنها خواهد بود.
حالا تصور کنید که می خواهید مطالب دو یا سه دسته را تحت یک عنوان نمایش دهید. این کار هم در مووبل تایپ به راحتی امکان پذیر است. کافیست به تکه کد زیر نگاه کنید:

category=”computer AND mobile”

امیدوارم این آموزش کوتاه به کدنویسی مووبل تایپی شما کمکی هرچند کوچک کرده باشد. این آموزش به درخواست دوستی گرامی نوشته شده است. در صورتی که شما هم احساس می کنید نوشتن مطلبی در باره قابلیتهای کوچک و بزرگ مووبل تایپ می تواند کمکی به گسترش بیش از پیش این سیستم مدیریت محتوای قدرتمند در بین علاقمندان کند آن را با ما در میان بگذارید.

 

توجه: این سلسله مطالب به طور اختصاصی برای سایت writeage.com نوشته شده است. درج تمام یا قسمتی از ‏این ‏مطالب، ‏تنها با ذکر نام سایت و آدرس دقیق این صفحه مجاز است.

27 دیدگاه

  1. عباس جان سلام
    در مووبل تایپ این کار با استفاده از تگ ها (Tags) انجام می شه. دقت کن اینجا منظورم از تگ, کدهای مووبل تایپ نیست بلکه کلماتی هستند که شما با اونها مطلب خودتون رو طبقه بندی می کنید (مثل کلید واژه ها). اگه موقع نوشتن هر مطلب در ام تی به اون یک سری تگ نسبت بدین بعدش می تونید با کدهای نوشته شده در اینجا یا اینجا مطالب مرتبط (که تگهای مشترکی دارند) رو نمایش بدین.
    برای بهترین مطالب یا پربازدید کننده ترین مطالب چیزی توی ام تی ندیدم. توی سایت عصر نوشتن من بنا رو بر این گذاشتم که مطالب پرکامنت تر پرطرفدارتر بودن پس یه لیستی از مطالب روبه ترتیب تعداد کامنت پایین قالب آوردم. برای اینکار از این پلاگین استفاده کردم.
    موفق باشی

  2. با سلام و با تشكر از مطالب آموزنده شما
    من بدنبال كدي ميگردم كه بتونه مطالب مرتبط به يك مطلب رو نشون بده.در ضمن لطفا كد نمايش بهترين مطالب و يا پر بازديدترين مطالب رو بنويسيد ..ممنون ميشم.
    با تشكر

  3. سلام
    نمیدونم چرا این ام تی خیلی به من گیر میده!!
    یه قالب ماژول دارم entry summary گیر سه پیچ شده واسه همین بنده خدا !!
    همش میگه:

    MTEntryPermalink is unrecognized

    موندم که چه جوری حالیش کنم. مشکلش چیه؟؟

  4. سلام
    در کامنت 10 که توضیح دادین، برای اینکه داخل صفحه لینک بزنم به نظرات مربوط به همون مطلب (b_comments.html%) باید چیکار کنم؟ آدرس لینک چیه؟
    ممنون

  5. باسلام و ممنون از آموزشهای شما
    اگر من بخواهم در صفحه مربوط به هر entry به جای نام دسته CategoryLable توضيح يا همان Description آن بيايد چه بايدكرد؟

  6. سلام و خسته نباشید
    خیلی متشکرم بابت جوابتون. عالی شد!
    آموزش بعدی رو اگه صلاح دونستید برام رزرو کنید!!
    همونطور که تو یکی از نظرات قبلی گفته بودم، “پلاگین paginate برای صفحه بندی”.
    تو چند سایت گشتم، اما هیچ کدوم آموزش درست و حسابی نبود.
    آموزش استادمون بیشتر می چسبه!!

  7. محمد جان سلام
    چیزی که درباره کامنتها بهش اشاره کردی قبلا (دو سه سال پیش) دیفالت ام تی بود اما از وقتی که Pop Up Blocker ها رایج شدند و کلا این روش نشان دادن مطلب (دریک پاپ آپ) منسوخ شد ام تی هم اون رو عوض کرد.اما در کل درست کردن یه صفحه اختصاصی برای کامنتهای یک مطلب کار سختی نیست. کافیه یک قالب آرشیو به صورت Entry درست کنی و توی قسمت Path از فرمت دلخواه با کمک این صفحه استفاده کنی.مثلا من توی عصر نوشتن از چیزی مثل این استفاده کردم:

    %b_comments.html

    که اسم اون صفحه رو به شکل زیر نشون می ده:

    movable_type_categories_described_comments.html

    داخل صفحه هم می تونی از کدهای معمول کامنت استفاده کنی.
    موفق باشی

  8. سلام
    از قدیم گفتن تا سه نشه بازی نشه!!
    1. ok
    2. این آدرسو یه نگاه بنداز ببین پای هر مطلب یه لینک داره نوشته Xنظر – اگه روش کلیک کنی یه صفحه باز میشه با آدرس comment.php?cid=XXX – فرم و نظرات داخل همین پنجره است.
    3. ok
    4. منظورم این نبود! اما از خیرش گذشتم.
    ممنون

  9. محمد جان سلام
    1- امتیاز دادن یا Rating یه پلاگین داره که اینجا می تونی پیداش کنی(البته نسخه کاملش پولیه).اگه توی کارکردن باهاش مشکلی داشتی به این مطلب در انجمن مووبل تایپ مراجعه کن.
    2-بازم سوالت رو درست نفهمیدم. کامنت با مطلب مربوطه معنا پیدا می کنه پس نمی شه فرم نمایش نظر و فرم ارسال رو جداگونه داشته باشی!
    3- فرم تماس با ما هیچ ربطی به ام تی نداره. باید از فرمهای آماده استفاده کنی تا فرمت پردازش و ارسال بشه.
    4- بله. فقط کافیه از دستور AND توی اسم دسته ها استفاده کنی. توی قسمت آخر نوشته توضیحش دادم گویا!
    موفق باشی

  10. سلام و خسته نباشید
    1. اشتباهاً امتیازدهی مطلب رو رنکینگ زدم!
    2. سئوال دومی رو موندم چطوری بگم.
    مثلا ما دوست نداریم کامنت ها پایین صفحه تکی مطلب بخوره. خودش جدا باشه. هم نمایش نظر هم فرم ارسال و هم response. آدرس صفحه رو چجوری باید بزارم؟
    3. برای ساخت فرم (تماس با ما و …) ام تی اسکریپت پردازش فرم داره و تو دیتابیس وارد میکنه یا باید دستی درست بشه؟؟
    4. میشه چندتا دسته رو با هم و یه تعداد دیگه رو جدا گذاشت؟
    ممنون

  11. سلام و تشکر محمد جان
    اگه منظورت از رنکینگ , رنک شدن سایت در موتورهای جستجو هست آرش یک مطلب سه قسمتی در باره رنکینگ در گوگل نوشته که می تونی با جستجوی google pagerank توی سایت اون رو پیدا کنی.
    در مورد نظرات فکر می کنم هرچیزی که به ام تی ربط داشته گفتم. باقی چیزهایی هستند که شما می تونید با جستجو توی انجمن های تخصصی مربوطه پیداشون کنید. مثلا جاوا اسکریپت یا مباحث مربوط به طراحی و غیره.
    موفق باشی

  12. سلام دکتر جون
    ایندفعه دیر رسیدم. وایرلسم قطع شد رفتم دنبال ADSL اما هنوز Dial up هستم.
    لطفا در مورد سیستم رنکینگ مطالب توضیح دهید. همچنین مبحث نظرات را ادامه دهید. (چطوری پنجره ی نظرات به کمک جاوا اسکریپت داخل یک صفحه جانبی باز می شه؟؟

  13. این سوال رو اگه کس دیگه ای اینجا مطرح می کرد جواب نمی دادم چون به این مطلب مربوط نمی شه اما چون شما باعث نوشتن این مطلب شدید می شه این دفعه رو استثنا قایل شد!
    اگه کنترل پنلتون Plesk هست پس شاخه اصلی به نام httpdocs و شاخه cgi-bin بیرون اون قرار داره. پس فایلهای مربوط به خود ام تی رو توی شاخه cgi-bin و بقیه (یعنی mt-static) رو در httpdocs کپی کنید.
    اگه کنترل پنلتون cPanel هست شاخه اصلی public_html و cgi-bin هم داخل اون هست. دوباره مثل بالا فایلهای مربوط به خود ام تی رو توی شاخه cgi-bin و بقیه (یعنی mt-static) رو در public_html کپی کنید.
    موفق باشید

  14. سلام دکتر ریتالین عزیز
    خیلی لطف کردید
    خیلی زیاد
    اولین کامنت رو من باید میزاشتم ولی تازه امشب تونستم مطلب رو بخونم.
    مشکلم حل شد ولی نمیتونم قول بدم که برای رفع اشکالاتم در مووبل تایپ دوباره مزاحمتون نمیشم 🙂
    موفق باشید

ارسال یک پاسخ