خوش آمدید، مهمان - لطفا برای ثبت نام اینجا و یا برای ورود اینجا را کلیک کنید.
میتراجی پرشین |  یومیسیستم مدیریت محتوای ملی ایرانیانفروشگاه قالب های جوملاروح الله بلوردی
صفحه: [1]   پایین
  چاپ صفحه  
نويسنده موضوع: تبدیل قالب از 1.0.6 به 1.5.9  (دفعات بازدید: 2398 بار)
0 کاربر و 1 مهمان درحال دیدن موضوع.
poriia
مهمان
« : 01/24/09 15:25 »

سلام
واسه تبدیل قالب از 1.0.6 به 1.5.9 چه چیزایی باید عوض بشن؟
 خونسرد
خارج شده است
امیر حسین آستانه ها
مدیر کلابفا
کاربر حرفه ای
*****

Karma: +1/-1
آفلاین آفلاین

تعداد ارسال: 1499



WWW
« پاسخ #1 : 01/24/09 17:57 »

تبدیل قالب میترا از 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" />
« آخرين ويرايش: 01/24/09 18:03 توسط امیر حسین آستانه ها » خارج شده است

فروش ویژه سرور های مجازی ویندوز - پکیج ویژه
---
فضا : 10 گیگابایت / پهنای باند : 300 گیگابایت / RAM اختصاصی : 256 مگابایت / سیستم عامل اورجینال دارد
هزینه ماهانه - 14 هزار تومان
----
سایر مشخصات و امکانات
1 آدرس IP اختصاصی / پشتیبانی 24 ساعته / هزینه راه اندازی رایگان / دسترسی Administrator دارد / کرنل اختصاصی دارد / ریموت دسکتاپ دارد / مجازی شده توسط Hyper-V ماکروسافت / مکان سرور ها در آمریکا است / دیتاسنتر Softlayer و Hivelocity
----
سایر پیکج ها:
http://mihanserver.ir/vps/special-vps-plans-windows.html
امیر حسین آستانه ها
مدیر کلابفا
کاربر حرفه ای
*****

Karma: +1/-1
آفلاین آفلاین

تعداد ارسال: 1499



WWW
« پاسخ #2 : 01/24/09 18:01 »

ارتقا دستورات شرطی موجود در فایل index.php برای کنترل خاصیت collapse شدن موقعیتهای ماجولها و همچنین نحوه بارگذاری Pathway محتویات اصلی صفحه Main Body مورد بررسی قرار می گیرند. در پایان ویرایش فایل templateDetails.xml را توضیح داده خواهد شد.

یکی از نکات مهمی که در طراحی قالبهای میترا باید به آن دقت کرد، ایجاد حالت Collapsible برای position های قالب است. بطوریکه اگر در داخل یک Position هیچ ماژولی لود نشود، آن position نباید در صفحه بصورت یک جای خالی نمایش داده شود. به این ویژگی Collapsible بودن position های قالب گفته می شود. در نسخه های سری 1.0.x برای بوجود آموردن چنین امکانی، از دستورات شرطی برای بررسی وجود ویا عدم وجود ماجولها درون position مربوطه استفاده می شد. بطور مثال، برای بررسی اینکه آیا ماژولی در موقعیت Left وجود دارد یا نه از دستور زیر استفاده می شود:

کد:

<?php if (mosCountModules ('left')) : ?>


بنابراین، در هر کجا فایل index.php که به دستورات فوق برخورد کردیم، کافیست معادل آنرا برای 1.5.9 بصورت زیر قرار دهیم:

کد:

<?php if($this->countModules('left')) : ?>


اگر با دستورات شرطی ترکیبی مانند عبارت زیر روبرو شدیم،

کد:

<?php if (mosCountModules('user5') or mosCountModules('user6')) :?>


معادل آن بصورت زیر خواهد بود:

کد:

<?php if ($this->coundModules('user5 or user6')) :?>


آخرین مرحله از ویرایش فایل index.php تغییر دستورات مربوط به بارگذاری Pathway و MainBody است. در نسخه های 1.0.x برای لودکردن Pathway از دستور زیر استفاده می شد.

کد:

<?php mosPathway(); ?>


در نسخه های 1.5.9 برای نمایش Pathway از عبارت زیر استفاده می شود:

کد:

<jdoc:include type="modules" name="breadcrumb" style="raw" />


به عبارتی دیگر، Pathway بصورت یک ماجول در نسخه های 1.5.9 در آمده است.

همچنین، در نسخه 1.0.x برای بارگذاری محتویات اصلی صفحه از دستور:

کد:

<?php mosMainBody(); ?>


استفاده می شد که در نسخه های 1.5.9 ازعبارت جایگزین زیر استفاده می شود:

کد:

<jdoc:include type="component" />


در اینجا ویرایش فایل index.php  به پایان می رسد. در قسمت بعدی نحوه ویرایش فایل templateDetails.xml را بررسی می کنیم.

ویرایش فایل templateDetails.xml

آخرین مرحله در ارتقای قالبهای 1.0.x به 1.5.x ویرایش فایل xml قالب است. این فایل را در ادیتور دلخواه خود باز کرده و در ابتدا دستور زیر را پیدا می کنیم:

کد:

<mosinstall version="1.0" type="template">


وبا دستور زیر جایگزین می کنیم:
کد:

<install version="1.5" type="template">


همچنین تگهای پایانی رو هم به همین صورت ویرایش می کنیم، یعنی به جای
کد:

</mosinstall>

از تگ
کد:

</install>

استفاده می کنیم.

مرحله بعدی در ویرایش فایل xml تعریف position هایی است که درون index.php از آنها استفاده کرده ایم. برای این منظور از دستورات زیر استفاده می کنیم:
کد:

<positions>
<position>top</position>
<position>left</position>
<position>right</position>
<position>user1</position>
...
</positions

>

همچنین برای استفاده از سیستم یونیکد، دستور زیر را پیدا کرده:

کد:

<?xml version="1.0" encoding="iso-8859-1" ?>


و encoding را به utf-8 تغییر می دهیم:

کد:

<?xml version="1.0" encoding="utf-8" ?>


خارج شده است

فروش ویژه سرور های مجازی ویندوز - پکیج ویژه
---
فضا : 10 گیگابایت / پهنای باند : 300 گیگابایت / RAM اختصاصی : 256 مگابایت / سیستم عامل اورجینال دارد
هزینه ماهانه - 14 هزار تومان
----
سایر مشخصات و امکانات
1 آدرس IP اختصاصی / پشتیبانی 24 ساعته / هزینه راه اندازی رایگان / دسترسی Administrator دارد / کرنل اختصاصی دارد / ریموت دسکتاپ دارد / مجازی شده توسط Hyper-V ماکروسافت / مکان سرور ها در آمریکا است / دیتاسنتر Softlayer و Hivelocity
----
سایر پیکج ها:
http://mihanserver.ir/vps/special-vps-plans-windows.html
poriia
مهمان
« پاسخ #3 : 01/24/09 18:34 »

ممنون
روش کار می کنم Roll Eyes
خارج شده است
poriia
مهمان
« پاسخ #4 : 01/25/09 02:56 »

<?php if (mosCountModules('user5') or mosCountModules('user6')) :?>

اگه دستور بالا ترکیبی نبود به چه شکل باید به کار برد؟ مثل این:
                  if (mosCountModules( "user2" ))
آخه توی اجرا ارور میده

Parse error: parse error in f:\install\easyphp1-8\www\joomla1-5-9_jpersian_full_package_farsi\templates\toranj\index.php on line 126


ضمنا این دو قسمت توی قالب من نیست!

<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" />

و

<?php mosPathway(); ?>

« آخرين ويرايش: 01/25/09 02:58 توسط پوریا عرب » خارج شده است
حسین محکم کار
مدیر کلابفا
کاربر نیمه حرفه ای
*****

Karma: +1/-0
آفلاین آفلاین

تعداد ارسال: 345



WWW
« پاسخ #5 : 01/25/09 07:36 »

ببينيد اين تغيييرات به طور كلي آورده شده است اگر بعضي از كدها در قالبتون نيست خوب تغيييرشون نديد. در ضمن از قالبهاي رايگان كه براي جوملا 1.5 هست غافل نشيد راهنماي خوبي هستش
خارج شده است

تلفن تماس:09124372370
ایرانسل:09371086369

ثبت دومین،سرویس میزبانی و نصب رایگان میتراو جوملا
poriia
مهمان
« پاسخ #6 : 01/26/09 00:04 »

بسیار عالی بود.
موفق شدم که تبدیل رو انجام بدم.
فقط چند تا نکته واسه دوستانی که این تاپیک رو می بینن:

دو خط
<?php echo $mosConfig_live_site;?>  و  <?php echo _DIRECTION;?>

 در 1.0.6 چند بار تکرار شده و موقع تغییر دادن به این دو خط (به ترتیب)
<?php echo $this->baseurl ?>  و  <?php echo $this->language; ?>

 مد نظرشون باشه که باید همه تغییر کنن
خارج شده است
حسین محکم کار
مدیر کلابفا
کاربر نیمه حرفه ای
*****

Karma: +1/-0
آفلاین آفلاین

تعداد ارسال: 345



WWW
« پاسخ #7 : 01/26/09 13:40 »

حالا كه موفق شديد شيرينيش يادتون نره Roll Eyes Tongue
خارج شده است

تلفن تماس:09124372370
ایرانسل:09371086369

ثبت دومین،سرویس میزبانی و نصب رایگان میتراو جوملا
poriia
مهمان
« پاسخ #8 : 01/31/09 20:30 »

حالا كه موفق شديد شيرينيش يادتون نره Roll Eyes Tongue
ببخشید این تاپیک رو الان دیدم.
شیرینیش هم هرچی بفرمایین در خدمتیم
 لبخند  شرمنده

خارج شده است
صفحه: [1]   بالا
  چاپ صفحه  
 
پرش به :  

UME