روزنوشتهای من درباره اینترنت، کامپیوتر، سایبراسپیس و ...!

بازگشت به صفحه اصلی وبلاگ

 
 

مطالب منتشر شده در موضوع «راهنماهاي ام تی»

 
 
 
تگ‌های پلاگ‌اين Paginate بخش 2
تگ‌های پلاگ‌اين Paginate بخش 1
قسمت کردن مطالب به چند صفحه در MT
سيستم جديد بايگاني در MT 3 و نحوه استفاده آن در فارسي
ارتقاء نسخه‌هاي قبلي MT به نسخه 3.1
پست به آينده با استفاده از MT 3.1
رفع مشكل مطالب بدون عنوان در MT
ساخت ليست مطالب گذشته
تغييرات mt.cfg در Movable type 3
قرار دادن لينكدوني خود در وبلاگ‌هاي ديگر!
بستن نظرسنجي‌های قديمي جهت جلوگيری از Spam
آرشيو ماهانه به صورت لیست بازشو
ايجاد نظر سنجي براي لينكدوني
پولي شدن MT
به دست آوردن پسورد فراموش شده در MT
فيلتر نظرات و پينگهای نامناسب
تعويض عنوان نظر خواهی به طور اتوماتيك
رفع مشكل ناسازگاری فونتها Windows در MT
طريقه ساخت لينكدوني روزانه
اصلاح مطلب وبلاگ دو ستونی
تنظيمات بخش weblog config براي سايتهاي اختصاصي و netfirms
شکلک برای MT!
استفاده از Bookmarklets
تعيين نام برای آرشيو موضوعی
موضوع مطلب کنار عنوان
زمان آخرين آپ ديت
MT نمايشی
آرشيو تکی داخل پوپ آپ نظرسنجی!
وبلاگ دو ستونی
اصولا موويبل تايپ چی هست!؟
اضافه کردن نسخه مناسب چاپ به آرشيو
افزايش تعداد کامنتها
تعيين تعداد مطالب در وبلاگ
شمارش تعداد کلمات مطلب در MT
فهرست مطالب گذشته
تكميليه براي راهنماي ساخت لينكدوني!
اضافه كردن صورتك به MT
نمايش تاريخ آخرين تغييرات در مطالب
توضيحي راجع به Top commenters
كليدهاي ميانبر در ويرايشگر MT
موضوع جديد!
راهنماي ساخت ليست Top Comments در MT
Top comments
ساخت آرشيو موضوعي در MT
طريقه شمسي كردن تاريخ در MT به وسيله php
Track Back
راهنماي ساخت لينكدوني با MT
 

 

May 22, 2006

 
 
 

تگ‌های پلاگ‌اين Paginate بخش 2

در ادامه مطلب قبلی که تعدادی از تگ‌های پلاگ‌اين Paginate را شرح دادم در اين بخش هم تعدادی ديگری از تگ‌ها را توضيح می‌دهم. اينجا توضيحاتی در مورد کليات اين‌ پلاگ‌اين داده ام.

تگ‌های شرطی

با استفاده از تگ‌های شرطی می‌توان براساس اين‌که کاربر در چه صفحه‌ای قراردارد، متن خاصی را نمايش داد. به علت اين‌که تتگ‌های شرطی پلاگ‌اين paginate کد php توليد می‌کنند، با استفاده از علامت «_» از تگ‌های شرطی خود MT متمايز شده‌اند. اين مسئله به‌اين معنی است که به‌جای تگ <MTElse> بايد از تگ <MTPaginateElse_> استفاده کنيد.

جدول نيز نشان می‌دهد هر کدام از تگ‌های شرطی در چه صفحاتی مثبت (true) می‌شوند:

  • MTPaginateIfFirstPage_
    متون داخل يک تگ فقط در صورتی صفحه، اولين صفحه يا تنها صفحه باشد، نمايش پيدا می‌کنند.
     
  • MTPaginateIfLastPage_
    متون داخل يک تگ فقط در صورتی صفحه، آخرين صفحه يا تنها صفحه باشد، نمايش پيدا می‌کنند.
     
  • MTPaginateIfMiddlePage_
    متون داخل يک تگ فقط در صورتی که چندين صفحه وجود داشته باشد و صفحه يک صفحه ميانی باشد (اولين و آخرين صفحه نباش)، نمايش پيدا می‌کنند.
     
  • MTPaginateIfPreviousPage_
    متون داخل يک تگ فقط در صورتی که چندين صفحه وجود داشته باشد و صفحه دارای صفحه قبلی باشد (اولين صفحه نباشد)، نمايش پيدا می‌کنند.
     
  • MTPaginateIfNextPage_
    متون داخل يک تگ فقط در صورتی که چندين صفحه وجود داشته باشد و صفحه دارای صفحه بعدی باشد (آخرين صفحه نباشد)، نمايش پيدا می‌کنند.
     
  • MTPaginateIfAllPages_
    متون داخل يک تگ فقط در صورتی صفحه، صفحه‌ای باشد که همه مطالب صفحات را نمايش می‌دهد، نمايش پيدا می‌کنند.
     
  • MTPaginateIfPageHeader_
    متون داخل يک تگ فقط در صورتی بخش جاری اولين بخش صفحه باشد، نمايش پيدا می‌کنند.
     
  • MTPaginateIfPageFooter_
    متون داخل يک تگ فقط در صورتی بخش جاری آخرين بخش صفحه باشد، نمايش پيدا می‌کنند.
     
  • MTPaginateElse_
    از اين تگ تنها می‌توان داخل ديگر تگ‌های شرطی اين پلاگ‌اين استفاده کرد. در صورتی که نتيجه تگ شرطی اصلی منفی باشد متون داخل اين تگ نمايش داده می‌شوند.
    در مثال زير اگر کاربر در صفحه‌ای باشد که همه مطلب صفحات را نمايش می‌شود متن «شما همه مطالب را مشاهده می‌کنيد» نمايش داده می‌شود و در غير اين صورت متن «شما تنها بخشی از مطالب را مشاهده می‌کنيد» نمايش داده می‌شود:

