سبد (0)

با یک کلیک بیاموز

سایت بیاموز، با بیش از 6000 مطلب رایگان و 1 هزار ساعت فیلم آموزشی در جهت هر چه آسانتر کردن یادگیری ایجاد شده است.

دسته‌بندی بیاموزها، در ادامه آمده است.

همان طور که ما در بررسی کدهای PHP که قالب beez2 را ایجاد کرده اند، به پیش می رویم، به کد زیر می رسیم:

Title

$app                = JFactory::getApplication();

در خط کد بالا، دو آیتم به نام های JFactory و getApplication داریم که در ادامه می خواهیم آنها را بررسی کنیم.

کاربرد JFactory چیست؟

با استفاده از JFactory می توانیم به اشیای بسیاری در هسته ی جوملا دسترسی پیدا کنیم. هنگامی که از JFactory

استفاده می کنید،متغیر شما تبدیل به یک شیء خواهد شد و عموما تنظیمات سایت جوملا 2.5 را در بر دارد.

بر اساس اسناد رسمی جوملا ، اشیای بیشتری نیز وجود دارند که می توانید آنها را فراخوانی نمایید.

دستور ()getApplication چه چیزی را برمی گرداند؟

با استفاده از کد زیر می توانیم محتوای شیء app$ را ببینیم. همان طور که می دانید مقدار app$ برابر با کد

()JFactory::getApplication است.

Title

$app                = JFactory::getApplication();
echo "<pre>"; print_r($app); echo "</pre>"; die();

همان طور که در کدهای زیر می بینید، هنگامی که متغیر app$ را برابر با ()JFactory::getApplication قرار می دهیم ،

اطلاعات زیادی درون این متغیر ذخیره می شوند:

در قالب از متغیر app$ چه استفاده ای می شود؟ 

اکنون می دانیم که متغیر app$ اطلاعات زیادی را دربر دارد اما می خواهیم بدانیم این اطلاعات چه کاربردی در قالب ما دارند؟

برای فهمیدن این نکته، به یک مثال که متغیر app$ در آن به کار رفته است توجه کنید:

Title

$templateparams     = $app->getTemplate(true)->params;

 به نظر می رسد که از متغیر app$ در کد بالا تنها برای گرفتن اطلاعاتی از فایل index.php در قالب beez2، استفاده می شود.

در این مورد، ما از app$ به همراه getTemplate params  استفاده کرده ایم تا ظاهرا پارامتر های قالبمان را به دست بیاوریم.

با استفاده از کد زیر خواهیم دید که چه مقادیری در متغیر templateparams$ ذخیره شده است:

Title

$templateparams     = $app->getTemplate(true)->params;
echo "<pre>"; print_r($templateparams); echo "</pre>"; die();

 نتیجه ی خط کد بالا تایید می کند که متغیر templateparams$ مقادیر پارامترهای قالب را دربر دارد:

Title

JRegistry Object
(
    [data:protected] => stdClass Object
        (
            [wrapperSmall] => 53
            [wrapperLarge] => 72
            [logo] => images/joomla_black.gif
            [sitetitle] => Joomla!
            [sitedescription] => Open Source Content Management
            [navposition] => left
            [templatecolor] => personal
        )

)

 از مقادیر قرمز رنگ بالا در کدهای زیر استفاده می کنیم (که در مقاله ی قبلی از آنها استفاده نمودیم):

Title

// get params
$color              = $this->params->get('templatecolor');
$logo               = $this->params->get('logo');
$navposition        = $this->params->get('navposition');

در نهایت می توان گفت که از دستور templateparams$ به صورت زیر استفاده می شود:

Title

$templateparams->get('sitetitle');
$templateparams->get('sitedescription');

چرا از دستور JFactory::getApplication در قالب خود استفاده کنیم؟ 

در بالا به شما نشان دادیم که چطور از دستور JFactory::getApplication در قالب خود استفاده کنید، اکنون می خواهیم به شما نشان دهیم که چرا از آن استفاده کنیم:

1. از دستور JFactory::getApplication برای ایجاد متغیری به نام app$ استفاده می کنیم:

Title

$app = JFactory::getApplication();

2. سپس از متغیر app$ برای ایجاد متغیر templateparams$ استفاده می کنیم:

Title

$templateparams = $app->getTemplate(true)->params;

3. در آخر نیز از متغیر templateparams$ برای به دست آوردن مقادیر زیر استفاده می کنیم:

Title

$templateparams->get('sitetitle')

و ...

Title

$templateparams->get('sitedescription')

بنا براین در پایان، به نظر می رسد که از دستور getApplication برای به دست آوردن title(عنوان) سایت و description(توضیحات)سایت استفاده می شود.  

منبع مقاله

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه