تبدیل قالب میترا از 1.0 به 1.5.9 :
این مطالب توسط seo در سایت جومفا نوشته شده بود که ترجمه راهنمای سایت RocketTheme برای تبدیل قالب جوملا 1.0 به 1.5 ، که ما برای میترا به کار بردیم.
فکر کنم همین قدر که گفتم به عنوان رعایت کپی رایت کافی باشد ، چون فکر نکنم لازم هم بود بگم چون خودم دستکاریش کردم.
با تشکر از seo
برای شروع کار تبدیل، کافیست که فایلهای index.php, templateDetails.php را ویرایش کنیم. مراحل کار بصورت زیر است:
1. ابتدا فایل index.php را در ادیتور دلخواه خود باز کرده و دستور زیر را پیدا می کنیم:
کد:
<?php
defined ('_VALID_MOS') or die ('Direct Access to this file is not allowed');
?>
حال دستور فوق را با دستور زیر جایگزین می کنیم:
کد:
<?php
defined( '_JEXEC' ) or die( 'Restricted index access' );
?>
بعد از دستور فوق عبارتهای مربوط به DOCTYPE را مشاهده می کنیم که یکی از بخشهای مهم فایل index.php به شمار می آید. در میترا 1.0 این دستورات به صورت زیر است:
کد:
<!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">
برای میترای 1.5.9 تغییرات زیر را اعمال می کنیم:
کد:
<!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 ?>" dir="<?php echo $this->direction; ?>">
با این تغییرات در واقع ما امکان استفاده از زبانهای بین المللی و همچنین تغییر جهت نوشتاری برای زبانهایی نظیر فارسی و عربی و ... را پیدا می کنیم.
مرحله بعدی ویرایش کدهای موجود در قسمت HEAD فایل index.php است. در نسخه های 1.0.x این دستورات در قسمت HEAD قرار می گرفتند:
کد:
<?php
if ( $my->id ) {
initEditor();
}
mosShowHead();
?>
<meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
در میترای 1.5.9 به جای استاده از کدهای فوق کافیست از دستور ساده تر زیر استفاده کنیم:
کد:
<jdoc:include type="head" />
مرحله بعدی، ویرایش کدهای مربوط به بارگذاری فایل CSS قالب و آیکون Favicon است. این کد ها در سری 1.0.x بصورت زیر می باشد:
کد:
<link href="<?php echo $mosConfig_live_site;?>/templates/
<?php echo $mainframe->getTemplate(); ?>/css/template_css.css"
rel="stylesheet" type="text/css" />
<!--[if lte IE 6]>
<link href="<?php echo $mosConfig_live_site;?>/templates/
<?php echo $mainframe->getTemplate(); ?>/css/template_ie.css"
el="stylesheet" type="text/css" />
<![endif]-->
<link rel="shortcut icon" href="<?php echo $mosConfig_live_site;?>
/images/favicon.ico" />
در سری 1.5 کدهای فوق به صورت زیر تغییر می کنند:
کد:
<link href="templates/<?php echo $this->template ?>/css/template_css.css"
rel="stylesheet" type="text/css" />
<!--[if lte IE 6]>
<link href="templates/<?php echo $this->template ?>/css/template_ie.css"
rel="stylesheet" type="text/css" />
<![endif]-->
<link rel="shortcut icon" href="images/favicon.ico" />
همانطور که می بینید، استفاده از دستور
کد:
<?php echo $mosConfig_live_site;?>
منسوخ شده و همچنین بجای دستور طولانی
کد:
<?php echo $mainframe->getTemplate(); ?>
از عبارت کوتاهتر
کد:
<?php echo $this->template ?>
استفاده شده است.
مرحله بعدی، ویرایش کدهای موجود در بخش Body فایل index.php است. در این قسمت کدهای مربوط به بارگذاری ماجولها، pathway و محتویات اصلی صفحه main body تغییر خواهند کرد.
همانطور که می دونید در نسخه های 1.0.x برای لود کردن ماجولها درون یک position خاص، از عبارت زیر استفاده می شد:
کد:
<?php mosLoadModules('position name', option); ?>
که position name نام موقعیتی بوده که ماجولهای تعریف شده در آن موقعیت در صفحه لود شوند و پارامتر option نحوه تولید خروجی HTML لازم برای نمایش محتویات ماجولها در صفحه می باشند که می تواند مقادیر -3,-2,-1,0,1 را به خود اختصاص دهد.
در نسخه 1.5 از دستور متفاوتی استفاده می شود:
کد:
<jdoc:include type="modules" name="position name" style="option" />
پارامتر option می تواند مقادیر زیر را به خود اختصاص دهد:
کد:
rounded(-3)
xhtml(-2)
raw(-1)
table(0)
horiz(1)
بطور مثال در هر کجای Body فایل Index.php دستور زیر را مشاهده کردید:
کد:
<?php mosLoadModules('right', -2); ?>
آنرا با عبارت زیر جایگزین کنید:
کد:
<jdoc:include type="modules" name="right" style="xhtml" />