آخرین فعالیتهای کاربران
-
Administrator آواتار جدیدی بارگذاری کرد
-
Administrator همین الان بخش شبکه اجتماعی پرشیا سئو راه اندازی شد.
تبديل قالبهاي جوملا 1.0 به جوملا 1.5 |
| نوشته شده توسط رضا فرشباف |
| سه شنبه, 29 July 2008 21:58 |
|
برای شروع کار تبدیل، کافیست که فایلهای index.php, templateDetails.php را ویرایش کنیم. مراحل کار بصورت زیر است: <?php حال دستور فوق را با دستور زیر جایگزین می کنیم: <?php بعد از دستور فوق عبارتهای مربوط به DOCTYPE را مشاهده می کنیم که یکی از بخشهای مهم فایل index.php به شمار می آید. در جوملا 1.0.15 این دستورات به صورت زیر است: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" برای جوملای 1.5 تغییرات زیر را اعمال می کنیم: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" با این تغییرات در واقع ما امکان استفاده از زبانهای بین المللی و همچنین تغییر جهت نوشتاری برای زبانهایی نظیر فارسی و عربی و ... را پیدا می کنیم. <?php در جوملای 1.5 به جای استاده از کدهای فوق کافیست از دستور ساده تر زیر استفاده کنیم: <jdoc:include type="head" /> مرحله بعدی، ویرایش کدهای مربوط به بارگذاری فایل CSS قالب و آیکون Favicon است. این کد ها در سری 1.0.x بصورت زیر می باشد: <link href="/<?php echo $mosConfig_live_site;?>/templates/ در سری 1.5 کدهای فوق به صورت زیر تغییر می کنند: <link href="/templates/<?php echo $this->template ?>/css/template_css.css" همانطور که می بینید، استفاده از دستور <?php echo $mosConfig_live_site;?> منسوخ شده و همچنین بجای دستور طولانی <?php echo $mainframe->getTemplate(); ?> از عبارت کوتاهتر <?php echo $this->template ?> استفاده شده است. <?php mosLoadModules('position name', option); ?>که position name نام موقعیتی بوده که ماجولهای تعریف شده در آن موقعیت در صفحه لود شوند و پارامتر option نحوه تولید خروجی HTML لازم برای نمایش محتویات ماجولها در صفحه می باشند که می تواند مقادیر -3,-2,-1,0,1 را به خود اختصاص دهد. <jdoc:include type="modules" name="position name" style="option" /> پارامتر option می تواند مقادیر زیر را به خود اختصاص دهد: rounded(-3) بطور مثال در هر کجای Body فایل Index.php دستور زیر را مشاهده کردید: <?php mosLoadModules('right', -2); ?>آنرا با عبارت زیر جایگزین کنید: <jdoc:include type="modules" name="right" style="xhtml" /> یکی از نکات مهمی که در طراحی قالبهای جوملا باید به آن دقت کرد، ایجاد حالت Collapsible برای position های قالب است. بطوریکه اگر در داخل یک Position هیچ ماجولی لود نشود، آن position نباید در صفحه بصورت یک جای خالی نمایش داده شود. به این ویژگی Collapsible بودن position های قالب گفته می شود. در نسخه های سری 1.0.x برای بوجود آموردن چنین امکانی، از دستورات شرطی برای بررسی وجود ویا عدم وجود ماجولها درون position مربوطه استفاده می شد. بطور مثال، برای بررسی اینکه آیا ماجولی در موقعیت Left وجود دارد یا نه از دستور زیر استفاده می شود: <?php if (mosCountModules ('left')) : ?>بنابراین، در هر کجا فایل index.php که به دستورات فوق برخورد کردیم، کافیست معادل آنرا برای 1.5 بصورت زیر قرار دهیم: <?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 برای نمایش Pathway از عبارت زیر استفاده می شود: <jdoc:include type="modules" name="breadcrumb" style="raw" /> به عبارتی دیگر، Pathway بصورت یک ماجول در نسخه های 1.5 در آمده است. <?php mosMainBody(); ?> استفاده می شد که در نسخه های 1.5 ازعبارت جایگزین زیر استفاده می شود: <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> استفاده می کنیم. <positions> همچنین برای استفاده از سیستم یونیکد، دستور زیر را پیدا کرده: <?xml version="1.0" encoding="iso-8859-1" ?> و encoding را به utf-8 تغییر می دهیم: <?xml version="1.0" encoding="utf-8" ?> |
| آخرین بروزرسانی ( جمعه, 08 August 2008 08:38 ) |

همانطور که می دونید، برای اینکه قالبهای جوملا سری 1.0 را بتوان در نسخه های 1.5 مورد استفاده قرار داد، باید پلاگین legacy را فعال کرد ولی این روش توصیه نمی شود چرا که بسیاری از امکانات قالبهای 1.5 را از دست خواهیم داد. همچنین برخی از کلاسهای تعریف شده در خروجیهای تولید شده توسط هسته مرکزی 1.5 در فایل css نسخه های 1.0.x وجود ندارد لذا خروجی کاملآ یکسانی را دریافت نخواهیم کرد.