<MTPaginateIfAllPages_>
<p> شما همه مطالب را مشاهده می‌کنيد </p>
<MTPaginateElse_>
<p> شما تنها بخشی از مطالب را مشاهده می‌کنيد </p>
</MTPaginateIfAllPages_>

تگ MTPaginateContent

نوشته‌هايی که مايليد صفحه صفحه شوند در داخل اين تگ قرار می‌گيرند. شما با استفاده از خصوصيات زير می‌توانيد طريقه صفحه‌صفحه شدن مطالب را تعيين کنيد:

  • max_words="n"
    اين خصوصيت تعيين می‌کند در هر صفحه حداکثر چند کلمه‌ می‌تواند وجود داشته باشد. مقدار پيش‌فرض 400 است.
     
  • max_bytes="n"
    اين خصوصيت تعيين می‌کند هر صفحه حداکثر چند بايت‌ می‌تواند باشد. در صورت تعيين اين خصوصيت، خصوصيت “max_words” ناديده گرفته خواهد شد.
     
  • max_sections="n"
    اين خصوصيت تعيين می‌کند در هر صفحه حداکثر چند بخش وجود داشته باشد (شما می‌توانيد به‌صورتی که بعدا توضيح داده خواهد شد، محتويات خود را بخش‌بندی کنيد). در صورت تعيين اين خصوصيت، خصوصيات “max_words” و “max_bytes” ناديده گرفته خواهند شد.
     
  • section_start_tag="p"
    اين خصوصيت تعيين می‌کند کدام تگ برای شروع هر بخش در نظر گرفته شود. هر وقت نياز به اينجاد صفحه جديد وجود داشت، شکستی بين بخش‌ها صورت خواهد گرفت. در مثال زير هر پاراگراف (که در HTML با تگ p مشخص می‌شود) در يک بخش قرار می‌گيرد:

    <MTPaginateContent section_start_tag="p">
    ....
    </MTPaginateContent>

  • section_start="section start"
    اين خصوصيت تعيين می‌کند چه جمله‌ای در متن شروع هر بخش را مشخص ‌کند. هر وقت نياز به اينجاد صفحه جديد وجود داشت، شکستی بين بخش‌ها صورت خواهد گرفت. در صورت تعيين اين خصوصيت، مقدار خصوصيت section_start_tag ناديده گرفته خواهد شد. برای اين که شکسته شدن صفحه قبل از متن “<div class=”section”>” اتفاق بيفتد از کد زير بايد استفاده کنيد: )از کد HTML نمی‌توان به طور مستقيم استفاده کنيد. علامت “<” بايد تبديل به “&lt;” و علامت “>” بايد تبديل به “&gt;” شود.)
     
  • section_break="text"
    اين خصوصيت تعيين می‌کند چه جمله‌ای در متن بخش‌ها را از هم جدا می‌کند. هر وقت نياز به اينجاد صفحه جديد وجود داشت، شکستی بين بخش‌ها صورت خواهد گرفت. متن نشان دهنده فواصل بين بخش‌ها (که توسط اين خصوصيت تعيين شده است) در متن اصلی نمايش داده نخواهد شد. به طور پيش‌فرض مقدار اين خصوصيت “__MTPAGINATE_SECTION_BREAK__” است. اين به اين معنی است که هر جا در متن اين را بنويسيد، يک بخش جديد به وجود می‌آيد. برای تعيين “<p>----</p>” به عنوان جدا کننده هر بخش از کد زير بايد استفاده کرد:

<MTPaginateContent section_break="&lt;p&gt;----&lt;/p&gt;">
...
</MTPaginateContent>

  • page_break="text"
    اين خصوصيت تعيين می‌کند چه جمله‌ای در متن باعث ايجاد يک صفحه جديد شود. اين جمله در متن نمايش پيدا نمی‌کند. به طور پيش‌فرض جمله “__MTPAGINATE_PAGE_BREAK__” در متن باعث ايجاد صفحه جديد می‌شود. برای تعيين “<p>====</p>” به عنوان جدا کننده صفحه از کد زير بايد استفاده کرد:

