تعریف alias برای view helper در فریمورک زند ۲

واسه چند زبونه بودم سایت تو زندفرویمورک ۲ می شه از لایبرری I18n و Translator اش استفاده کرد که بطور پیش‌فرض تو ماژول Application تنظیم شده و می شه با استفاده از view helper ای که داره و از طریق متد translator ازش برای ترجمه متون استفاده کرد.

متأسفانه همینطور که اطلاع دارید، گاهی تعداد متونی یا کلماتی که ممکنه تو یه صفحه‌ای باشه زیاد می شن و تایپ کلمه translator واسه همشون هم خسته‌کننده هست و هم اینکه الکی صفحه رو شلوغ پلوغ می کنه :).

مهمتر از همشون، واسه افراد تنبلی مثل من بسیار بسیار آزار‌دهنده هستن D:

از اونجایی هم که من اطلاع دارم تو خود gettext از underline (_) واسه ترجمه استفاده می شه که نمی دونم چرا اینجا اینطوری نیست، شاید واسه خوانایی یا هر چی که باشه، متأسفانه به مزاج من خوش نمی یاد و آزار‌دهنده هستش واسم.

واسه حل این موضوع یه راهی که بود اینه که یه alias واسه این helper درست کنیم که بتونیم از underline بجای کلمه translator استفاده کرد.

برای این کار می شه از کد زیر جهت تعریف alias استفاده کرد:
public function onBootstrap($e)
{
    $e->getApplication()->getServiceManager()->get('ViewHelperManager')->setAlias('_', 'translate');
}


یه تکه کدی که در متد onBootstrap داخل کلاس Module قرار می گیره که ViewHelperManager رو از Service Manager می‌گیریم و alias ای واسه چیزی که مد نظرمون بود تعریف می‌کنیم و همین.

پست‌های معروف از این وبلاگ

آپدیت نشدن View و ثابت ماندن مقدار فیلد Input در Angular

رویدادها در MySQL

لیست شهر و استان‌های ایران