کد php مربوط بخش head صفحه index.php قالب
برای قالب*هایی که از یک زبان استفاده میکنند (فارسی یا انگلیسی) از این کد استفاده می*کنیم.
<head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" /> </head>
برای قالب*های که از 2 زبان مختلف که یکی از آنها از راست به چپ است مثل فارسی ودیگری از چپ به راست است مثل انگلیسی (RTL یا LTR) استفاده می*کنند این کد را می*نویسیم:
نکته: دقت کنید زبان فارسی و عربی چون هردو RTL هستند از نوع اول استفاده می*کنیم.
<head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" /> <?php if($this->direction == 'rtl') : ?> <link href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template_rtl.css" rel="stylesheet" type="text/css" /> <?php else: ?> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/css/template.css" type="text/css" /> <?php endif; ?> </head>
خط
<jdoc:include type="head" />
اطلاعات مربوط به header را در قالب*های [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] قرار می*دهد شامل اطلاعات متا و عنوان صفحه و ...
کدهای
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/system.css" type="text/css" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
برای اضافه کردن 2تا فایل css ای که تمام قالب*های [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] 1.5 از آنها استفاده میکنند.
کدهای php برای قسمت body فایل index.phpقالب
<body> <jdoc:include type="modules" name="top" /> <jdoc:include type="component" /> <jdoc:include type="modules" name="bottom" /> </body>
خیلی شگفت آور است؟ ولی حقیقت دارد همین کدها برای راه اندازی و ایجاد یک قالب [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] کفایت می*کند. در این حالت ما 2 position به نام*های top و bottom داریم و یک موقعیت برای نمایش مطالب و سایر componentها داریم.
دستور jdoc به [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] می*گوید که از سیستم مدیریت محتوا [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] یکسری منابع را فراخوانی (include) کند. Type مشخص کننده نوع آن منابع است دقت کنید که در اینجا type هم modules و هم component استفاده شده است.
وقتی در یک قسمت از فایل index.php می*نویسیم:
<jdoc:include type="modules" name="top" />
یعنی در آن قسمت از قالب یک position به نام top ایجاد کن. به جای top هر اسم دیگری می*تواند باشد ولی به این نکته توجه داشته باشید که قبلا این نام را در فایل templateDetails.xml به عنوان position مشخص کرده باشیم.
هنگامی در یک قسمت از فایل index.php قالب می*نویسیم:
<jdoc:include type="component" />
یعنی آن قسمت مکان کلیه مطالب (مقاله*ها و مطالبی که در مدیریت مطالب ایجاد می*شوند.) و کامپوننت*های [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] است. نوشتن این کد برای فایل index.php خیلی مهم است. شما می*توانید ماژول*های بیشتری در templateDetails.xml معرفی کرده و در صفحه index.php ایجاد نمایید. و در نهایت بستن تگ html به این صورت
</html>
انجام می*شود.
در نهایت کد صفحه index.php قالب [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] 1.5 ما به این صورت شد:
<?php defined( '_JEXEC' ) or die( 'Restricted access' );?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" > <head> <jdoc:include type="head" /> <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/mynewtemplate/css/template.css" type="text/css" /> </head> <body> <jdoc:include type="modules" name="top" /> <jdoc:include type="component" /> <jdoc:include type="modules" name="bottom" /> </body> </html>
در [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] 1.5 ما می*توانیم کل پوشه mynewtemplate با تمام فایل*ها و ساب فولدرها در پوشه templates [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] آپلود کنیم یا آن را zip کنیم و از مدیریت [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] در قسمت نصب و حذف اقدام به نصب این قالب کنیم.
بعد از نصب یا آپلود قالب باید به قسمت مدیریت قالب*ها برویم قالب mynewtemplate بر پیش فرض قرار دهیم.
نکاتی در مورد اضافه کردن عکس و فایل javascript و غیره در قالب
پیشتر گفتیم با صفحه index.php قالب همانند یک صفحه [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] رفتار کنید و در برخی موارد که نیاز به کد [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] دارد که در این مقاله آنرا آموزش می*دهیم. اگر شما یک عکس در فولدر images/stories داشته باشید و نام آن myimage.png باشد به صورت زیر در [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] اقدام به نمایش آن می*کنیم.
<img src="images/stories/myimage.png" alt="Custom image" />
اگر بخواهیم یک کلاس css به نام customImage به آن تصویر بدیم :
<img src="images/stories/myimage.png" alt="Custom image" class="customImage" />
استایل*های مربوط به cutomImage را می*توانیم در فایل template.css قالب بنویسیم.
ولی اگر این کدها در یک قالب [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] بنویسید تصویر مورد نظر را نمایش نمی*دهد ما بعد از هر src در صفحه index.php قالب [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] 1.5 باید کد
<?php echo $this->baseurl; ?>
را اضافه کنیم. یعنی برای نمایش عکس در فولدر images/stories با نام myimage.png باید
<img src="<?php echo $this->baseurl; ?>/images/stories/myimage.png" alt="Custom image" />
بنویسیم. دقت کنید که در این مثال پوشه images در داخل root [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] قرار دارد.
اگر همین عکس در پوشه image در داخل خود قالب (mynewtemplate) [مهمان/کاربر گرامی برای دیدن لینک ها ابتدا باید عضو سایت شوید و لاگین کنید برای ثبت نام اینجا کلیک کنید] بود باید به این صورت می*نوشتیم:
<img src="<?php echo $this->baseurl; ?> /templates/<?php echo $this->template;?>/images/myimage.png" alt="Custom image" />
علاقه مندی ها (Bookmarks)