<MTPaginateContent page_break="&lt;p&gt;====&lt;/p&gt;">
...
</MTPaginateContent>

تگ MTPaginateSectionBreak

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

<MTPaginateContent max_bytes="1000">
<MTEntries lastn="20">
<p>
<b><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></b>
<$MTEntryExcerpt$>
</p>
<$MTPaginateSectionBreak$>
</MTEntries>
</MTPaginateContent>

تگ MTPaginatePageBreak

اين محل شکسته شدن صفحه را تعيين می‌کند. در مثال زير بعد از هر مطلب يک صفحه جديد ايجاد می‌شود:

<MTPaginateContent max_bytes="1000">
<MTEntries lastn="20">
<p>
<b><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></b>
<$MTEntryExcerpt$>
</p>
<$MTPaginatePageBreak$>
</MTEntries>
</MTPaginateContent>

[ 11:55 PM ]   .   [ Comments (4) ]

 

 

October 21, 2005

 
 
 

تگ‌های پلاگ‌اين Paginate بخش 1

در مطلب قبلی کلياتی را در مورد پلاگ‌اين Paginate که مطالب را صفحه صفحه می‌کند شرح دادم. در اين مطلب همان طور که قول داده بودم تعدادی از تگ‌های اين پلاگ‌اين را شرح خواهم داد.

  • MTPaginate

    اين تگ، تگ اصلی پلاگ‌اين Paginate است و بايد همه تگ‌های ديگر مربوط به اين پلاگ‌اين داخل آن قرار بگيرد. شما می‌تواند از خصوصيات زير در اين تگ استفاده کنيد:

    • Page_selector="name"

      به وسيله اين خصوصيت می‌توانيد نام پارامتری که اين پلاگ‌اين برای تعيين شماره صفحه، به نشانی اضافه می‌کند را تعيين کنيد. مقدار پيش‌فرض اين خصوصيت ‘page’ است. به عنوان مثال وقتی چند صفحه به وسيله اين پلاگ‌اين ايجاد شده باشد، نشانی هر صفحه چيزی شبيه به index.php?page=1 و index.php?page=4 خواهد بود. با استفاده از اين خصوصيت می‌توانيد کلمه ‘page’ را تغيير دهيد. اين کار در صورتی که صفحه شما در حال‌حاضر از پارامتر ‘page’ استفاده می‌کند، مفيد خواهد بود.

    • default_page="1" يا "first" يا "last" يا "all"

      اين خصوصيت صفحه پيش‌فرضی را که برای اولين بار نمايش داده خواهد شد را تعيين می‌کند. علاوه‌بر شماره صفحه شما می‌تواند از مقدار ‘first’ برای نمايش صفحه اول، ‘last’ برای نمايش صفحه آخر و ‘all’ برای نمايش کل مطالب در يک صفحه استفاده کنيد.

    • base_address="_relative" يا "_absolute" يا "URL"

      با استفاده از اين خصوصيت می‌توانيد نوع لينک‌هايی که برای رفت و آمد بين صفحات توليد می‌شود را تعيين کنيد. شما می‌توانيد از يک نشانی مشخص يا "_relative" برای استفاده از نشانی نسبی (مثلا document.php?page=3) و "_absolute" برای استفاده از نشانی مطلق (مثلا http://www.yoursite.com/blog/page.php?page=3) استفاده کنيد.

    • debug="1"

      از اين خصوصيت می‌توانيد در زمان طراحی قالب برای نمايش ليست مطالب همه صفحه‌ها در پايين صفحه برای اشکال‌زدايی استفاده کنيد. به صورت پيش‌فرض Debug غير فعال است.

    • mode="php" or "cgi"

      با استفاده از اين خصوصيت می‌توانيد نوع کدهای توليد شده توسط اين پلاگ‌اين را تعيين کنيد. مقدار پيش فرض ‘php’ است.

  • MTPaginateIfSinglePage

    اين تگ شرطی در صورتی که فقط يک صفحه توليد شده باشد، مثبت می‌شود و مطالب داخل آن نمايش داده می‌شود.

  • MTPaginateIfMultiplePages

    اين تگ شرطی در صورتی که چند صفحه توليد شده باشد، مثبت می‌شود. برای مثال از اين تگ می‌توانيد برای نمايش ليست صفحات فقط در صورتی که چند صفحه وجود داشته باشد استفاده کنيد:

    <MTPaginateIfMultiplePages>
        <$MTPaginateNavigator$>
    </MTPaginateIfMultiplePages>

  • MTPaginateVersion

    اين تگ اطلاعات مربوط به نسخه پلاگ‌اين Paginate را نمايش می‌دهد.

  • MTPaginatePreviousPageLink

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

    <MTPaginateIfPreviousPage_>
        <a href="<$MTPaginatePreviousPageLink$>">صفحه قبل</a>
    </MTPaginateIfPreviousPage_>

  • MTPaginateNextPageLink

    اين تگ نشانی صفحه بعدی را نمايش می‌دهد. در صورتی که صفحه جاری صفحه آخر يا تنها صفحه باشد اين تگ يک رشته خالی را برمی‌گرداند. برای نمايش لينک صفحه بعدی در صورت وجود آن می‌توانيد از اين کد استفاده کنيد:

    <MTPaginateIfNextPage_>
        <a href="<$MTPaginateNextPageLink$>">صفحه بعد</a>
    </MTPaginateIfNextPage_>

  • MTPaginateAllPagesLink

    از اين تگ برای نمايش نشانی صفحه‌ای که محتويات همه صفحات را باهم در يک صفحه نمايش می‌دهد استفاده می‌شود. برای نمايش لينک صفحه‌ای که محتوات همه صفحات را باهم نمايش می‌دهد (در صورتی که چند صفحه وجود داشته باشد) از اين کد استفاده کنيد:

    <MTPaginateIfMultiplePages>
        <a href="<$MTPaginateAllPagesLink$>">همه صفحات</a>
    </MTPaginateIfMultiplePages>

  • MTPaginateNavigator

    اين تگ فهرستی از صفحات ايجاد شده را نمايش می‌دهد. با خصوصيات زير می‌توانيد طريقه نمايش فهرست را تعيين کنيد.

    • style="navigator style"

      اين خصوصيت نوع فهرست را تعيين می‌کند. شما می‌توانيد از يکی از مقادير زير استفاده کنيد: (مقدار پيش‌فرض ‘links’ است.)

      • links برای 1 | 2 | 3 | 4
      • popup برای
         
    • format="%d"

      با استفاده از اين خصوصيت می‌توان متن مربوط به لينک‌ها را تعيين کرد. برای مثال برای نمايش: «صفحه 1 | صفحه 2 | صفحه 3 | صفحه 4» از کد زير بايد استفاده کنيد:

      <$MTPaginateNavigator format="صفحه %d">

    • format_title="%d"

      با استفاده از اين خصوصيت می‌توان عنوان لينک‌ها را تعيين کرد. در بعضی از مرورگرها وقتی نشانگرموس را روی لينک ببريد، اين عنوان نمايش پيدا می‌کند. برای مثال، برای قرار دادن: «صفحه (شماره صفحه)» برای عنوان لينک‌ها از کد زير بايد استفاده کنيد:

      <$MTPaginateNavigator format_title="صفحه %d">

    • format_current="%d"

      با استفاده از اين خصوصيت می‌توان نوع نمايش متن مربوط به صفحه جاری را تعيين کرد. برای مثال، برای بزرگتر کردن صفحه جاری « 1 | 2 | 3 | 4» از اين کد استفاده کنيد: (کد مربوط به بزرگ کردن نوشته "<font size=+1>%d</font>" به صورت معمول قابل استفاده نيست. علامت "<" بايد تبديل به "&lt;" و علامت ">" بايد تبديل به "&gt;" شود.)

      <$MTPaginateNavigator format_current="&lt;font size=+1&gt;%d&lt;/font&gt;">

    • format_all="text"

      وقتی اين خصوصيت تعيين می‌شود به ليست لينک‌ها، لينکی به صفحه‌ای که همه مطالب صفحات را باهم نمايش می‌دهد، اضافه می‌شود. برای مثال برای نمايش: «همه 3 صفحه | صفحه 1 | صفحه 2 | صفحه 3» از کد زير بايد استفاده کنيد:

      <$MTPaginateNavigator format_all="همه %d صفحه">

    • format_all_title="text"

      با استفاده از اين خصوصيت می‌توان عنوان لينک‌ صفحه‌ای که همه مطالب را باهم نمايش می‌دهد را تعيين کرد. در بعضی از مرورگرها وقتی نشانگر موس را روی لينک ببريد، اين عنوان نمايش پيدا می‌کند. برای مثال، برای قرار دادن متن: «نمايش همه صفحات باهم» برای عنوان اين لينک‌ از کد زير بايد استفاده کنيد:

      <$MTPaginateNavigator format_all="همه صفحات" format_all_title="نمايش همه صفحات باهم">

    • format_all_current="text"

      با استفاده از اين خصوصيت می‌توان متنی که در صورت انتخاب صفحه «همه صفحات» نمايش داده می‌شود را تعيين کرد. برای مثال برای نمايش: «[ همه صفحات ] | صفحه 1 | صفحه 2 | صفحه 3» از کد زير بايد استفاده کنيد:

      <$MTPaginateNavigator format_all="All Pages" format_all_current="[ همه صفحات ]">

    • place_all="before" يا "after"

      اين خصوصيت مکان لينک صفحه «همه صفحات» تعيين می‌کند. برای قرار گرفتن لينک صفحه «همه صفحات» در قبل از ليست صفحات از کلمه "before" و برای قرارگيری آن بعد از ليست از "after" استفاده کنيد. کد زير لينک صفحه «همه صفحات» را بعد از ليست صفحات قرار می‌دهد:

      <$MTPaginateNavigator format_all="همه صفحات" placement_all="after">

    • list_pages="before" يا "after" يا "all"

      اين خصوصيت صفحاتی را که ليست بايد نمايش دهد را مشخص می‌کند. "all" برای نمايش همه صفحات: «1 | 2 | 3 | 4» ، "after" برای نمايش صفحات بعد از صفحه جاری: «3 | 4» و "before" برای نمايش صفحات قبل از صفحه جاری: «1». برای مثال کد زير فقط ليست صفحات قبل از صفحه جاری را نمايش می‌دهد:

      <$MTPaginateNavigator list_pages="before">

    • separator=", "

      اين خصوصيت علامتی را که لينک‌ها را از هم جدا می‌کند را تعيين می‌کند. به صورت پيش‌فرض علامت « | » لينک‌ها را از هم جدا می‌کند: «1 | 2 | 3 | 4». برای جدا کردن لينک‌ها با کاما «1، 2، 3، 4» از اين کد بايد استفاده کنيد:

      <$MTPaginateNavigator separator=", ">

    • target="name"

      اين خصوصيت محل باز شدن لينک‌ صفحات (مثلا در پنجره جديد يا يک فريم مشخص) را تعيين می‌کند. برای مثال، کد زير باعث بازشدن صفحات در يک پنچره جديد می‌شود:

      <$MTPaginateNavigator target="_blank">

تگ‌های مربوط به شماره صفحات:

  • MTPaginateNumPages
    اين تگ تعداد صفحات را نمايش می‌دهد.
     
  • MTPaginateCurrentPage
    اين تگ شماره صفحه جاری را نمايش می‌دهد.
     
  • MTPaginatePreviousPage
    اين تگ، در صورت وجود، شماره صفحه قبلی را نمايش می‌دهد.
     
  • MTPaginateNextPage
    اين تگ، در صورت وجود، شماره صفحه بعدی را نمايش می‌دهد.
     
  • MTPaginateNumSections
    اين تگ نشان می‌دهد که محتويات شما به چند بخش تقسيم شده است. (برای اين‌که در وسط يک پاراگراف صفحه شکسته نشود، بايد مطلب را به بخش‌های منطقی تقسيم کرد تا وقتی که لازم شد صفحه جديد ساخته شود، شکستی صفحه در بين بخش‌ها صورت بگيرد.)
     
  • MTPaginateTopSection
    اين تگ شماره اولين بخش داخل صفحه جاری را نمايش می‌دهد.
     
  • MTPaginateCurrentSection
    اين تگ شماره بخش جاری را نمايش می‌دهد.
     
  • MTPaginateBottomSection
    اين تگ شماره آخرين بخش داخل صفحه جاری را نمايش می‌دهد.

در بخش بعدی تعداد ديگری از تگ‌ها را شرح خواهم داد.

[ 08:04 PM ]   .   [ Comments (180) ]

 

 

October 07, 2005

 
 
 

قسمت کردن مطالب به چند صفحه در MT

در مواقعی که مطالب صفحه طولانی و سنگين می‌شنود، خوب است که مطلب را به چند صفحه کوچک‌تر تقسيم کرد. اين کار علاوه‌بر کاهش زمان باز شدن صفحات، باعث زيبا شدن و حرفه‌ای‌تر به نظر آمدن صفحات نيز می‌شود. در MT اين کار با استفاده از پلاگ‌اين Paginate به‌راحتی قابل انجام است.

پلاگ‌اين Paginate را می‌توانيد از اينجا دریافت کنيد.

نکته مهم: اين پلاگ‌اين کد PHP توليد می‌کند و برای استفاده از آن سرور شما بايد از PHP پشتيبانی کند و پسوند صفحات وبلاگ شما نيز بايد PHP باشد.

برای تغيير پسوند قالب‌های صفحات index (صفحات اصلی وبلاگ) در قسمت “Templates” قالب مورد نظر خود را انتخاب کنيد و در بخش “Output File” پسوند فايل را عوض کنيد. برای تغيير پسوند صفحات آرشيو وارد بخش “weblog config” و سپس “Preferences” شويد و در بخش “File extension for archive files” پسوند مورد نظر خود را وارد کنيد. بعد از انجام اين تغييرات وبلاگ را بازسازی کنيد.

اين پلاگ‌اين به‌طور خودکار محتويات يک صفحه طولانی را به چند صفحه تقسيم می‌کند. شما قادريد به کاربران اجازه دهيد بين صفحات با لينک‌های قبل و بعد، فهرستی از شماره صفحات ( 1 | 2 | 3 | 4 ) و يا فهرست بازشو () رفت و آمد کنند. شما قادر خواهيد بود حداکثر اندازه هر صفحه را تنظيم کنيد.

اين پلاگ‌اين برای اين‌که در وسط جملات يا پاراگراف‌ها و کلا جا‌های نامناسب صفحه شکسته نشود، صفحه شما را به بخش‌های مناسب تقسيم می‌کند و شکستن صفحه را فقط در بين اين بخش‌ها انجام می‌دهد. شما قادر خواهيد بود به عنوان مثال هر پاراگراف را در يک بخش قرار دهيد تا صفحه در وسط يک پاراگراف شکسته نشود.

در مثال زير شما يک قالب ساده که با استفاده از اين پلاگ‌اين ساخته شده است را مشاهده می‌کنيد. اين قالب لينک و خلاصه 20 مطلب آخر را نمايش می‌دهد. اگر صفحه شما از 1000 بايت بيشتر حجم پيدا کند در نقطه (<$MTPaginateSectionBreak$>) شکسته خواهد شد و يک صفحه جديد به آن اضافه خواهد شد. اگر بيش از يک صفحه وجود داشته باشد، ليستی جهت پرش بين صفحات نمايش خواهد داد:

<MTPaginate>
  <h1><$MTBlogName$></h1>
  <MTPaginateIfMultiplePages>
    <div><$MTPaginateNavigator style="popup"$></div>
  </MTPaginateIfMultiplePages>
  <MTPaginateContent max_bytes="1000">
    <MTEntries lastn="20">
      <p>
      <b><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></b>
      <$MTEntryExcerpt$>
      </p>
      <$MTPaginateSectionBreak$>
    </MTEntries>
  </MTPaginateContent>
</MTPaginate>

شرح کد

همين‌طور که می‌بينيد کل کد بين تگ MTPaginate قرار گرفته. برای استفاده از اين پلاگ‌اين بايد همه تگ‌های مربوط به پلاگ‌اين را در بين تگ MTPaginate قرار دهيد.

خط زير عنوان وبلاگ را نمايش می‌دهد:

<h1><$MTBlogName$></h1>

بخش بعدی کد باعث می‌شود در صورتی که چند صفحه وجود داشته باشد، فهرست صفحات نمايش داده شود. فهرست صفحات به صورت يک فهرست بازشو نمايش داده می‌شود. (برای نمايش فهرست به صورت لينک به جای “popup” از “links” استفاده کنيد):

<MTPaginateIfMultiplePages>
  <div><$MTPaginateNavigator style="popup"$></div>
</MTPaginateIfMultiplePages>

بخش بعدی تگ “MTPaginateContent” است. محتوياتی که می‌خواهيم صفحه‌صفحه شوند بايد داخل اين تگ قرار بگيرند. اين تگ نحوه تقسيم شدن صفحات را تعيين می‌کند. ما در اين‌جا حجم هر صفحه را 1000 بايت تعيين کرده‌ايم:

<MTPaginateContent max_bytes="1000">

بخش بعدی کد لينک و خلاصه 20 عدد از آخرين مطالب را نمايش می‌دهد. در اين بخش تگ “MTPaginateSectionBreak” باعث می‌شود هر يک از مطالب داخل يک بخش قرار بگيرد تا در وسط يک مطلب صفحه شکسته نشود:

<MTEntries lastn="20">
  <p>
    <b><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></b>
    <$MTEntryExcerpt$>
  </p>
  <$MTPaginateSectionBreak$>
</MTEntries>

در مثال زير يک قالب آرشيو تکی ساده که با استفاده از پلاگ‌اين Paginate ساخته شده است را مشاهده می‌کنيد. اين کد باعث قرارگيری هر پاراگراف (که با تگ p مشخص می‌شوند) در يک بخش می‌شود و هر صفحه بايد حداکثر 800 کلمه داشته باشد. هر صفحه شامل يک يا چند پاراگراف خواهد بود. (اگر يک پاراگراف بيشتر از 800 کلمه باشد، صفحه فقط شامل همان يک پاراگراف خواهد بود). اگر بيش از يک صفحه وجود داشته باشد فهرستی از صفحات را نمايش خواهد داد.

<MTPaginate>
  <h1><$MTEntryTitle$></h1>
  <MTPaginateIfMultiplePages>
    <div><$MTPaginateNavigator$></div>
  </MTPaginateIfMultiplePages>
  <MTPaginateContent max_words="800" section_start_tag="p">
    <$MTEntryBody$>
  </MTPaginateContent>
  <a href="<$MTBlogURL$>">Index</a>
</MTPaginate>

در بخش‌های بعدی تگ‌های پلاگ‌اين Paginate را با جزييات شرح خواهم داد.

[ 01:43 PM ]   .   [ Comments (165) ]

 

 

December 12, 2004

 
 
 

سيستم جديد بايگاني در MT 3 و نحوه استفاده آن در فارسي

يكي از خصوصيات جالب MT 3 نحوه آرشيو كردن مطالب است. به اين صورت كه براي هر ماه يك پوشه ايجاد ميكند و كليه آرشيوهاي تكي و ماهانه را داخل آن قرار مي‌دهد. به عنوان مثال براي مطالب ماه دسامبر سال 2004 پوشه‌اي به نام 2004/12 ايجاد ميكند و در فايل index پوشه (كه هنگام درخواست پوشه به طور خودكار ارسال مي‌شود) بايگاني ماهانه را قرار مي‌دهد و در كنار آن بايگانيهاي تكي مربوطه را ايجاد مي‌كند.

علاوه بر اين براي نام فايل بايگانيهاي تكي از عنوان مطلب استفاده مي‌شود. به عنوان مثال اگر عنوان مطلب "Archiving in mt 3" باشد نام فايل بايگاني تكي آن ممكن است به اين صورت درآيد: "archiving_in_mt_3.htm"

با اين امكانات مطالب به صورت بسيار بهتري در موتورهاي جستجو فهرست خواهند شد و براي يادآوري نشاني كاربران مشكلات كمتري خواهند داشت.
متاسفانه در صورتي كه عناوين مطالب به صورت غير لاتين باشد، عنوان براي نام فايل قابل استفاده نيست و mt مجبور است براي نام فايل از رشته درازي از حروف مثل "uoeioueuio.htm" استفاده كند كه اصلا مناسب نيست.

براي حل اين مشكل راه حلي پيدا كرده‌ام كه هر چند به صورت 100% مشكل را حل نمي‌كند ولي راه مناسبي براي استفاده از اين امكان جديد mt محسوب مي‌شود:

به قسمت Weblog config > Archive Files برويد و در جعبه متن مربوط به individual كدهاي زير را وارد كنيد:

<$MTEntryDate format="%Y"$>/<$MTEntryDate format="%m"$>/<MTIfNonEmpty tag="MTEntryKeywords"><$MTEntryKeywords dirify="1"$><MTElse><$MTEntryID pad="1"$></MTElse></MTIfNonEmpty>.html

از اين به بعد اگر براي مطلب خود يك عنوان انگليسي انتخاب كنيد و آن را در بخش Keywords (در صفحه New entry) وارد كنيد از آن براي نام فايل بايگاني تكي استفاده خواهد شد.

اين عنوان لازم نيست به فرمت مناسب نام فايل باشد، شما به هر صورتي كه نام را وارد كنيد به صورت خودكار به فرمت مخصوص نام فايل تبديل خواهد شد. در ضمن اگر در Keywords يك مطلب عنوان انگليسي مطلب را وارد نكنيد از ID مطلب در بانك اطلاعاتي براي عنوان فايل استفاده خواهد شد.

توجه:

  1. به طور پيش فرض بخش Keywords در صفحه New Entry نمايش داده نمي‌شود. براي نمايش اين قسمت، در صفحه New Entry روي لينك "Customize the display of this page." كليك كنيد و در صفحه‌اي كه باز مي‌شود Custom را انتخاب كنيد و كليه چك باكس‌هاي مربوطه را چك بزنيد.
     
  2. من قبلا در بعضي از راهنماهايي كه نوشته بودم براي Keywords استفاده كرده بودم بنابراين در صورت استفاده از اين راهنما قادر به استفاده از آنها نخواهيد بود.
     
  3. در صورتي كه قبلا از نسخه‌هاي قديمي mt استفاده ميكرديد مي‌توانيد همچنان از روش قبلي بايگاني mt استفاده كنيد. براي اين كار در بخش Weblog config > Preferences گزينه "Use Old-Style Archive Links" را چك بزنيد.

[ 10:28 AM ]   .   [ Comments (1) ]

 

 

September 26, 2004

 
 
 

ارتقاء نسخه‌هاي قبلي MT به نسخه 3.1

mt3-logo-small.gif

توجه: در نسخه 3 موويبل تايپ شما براي ايجاد بيشتر از يك كاربر و سه وبلاگ بايد License مخصوص را خريداري نماييد. اين محدوديت تنها به صورت قانوني است و هيچ گونه محدوديتي در نرم افزاري كه مي‌توانيد دريافت كنيد وجود ندارد. در صورت نقض اين قانون ممكن است سازندگان موويبل تايپ از سرور شما (كه غالبا در خارج از كشور قرار دارد) شكايت كنند كه اين امر موجب ايجاد مشكل مي‌شود. بنابراين با مسئوليت خود اين نسخه را نصب كنيد!

بهتر است ابتدا جهت جلوگيري از ايجاد هر گونه مشكلي از اطلاعات وبلاگ‌هاي خود نسخه پشتيبان تهيه كنيد.

گرفتن نسخه پشتيبان از اطلاعات موجود

براي ذخيره مطالب و كامنت‌ و ترك‌بك‌هاي مربوط به آنها به بخش Import/Export برويد و روي لينك "Export Entries From…" راست كليك كنيد و گزينه Save Target As… را انتخاب كنيد. در اينجا از شما محل ذخيره شدن اطلاعات سوال مي‌شود. بهتر است مكاني را انتخاب كنيد كه بعدا راحت بتوانيد آن را پيدا كنيد. اين كار را براي همه وبلاگ‌ها تكرار كنيد.

بهتر است همه قالب‌ها را هم ذخيره كنيد.

دريافت نسخه upgrade

نسخه upgrade شامل فايل‌هايي است كه براي ارتقاء MT لازم هستند. اين فايل‌ها شامل اسكريپت‌هاي مربوط به خود MT و تعدادي اسكريپت براي نصب نسخه جديد هستند.

براي دريافت نسخه upgrade به اين صفحه مراجعه كنيد و روي لينك Free download كليك كنيد. سپس در صفحه‌اي كه باز مي‌شود، گزينه I accept را چك بزنيد و روي كليد Continue كليك كنيد.

در صفحه بعد در صورتي كه قبلا در TypeKey عضو شده‌ايد، روي لينك Log in كليك كنيد و بعد از وارد كردن نام كاربري و پسورد، روي كليد Log in كليك كنيد. در صورتي كه ثبت نام نكرده‌ايد، روي Register كليك كنيد و بعد از وارد كردن مشخصات مورد نظر روي Sign up كليك كنيد.

در صفحه بعد (Download Movable Type) از ليست Select the distribution گزينه Upgrade version و از ليست Select download format گزينه zip را انتخاب كنيد. سپس كليد Download Movable Type را بزنيد و محل ذخيره را مشخص كنيد.

Upload فايل‌ها

بعد از باز كردن فايل zip به‌جز پوشه‌هاي doc و images و فايل‌هاي mt.js و style.css همه فايل‌ها را در مكان فعلي فايل‌هاي mt آپلود كنيد. دقت كنيد كه حتما اين فايل‌ها را در حالت ASCII آپلود شوند.

سپس فايل‌هاي style.css و mt.js و پوشه doc را در حالت ASCII و پوشه images را در حالت binary داخل شاخه‌اي كه فايل‌هاي استاتيك mt در آن قرار دارند آپلود كنيد. براي تشخيص مكان فايل‌هاي استاتيك فايل mt.cfg را كه داخل شاخه‌اي كه mt نصب شده قرار دارد باز كنيد و در آن به دنبال خط StaticWebPath بگرديد. در آن خط آدرس فايل‌هاي استاتيك نوشته شده است.

تنظيم permission فايل‌ها

با برنامه FTP در شاخه‌ اصلي mt همه فايل‌هاي cgi را انتخاب كنيد و به همه آنها اختيار 755 دهيد. در برنامه WS_FTP براي اين كار روي فايل‌ها راست كليك كنيد و گزينه chmod را انتخاب كنيد و سپس به Owner همه اختيارات و به Group و Other اختيارات Read و Execute دهيد. (همه چك باكس‌هاي ستون اول و دو چك باكس بالا و پايين دو ستون باقي مانده را چك بزنيد.)

در internet explorer براي تغيير permission بايد فايل‌ها را يكي‌يكي انتخاب كنيد و بعد از راست كليك گزينه properties را انتخاب كنيد.

اجراي اسكريپت‌هاي مربوط به نصب نسخه جديد

  • در صورتي كه نسخه 3.0D و 3.1D را مي‌خواهيد ارتقاء دهيد:
    mt-upgrade31.cgi را اجرا كنيد.
     
  • در صورتي كه يكي از نسخه‌هاي 2.6 را مي‌خواهيد ارتقاء دهيد:
    فايل mt-upgrade30.cgi و سپس mt-upgrade31.cgi را اجرا كنيد.
     
  • در صورتي كه يكي از نسخه‌هاي 2.5 را مي‌خواهيد ارتقاء دهيد:
    فايل mt-upgrade26.cgi ، سپس mt-upgrade30.cgi و در آخر mt-upgrade31.cgi را اجرا كنيد.
     
  • در صورتي كه يكي از نسخه‌هاي 2.1 را مي‌خواهيد ارتقاء دهيد:
    فايل mt-upgrade25.cgi ، سپس mt-upgrade26.cgi و سپس mt-upgrade30.cgi و در آخر mt-upgrade31.cgi را اجرا كنيد.

حذف فايل‌هاي مربوط به upgrade

بعد از پايان ارتقاء به علل امنيتي بهتر است فايل‌هاي زير را از روي سرور حذف كنيد:

  • mt-upgrade20.cgi
  • mt-upgrade21.cgi
  • mt-upgrade25.cgi
  • mt-upgrade26.cgi
  • mt-upgrade30.cgi
  • mt-upgrade31.cgi

براي اطلاعات بيشتر مي‌توانيد به اين راهنما كه در سايت رسمي mt ارائه شده مراجعه نماييد.

[ 07:29 PM ]   .   [ Comments (0) ]

 

 

بقيه مطالب

 
 
 
 

 

 

استفاده از مطالب این وبلاگ فقط با اجازه نوید مجاهد مجاز می باشد