تاریخ شمسی برای blogger !
اندازه‌ی قلم متن
تخمین مدت زمان مطالعه‌ی مطلب: یک دقیقه


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

تاریخ انگلیسی بلاگر به صورت زیر است:
البته در قسمت تنظیمات تاریخ بلاگ ، فرمت را به این صورت انتخاب کردم تا بدون مشکل تبدیل شود.
<h2 class='date-header'>2008/12/17</h2>

یعنی ما باید متن هرچی heading شروع شده با h2 و دارای کلاس date-header را پیدا کنیم و بعد معادل فارسی آن‌را جایگزین کنیم.
این‌کار را با استفاده از jQuery به صورت زیر می‌توان انجام داد:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js' type='text/javascript'></script>
<script src='http://vahid.nasiri.googlepages.com/farsidate.js' type='text/javascript'></script>
<script type='text/javascript'>
$(document).ready(function() {
$("h2.date-header").each(function() {
var obj = $(this);
obj.html(ToPersianDate(new Date(obj.text())));
});

$("a[title='comment permalink']").each(function(){
var obj = $(this);
obj.html(ToPersianDateLong(obj.text()));
});

$("a.post-count-link").each(function() {
var obj = $(this);
obj.html(getBloggerPMonthNames(obj.text()));
});

$("a.post-count-link").each(function() {
var obj = $(this);
obj.html(getBloggerPYear(obj.text()));
});
});
</script>

قسمت ویرایش html چیدمان وبلاگ را باید ویرایش و چند سطر بالا را به آن اضافه کرد (بعد از title صفحه).

پ.ن.
Farsidate.js برای تبدیل تاریخ میلادی به شمسی جاوا اسکریپتی از اینجا قرض گرفته شد.

