ورود

View Full Version : آموزش: ساخت تمپلت برای جوملا 1.6 و 1.7



hamidre13
شنبه 19 شهریور 1390, 01:59 صبح
سلام به همه دوستان
قصد دارم به یاری خدا آموزش ساخت تمپلپت واسه جوملا رو توضیح بدم .
البته فرض من بر این هست که شما اچ تی ام ال ، سی اس اس و جاوااسکریپت رو بلد هستید.
در ضمن امیدوارم که تاپیک رو در محل مناسبی باز کرده باشم، از مدیران خواهش میکنم در صورت اینکه محل بهتری مد نظرشون هست تاپیک رو انتقال بدن.
من تمام آموزش رو خودم مینویسم بنابراین خواهش میکنم یکم صبور باشید!
سوالات رو هم لطف کنید در یه تاپیک جدا گانه بپرسید!
دوستان اگر پیشنهادی دارن با پیام به من اطلاع بدن .
با تشکر

hamidre13
شنبه 19 شهریور 1390, 03:37 صبح
تمپلت (http://www.freecsstemplates.org/download/zip/disambiguation/)
تمپلت از سایت فری سی اس اس تمپلت گرفته شده!
می خوایم تمپلت بالا رو به یه تمپلت قابل نصب واسه جوملا تبدیل کنیم.
اول از هم یه سری کد لازم هست که به ترتیب واستون میزارم و بعد کار هر کدوم رو میگم
کد هد:

<?php
defined('_JEXEC') or die;
$app = JFactory::getApplication();
?>
<!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/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/default.css" type="text/css" />
</head>
این کد رو باید در بالای صفحه و به جای کد هد خودتون قرار بدید.
تنها چیزی که از این کد نیاز هست بدونیم این قسمت هست:

<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/<?php echo $this->template ?>/css/default.css" type="text/css" />
این کد محل فایل سی اس اس صفحه رو مشخص میکنه (بقیه کدها مربوط به استایل خود جوملا هستن) اگر اسم فایل سی اس اس شما چیزی غیر از دیفالت هست و یا اینکه فایل در پوشه سی اس اس قرار نداره این دو متغیر رو بر اساس پوشه و اسم فایل تغییر بدید.
خب حال بریم سراغ ماژول ها :
جوملا توسط ماژول قدرت پیدا کرده و هر منو یا افزونه ای از اون توسط ماژول ها نمایش داده میشن ما برای نشان دادن این ماژول ها نیاز به این داریم که در تمپلت خودمون محلی رو واسه نشون دادن این ماژول ها مشخص کنیم.نحوه مشخص کردن محل به این صورت هست:
فرض کنید میخوایم در قسمت راست سایت یه منو بزاریم و از اونجایی که میدونیم این منو توسط ماژول نمایش داده میشه نیاز به این داریم که در حین طراحی این محل رو مشخص کنیم خوب بنابراین این تکه کد رو در قسمتی که قرار منو نمایش داده بشه میزاریم:

<jdoc:include type="modules" name="position1" style="xhtml" />
همونطور که مشاهده میکنید اسم این ماژول پوزیشن1 هست (معمولا قالبهای تجاری این نوع ماژول ها رو اسم گذاری میکنند) ولی شما میتونید بسته به استفاده ماژول واسش هر اسمی که خواستید بزارید خاصیت استایل ماژول ها به ما تا حدودی در نحوه نمایش ماژول ها کمک میکنه :
در صورتی که style="rounded" نوار دور ماژول به صورت انحنا دار نشون داده میشه
در صورتی که none باشه هیچ چیزی دور ماژول قرار نمیگیره
در صورتی که xhtml باشه یه دیو دور ماژول قرار میگیره
در صورتی که table باشه یه جدول دور ماژول قرار میگره
بعد از این مرحله نوبت به مشخص کردن محل پست ها میرسه که در این محل کافی هست این کد رو قرار بدیم:

<jdoc:include type="message" />
<jdoc:include type="component" />
خوب تا اینجای کار صفحه به این شکل در اومد:

<!--
Design by Free CSS Templates
http://www.freecsstemplates.org
Released for free under a Creative Commons Attribution 2.5 License

Name : Disambiguation
Description: A two-column, fixed-width design with dark color scheme.
Version : 1.0
Released : 20110717

-->
<?php
defined('_JEXEC') or die;
$app = JFactory::getApplication();
?>
<!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/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/default.css" type="text/css" />
</head>
<body>
<div id="header">
<div id="logo">
<jdoc:include type="modules" name="header" style="xhtml" />
</div>
</div>
<!-- end #header -->
<div id="menu">
<jdoc:include type="modules" name="topmenue" style="xhtml" /></div>
<!-- end #menu -->
<div id="page">
<div id="page-bgtop">
<div id="page-bgbtm">
<div id="content">
<jdoc:include type="message" />
<jdoc:include type="component" />
</div>
<!-- end #content -->
<div id="sidebar">
<div id="search">
<jdoc:include type="modules" name="search" style="xhtml" />
</div>
<ul>
<li>
<h2>Aliquam tempus</h2>
<p>Mauris vitae nisl nec metus placerat perdiet est. Phasellus dapibus semper consectetuer hendrerit.</p>
</li>
<li>
<jdoc:include type="modules" name="catagoriz" style="xhtml" />
</li>
<li>
<jdoc:include type="modules" name="blogrole" style="xhtml" /> </li>
<li>
<jdoc:include type="modules" name="Archive" style="xhtml" /> </li>
</ul>
</div>
<!-- end #sidebar -->
<div style="clear: both;">&nbsp;</div>
</div>
</div>
</div>
<!-- end #page -->
<div id="footer">
<p>Copyright (c) 2011 Sitename.com. All rights reserved. Design by <a href="http://www.freecsstemplates.org/"> CSS Templates</a>.</p>
<jdoc:include type="modules" name="footer" style="xhtml" />
</div>
<!-- end #footer -->
</body>
</html>

hamidre13
چهارشنبه 23 شهریور 1390, 09:17 صبح
خب حالا نوبت به ساخت یه فایل xml میرسه من اول این فایل رو میزارم بعد دربارش توضیح میدم
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE install PUBLIC "-//Joomla! 1.6//DTD template 1.0//EN" "http://www.joomla.org/xml/dtd/1.6/template-install.dtd">
<extension version="1.6" type="template" client="site">
<name>joomla-test</name>
<creationDate>7-2-2011</creationDate>
<author>hamid-tavakoli</author>
<authorEmail>hamidre13@yahoo.com</authorEmail>
<authorUrl>http://www.hamid-webtricks.blogspot.com/</authorUrl>
<copyright>Copyright (C) 2011 Open Source Matters, Inc. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<version>1.6.0</version>
<description>Joomla 1.6 template</description>

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

<positions>
<position>header</position>
<position>topmenue</position>
<position>search</position>
<position>catagoriz</position>
<position>blogrole</position>
<position>Archive</position>
<position>footer</position>
</positions>
</extension>

اسم این فال رو باید بزاریم templateDetails.xml ،همونطور که مشاهده میکنید و واضح هست که قسمت بالا مربوط به اطلاعات نویسنده و همینطور نام تمپلت هست.
دو قسمت دیگه داریم یکی فایلز و یکی پوزیشن، فایلز فایل ها و فولدرهای درون فایل زیپ رو مشخص میکنه و پوزیشن اسم همون پوزیشن هایی هست که توی تمپلت قرار دادیم.
تقریبا کار ما تموم هست تنها چیزی که احتیاج داریم گرفتن دو عکس از تمپلت به نامهای
template_preview.png 640*384
template_thumbnail.png 206*155
و یک عدد فیورت ایکون به نام و اندازه:
Favicon.ico 16*16
خب تقریبا کارمون تموم هست حالا کافی هست تمام این فایل ها و فولدر ها رو با هم به یه فایل زیپ تبدیل کنیم کار تمومه و میتونیم این تمپلت رو در جوملا نصب کنیم!
در ضمن یه نکته خیلی مهم:
در ورژن 1.6 به بالا دیگه مثل قبل نمیتونید فایل تمپلت رو در پوشه تمپلت اکسترکت کرده و اجرا کنید باید حتما اون رو از طریق اینستالر جوملا نصب کنید!