تشریح templateDetails.xml

چاپ

فایل templateDetails.xml  همواره باید در پوشه قالب جوملا موجود باشد . بعنوان مثال در قالب beez 

در جوملا این فایل در دایرکتوری زیر قرار دارد : 

templates/beez/templateDetails.xml/مسیر جوملا

در این مقاله به تشریح کامل این فایل می پردازیم پس تا آخر همراه ما باشید . 

در جوملا 3.3  در قالب beez3 که فایل templateDetails.xml قرار دارد در ابتدای این فایل کد های زیر آمده است:

Title

1 <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 2.5//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-  install.dtd">
3 <extension version="3.1" type="template" client="site">
4 <name>beez3</name>
5 <creationDate>25 November 2009</creationDate>
6 <author>Angie Radtke</author>
7 <authorEmail>این آدرس ایمیل توسط spambots حفاظت می شود. برای دیدن شما نیاز به جاوا اسکریپت دارید</authorEmail>
8 <authorUrl>http://www.der-auftritt.de</authorUrl>
9 <copyright>Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.</copyright>
10 <license>GNU General Public License version 2 or later; see LICENSE.txt</license>
11 <version>3.1.0</version>
12 <description>TPL_BEEZ3_XML_DESCRIPTION</description>

  در خط 1 گفته ایم که از xml  می خواهیم استفاده کنیم . 

در خط 2 : 

در خط 3  ورژن جوملا را وارد می کنیم . 

در خط 4 نام قالب را می نویسیم . 

در خط 5 تاریخ ایجاد قالب را می نویسیم . 

در خط 6 نام نویسنده ی قالب را می نویسیم . 

در خط 7 ایمیل نویسنده ی قالب را می نویسیم . 

در خط 8 آدرس سایت نویسنده را می نویسیم . 

در خط 9 متن کپی رایت را می نویسیم . 

در خط 10 لایسنس را می نویسیم . 

در خط 11 ورژن قالب را می نویسیم . 

در خط 12 یک توضیح در مورد قالب می آوریم  . 

همان طور که می بینید این توضیح به شکل یک متغیر با حروف بزرگ نوشته شده است . 

این متغیر در پوشه ی language در یک فایل با پسوند ini   تعریف شده است . 

در مورد افزونه هایی که درون خود جوملا وجود دارند فایل ini در جوملا در پوشه ی language

وجود دارد . اما در مورد افزونه هایی که جدا از فایل های جوملا هستند پوشه ی language  در خود این افزونه

وجود دارد . 

کسانی که ماژول ها را ترجمه می کنند در واقع همین فایل ini را ترجمه می کنند . 

در ادامه ی فایل templateDetails.xml داریم : 

Title

<files>
<folder>css</folder>
<folder>html</folder>
<folder>images</folder>
<folder>javascript</folder>
<folder>language</folder>
<filename>index.html</filename>
<filename>index.php</filename>
<filename>templateDetails.xml</filename>
<filename>template_preview.png</filename>
<filename>template_thumbnail.png</filename>
<filename>jsstrings.php</filename>
<filename>favicon.ico</filename>
<filename>component.php</filename>
<filename>error.php</filename>
</files>

 در این کد های بالا تمام فولدرها و فایل های درون پوشه ی beez3 برای جوملا تعریف شده اند . در تگ های folder فولدرها و محتویات

داخل آنها تعریف شده اند و در تگ های filename فایل های درون پوشه ی beez3 تک  تک تعریف شده اند . 

در ادامه کد های زیر را داریم : 

Title

<position>debug</position>
<position>position-0</position>
<position>position-1</position>
<position>position-2</position>
<position>position-3</position>
<position>position-4</position>
<position>position-5</position>
<position>position-6</position>
<position>position-7</position>
<position>position-8</position>
<position>position-9</position>
<position>position-10</position>
<position>position-11</position>
<position>position-12</position>
<position>position-13</position>
<position>position-14</position>
</positions>

 در کدهای بالا پوزیشن ها تعریف شده اند . پوزیشن ها در واقع همان مکان هایی هستند  که ما تعریف می کنیم تا ماژول ها  و ...

در آن مکان ها قرار بگیرند . در اینجا این کد ها تنها تعداد پوزیشن ها و نام آنها را برای جوملا تعریف می کنند . در واقع با نوشتن 

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

در ادامه کد های زیر را داریم : 

Title

<languages folder="language">
<language tag="en-GB">en-GB/en-GB.tpl_beez3.ini</language>                    
<language tag="en-GB">en-GB/en-GB.tpl_beez3.sys.ini</language>             
</languages>

 این قسمت ،قسمت language است  . در تگ اول اسم فولدر ی که در پوشه ی قالب beez هست و فایل های language را در بر دارد 

آورده شده است . این یعنی فایل های زبان ما در پوشه ی language قرار دارد . 

و در ادامه خود فایل ها تعریف شده اند فایل هایی با پسوند ini : 

فعلا وارد آموزش فایل های ini و ترجمه ی آنها نمی شویم   . در ادامه کدهای زیر را داریم : 

Title

1 <config>

2 <fields name="params">
3 <fieldset name="advanced">
4 <field name="wrapperSmall" class="validate-numeric" type="text" default="53"
label="TPL_BEEZ3_FIELD_WRAPPERSMALL_LABEL"                                                      
description="TPL_BEEZ3_FIELD_WRAPPERSMALL_DESC"
filter="integer" />

تشریح کدها : در خط 1 یک تگ config قرار  دارد این تگ تمام تگ ها و پارامتر ها را در بر دارد . لازم به ذکر است که کلمه ی config به 

معنی : پیکربندی است .  

در خط 2 یک تگ داریم به نام fields  این تگ تمام فیلد ها را در بر دارد . توجه داشته باشد که فیلدها در واقع همان پارامترهایی هستند

که در مقاله ی پارامترها در templateDetails.xml  نشان داده شده اند . 

در خط 2   name="params"  چیست ؟ 

به نظر می رسد که params در واقع همان متغیر $params است که در قالب جوملا برای دست یابی به پارامترها از آن استفاده می شود .

پس با فرض صحت این موضوع می توان گفت که params در واقع نامی است برای دست یا بی به پارامتر های تعریف شده در درون آن . 

خب بعد از اینکه ما یگ تگ ساختیم به نام fields (به معنی فیلدها) حالا وقت آن است که فیلد های درون آن را تعریف کنیم . 

فیلد در جوملا چیست ؟ 

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

یک فیلد انواع بسیار مختلفی دارد همچون : متن و دکمه ی بله و خیر  یا آبشن منوی کشویی یا ...  .

برای دیدن انواع فیلد ها  می توانید به اینجا مراجعه کنید . 

در خط 4 یک فیلد تعریف شده است . برای این فیلد یک نام انتخاب شده است : wrapperSmall و بعد برای آن یک کلاس انتخابی

سی اس اس را تعیین کرده است . و سپس در قسمت type="text" نوع فیلد را برابر با تکست یا همان متن قرار داده است ، و 

بدین معنی است که طراح قالب قصد دارد در این فیلد عبارت متنی را از کاربر دریافت کند و در قالب به کار ببرد . 

و سپس برای فیلد یک مقدار پیش فرض توسط  کلمه ی default تعریف شده است . 

و در ادامه label (برچسب یا نام نمایشی) و description(شرح) برای آن تعریف شده و به متغیر هایی در فایل های ini ارجاع داده 

شده است . 

خب تا اینجا یک فیلد را در جوملا یاد گرفتید و آن فیلد text بود . در ادامه ی دستورات فایل templateDetails.xml تعدادی دیگر فیلد 

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