به روز رسانی،
  • نام ماه و سال سمت راست صفحه هم فارسی شد.
  • تاریخ کامنت‌ها هم فارسی شد.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، پنجشنبه ۲۸ آذر ۱۳۸۷، ساعت ۱۷:۵۸
    برای قسمت آرشیوش کاری نمیشه کرد آخه! اشکال اینجا هست. من هم از چنین چیزی استفاده می کنم که تیم بلاگر فارسی درستش کرده بود.اما خوب خیلی دلم می خواهد که آرشیو هم خورشیدی بشه...
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، پنجشنبه ۲۸ آذر ۱۳۸۷، ساعت ۲۰:۰۷
    چرا، اتفاقا بعد از اینکه این‌کار را انجام دادم یادم افتاد قسمت سمت راست فراموش شده :)
    این مورد را هم درست کردم. مطلب ارسالی هم به روز شد.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، جمعه ۲۹ آذر ۱۳۸۷، ساعت ۰۴:۰۰
    سلام،
    کار بسیار عالی انجام دادید، تا حالا نمونه ساخته شده با jquery را ندیده بودم.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، جمعه ۲۹ آذر ۱۳۸۷، ساعت ۱۶:۱۹
    آقا خیلی حال دادی! الان اینو گذاشتم روی وبلاگم. مبدل این با اون قلبیه فرقی نداره. فقط چیکار کنم که ساعت رو باسه تاریخ کامنت نشون بده و اسم قدیمی روز رو برای پست ها نشون بده؟
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، جمعه ۲۹ آذر ۱۳۸۷، ساعت ۱۶:۴۴
    ببخشید من انقدر اذیت می کنم، اون اسکریپتی که قبلا استفاده کرده بودم رو آردسش رو برات گذاشتم. کدوم یکی از این دو تا سریع تر اجرا می شن؟ چون تو این یکی jquery.min.js نداره، حجمش کمتره! اما خوب آرشیو رو خورشیدی نمی کنه! فعلا که این اسکریپت شما بهتره اما اون مشکل ساعت و اسم قدیمی روز رو دارم و اینکه نمی دونم چقدر تو سرعت لود صفحه ها تاثیر داره چون متاسفانه حجم صفحات وبلاگم تقریبا زیاده. بازهم متشکرم
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، جمعه ۲۹ آذر ۱۳۸۷، ساعت ۱۷:۱۳
    - ساعت کامنت‌ها رو درست کردم. اسکریپت farsidate.js و متن ارسالی فوق به روز شد.
    - در مورد حجم، چون این اسکریپت‌های لینک داده شده توسط مرورگر کش خواهند شد، فقط بار اول 50 کیلوبایت سربار دارد. در دفعه بعد بازدید، از کش خوانده می‌شود.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، جمعه ۲۹ آذر ۱۳۸۷، ساعت ۱۷:۲۹
    50 کیلوبایت خیلی زیاده رو قالب وبلاگ من چون خودش سنگینه! با این روشی که اینجا توضیح داده نمی شه نمایش آرشیو رو هم خورشیدی کرد:

    http://bahramshahrfa.blogspot.com/2007/12/persian-date-for-blogger.html
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، جمعه ۲۹ آذر ۱۳۸۷، ساعت ۱۷:۴۱
    این اسکریپت رو تبدیل به یک اسکریپت گریس مانکی کردم که امروز پست می‌کنم. به این صورت نیازی به تغییر در سایت نخواهد بود. خیلی ساده‌تر است و سرباری برای سایت ندارد.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، شنبه ۳۰ آذر ۱۳۸۷، ساعت ۱۰:۲۹
    آیا با این کدها فرمت آرشیو به تاریخ شمسی تبدیل میشه؟
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، شنبه ۳۰ آذر ۱۳۸۷، ساعت ۱۲:۳۰
    بله. سمت راست صفحه مشخص است.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، شنبه ۳۰ آذر ۱۳۸۷، ساعت ۱۸:۴۲
    آقای نصیری شرمنده . میخواستم بدونم اگر کدهای بخش دوم رو به وبلاگ اضافه کنیم ، آرشیو به خورشیدی تبدیل میشه؟ من این کار رو کردم و تغییریی نکرد

    من متوجه این بخش از توضیحاتتون نمیشم :ممکن بیشتر توضیح بدهید؟

    "یعنی ما باید متن هرچی heading شروع شده با h2 و دارای کلاس date-header را پیدا کنیم و بعد معادل فارسی آن‌را جایگزین کنیم."
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، شنبه ۳۰ آذر ۱۳۸۷، ساعت ۱۹:۴۸
    - لطفا آدرس بلاگی را که پس از اعمال کدهای فوق تغییری نکرده اینجا جهت بررسی ذکر بفرمائید.
    این فارسی سازی با قالب استاندارد بلاگر (که به نظر در اکثر موارد همین است) سازگار است.

    - اون مطلب رو درباره توضیح در مورد برنامه نویسی آن نوشتم و هنگام استفاده کاربردی ندارد و صرفا کپی کردن اطلاعات اسکریپت قسمت دوم مطلب بالا در header صفحه کفایت می‌کند.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۰۰:۲۷
    من فکر کنم مشکل مجتبی در $("h2.date-header").each(function() باشه... مثلا توی قالب من مطلب ها توی Span هستند و نویسنده از h2 استفاده نکرده!!!!! هرچند خیلی کاره اشتباهی است اما خوب من مجبور شدم موقتا span را توی اسکریپب جایگزین کنم.


    مجتبی جا داره اگه این اسکریپت اندک مشکلاتی که داره حل شه بره توی بلاگر فارسی اون هم به عنوان بهترین مطلب بلاگر فارسی.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۰۱:۰۴
    سلام
    دست شما درد نکند و کارتان آفرین دارد.
    یکی دو سالی است که از تاریخ فارسی در بلاگر استفاده میکنم. علت هم روشن است چون بازدیدکنندگان ساکن ایران درک روشنی از تاریخ میلادی ندارند. از طرف دیگر مشکل دیگری در اینصورت به وجود »یاید . متاسفانه واقعیت اینست و کراراً مشاهده شده است که ساکنین خارج از کشور تاریخ شمسی را گم میککنند و درک درستی از زمان به تاریخ شمسی ندارند.

    راه حل من دستکاری در قالب بلاگر و قرار دادن هر دو در کنار هم بوده است.

    نمیدانم! اگر برایتان امکان پذیر باشد که ورژن دیگری را هم تهیه کنید که هر دو را داشته باشد بسیار مطلوب است و جهت به کار گیری کار خوب شما من مجبور به سر و کله زدن با قالب بلاگر نمیشوم.

    کمان میکنم موضوعی که گفتم یعنی داشتن هر دو تاریخ شمسی و میلادی در کنار هم یک نیاز واقعی است که تقرباً در اینباره بحثی نشده است ئ وراه حل آسانی هم برای آن نبوده است
    بازهم ممنون و موفق باشید
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۰۳:۰۳
    سلام
    - میلادی را هم به روش فارسی اضافه کردم :)

    - ضمنا اسکریپت گریس مانکی هم به روز شد تا با آن تداخل نکند.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۰۳:۲۸
    آقای نصیری سلام . من تغییرات رو در وبلاگم اعمال کردم و جواب گرفتم . فقط یک نکته اینکه میشه توی این کد تغییری اعمال کنید که فقط آرشیو رو به شمسی تبدیل کنه و تاریخ پستها تبدیل نشه؟ اینطوری بهتره
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۰۴:۱۹
    برای این‌کار کافی است چهار سطر مربوط به h2.date-header و چهار سطر a[title='comment permalink'] را حذف کنید.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۱۲:۳۰
    سلام،
    ممنون از این مطلب خوب. برای من همه قسمت‌ها را به جز commentها درست کرد.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، یکشنبه ۱ دی ۱۳۸۷، ساعت ۱۲:۴۴
    سلام
    کامنت‌های بلاگ شما چون در خارج از صفحه وبلاگ صورت می‌گیرد اسکریپت‌های فارسی سازی روی آن اثری ندارند. (فکر کنم این مورد در تنظیمات وبلاگ قابل تنظیم است که کامنت‌ها کجا باز شوند.)
    اینجا توضیح داده شده:
    http://web3b.wordpress.com/2008/09/07/blogger-admin/
    قسمت "کادر نظرات در وبلاگهای بلاگر در ذیل مطالب، مانند وردپرس"
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، دوشنبه ۲ دی ۱۳۸۷، ساعت ۱۲:۱۸
    سپاس از توجه شما،
    به نظر می‌آید که یک باگ کوچولو هم در محاسبه تاریخ آرشیوها وجود دارد. من دیروز (۱ دی) یک مطلب به بلاگم پست کردم که خود بلاگ هم تاریخ آن را ۱ دی نمایش می‌دهد ولی این مطلب در قسمت آرشیو وبلاگ در مدخل آذرماه آمده است نه دی ماه.
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، دوشنبه ۲ دی ۱۳۸۷، ساعت ۱۲:۳۶
    بله. این همان موردی است که دوستان در بالا هم به آن اشاره کردند. در نحوه رندر کردن گوگل تغییری حاصل نشده. بنابراین تا آخر برج میلادی در همین آذر باقی خواهد ماند.
    نظر شما چیست؟
    1- ماه به صورت آذر-دی نمایش داده شود
    2- ماه اگر مربوط به سال قبل شمسی بود ، عدد سال هم به آن اضافه شود. (مثلا اسفند سال قبل که دوستان به آن اشاره کردند)

    یا پیشنهاد بهتری دارید؟
  • #
    ‫۱۵ سال و ۱۰ ماه قبل، سه‌شنبه ۳ دی ۱۳۸۷، ساعت ۱۱:۴۷
    به نظر من مورد اول بهتر است چون اگر سال را هم به آن اضافه کنید زیادی شلوغ می‌شود.
  • #
    ‫۱۵ سال و ۷ ماه قبل، یکشنبه ۲۵ اسفند ۱۳۸۷، ساعت ۱۷:۲۴
    این کار شما برای کسانی که از template کلاسیک استفاده نمیکنن کار میکنه؟
  • #
    ‫۱۵ سال و ۷ ماه قبل، یکشنبه ۲۵ اسفند ۱۳۸۷، ساعت ۱۸:۱۲
    قالب‌های غیر رسمی هم اگر سلکتورهای بلاگر را حفظ کرده باشند، بله کار می‌کند.
    برای مثال اگر یک قالب غیر رسمی در تگ h2 کلاس استاندارد date-header را حفظ کرده، بله کار می‌کند.

    در کل اگر می‌خواهید تست کنید که این روش روی سایت شما هم جواب میده یا نه، اسکریپت گریس مانکی زیر را نصب کنید:
    https://www.dntips.ir/2008/12/blog-post_19.html
  • #
    ‫۱۵ سال و ۴ ماه قبل، سه‌شنبه ۹ تیر ۱۳۸۸، ساعت ۰۳:۵۲
    سلام من این رو بین head و /head قرار دادم ولی کار نکرد.
    آدرس من :
    mortalfun.blogspot.com
  • #
    ‫۱۵ سال و ۴ ماه قبل، سه‌شنبه ۹ تیر ۱۳۸۸، ساعت ۰۵:۳۴
    سلام،
    اگر کد را مستقیما کپی کردید یک سری شماره خط اضافه شده که باید پاک شود.
    1.
    2.
    3.
    ...
    25.
    این‌ها اضافی است و نباید باشد.
  • #
    ‫۱۵ سال و ۴ ماه قبل، چهارشنبه ۱۰ تیر ۱۳۸۸، ساعت ۱۳:۵۳
    مورد قبلی درست شد(مرسی)
    بعد این که نمیشه کاری کرد که به جای این که مثلا می رو با خرداد یکی بگیره تو آرشیو ماه های صحیح فارسی نوشت
    اطلا یه کار دیکه آیا بایگانی کاملا فارسی فارق از بایگانی بلاگر وجود داره؟
  • #
    ‫۱۵ سال و ۴ ماه قبل، چهارشنبه ۱۰ تیر ۱۳۸۸، ساعت ۱۴:۳۰
    این باگ بایگانی هنوز برطرف نشده ...
  • #
    ‫۱۵ سال و ۳ ماه قبل، جمعه ۱۹ تیر ۱۳۸۸، ساعت ۰۸:۰۳
    از زحمتی که کشیده اید ممنونم.
  • #
    ‫۱۵ سال و ۲ ماه قبل، پنجشنبه ۲۲ مرداد ۱۳۸۸، ساعت ۱۴:۵۸
    آقای نصیری! ممنون!
  • #
    ‫۱۵ سال و ۱ ماه قبل، پنجشنبه ۱۹ شهریور ۱۳۸۸، ساعت ۲۲:۲۳
    سلام،
    قسمت "اگر کد را مستقیما کپی کردید یک سری شماره خط اضافه شده .... اضافی است" را مطالعه بفرمائید ( 2 پاسخ بالاتر بنده).
  • #
    ‫۱۴ سال و ۱۳ ماه قبل، شنبه ۴ مهر ۱۳۸۸، ساعت ۰۳:۲۶
    سلام وحید جان . آقا کدت عالی بود . فقط این آخرین نظرات رو از کجا بذارم ؟ widget خودش کار نمی کنه .
    و اینکه چون بلاگ شیر نیست نمی شه از فید استفاده کرد .
  • #
    ‫۱۴ سال و ۱۳ ماه قبل، شنبه ۴ مهر ۱۳۸۸، ساعت ۰۳:۴۷
    سلام
    راه استاندارد آن‌را اینجا توضیح داده‌ام:
    https://www.dntips.ir/2009/06/blog-post.html
    نیاز به فید نظرات سایت دارد و اگر share نیست با این راه نمی‌شود.
    راه دیگر هم اینجا توضیح داده شده است:
    http://www.google.com/support/blogger/bin/answer.py?hl=en&answer=42522
  • #
    ‫۱۴ سال و ۱۳ ماه قبل، یکشنبه ۵ مهر ۱۳۸۸، ساعت ۲۱:۱۰
    سلام آقای نصیری
    واقعاً خسته نباشید
    خیلی عالی و کاربردیه

    ببخشید
    فقط من یه مشکلی داشتم
    برای من زمان ثبت پست ها هنوز به صورت میلادی هستش
    یعنی اشکال کار کجاست ؟؟؟

    البته این 2 نکته رو اضافه کنم :
    1 - من از قالب فارسی سازی شده خود بلاگر فارسی استفاده می کنم
    2 - من کد ها رو درست در بخش انتهایی کد های قالب و قبل از html آخر وارد کردم

    آدرس من اینه :
    http://persianblackrose.blogspot.com/

    ممکنه مشکل از این 2 تا باشه ؟؟؟

    .
    .
    .

    و یک سوال هم از خدمتتون داشتم
    آیا این امکان وجود داره که بشه قسمتی به ساید بار اضافه کرد که در اون بازدید کنندگاه امکان گذاشتن کامنت رو داشته باشند ؟
    تقریباً یه چیز تو مایه های بخش کامنت 360 یاهو ؟؟؟

    .
    .
    .

    پیشاپیش از لطفتون ممنونم
  • #
    ‫۱۴ سال و ۱۳ ماه قبل، دوشنبه ۶ مهر ۱۳۸۸، ساعت ۰۱:۳۷
    - در قالب شما ابتدای صفحه یک سطر طولانی هست ... اون همون کل فایل jQuery است که به این صورت لحاظ شده و علت آن‌را هم نمی‌دانم و لزومی هم نداشته و صفحه را بی‌خود سنگین کرده.
    - شما می‌تونید اسکریپت‌ها را قبل از بسته شدن تگ body قرار بدید.
    - ضمنا کار ارائه شده در این مقاله، با قالب‌های جدید تهیه شده سازگار نیست. خبری از date-header و غیره در آن نیست و منصف باشید که فرصت این وجود ندارد که به ازای تک تک قالب‌ها یا تک تک افراد بلاگر این موارد بخواهند اصلاح شوند یا تغییر کنند.
    در کل تهیه کنندگان قالب‌ها می‌تونند این مورد را لحاظ کنند یا خیر.