PDA

View Full Version : حرفه ای: ساخت تمپلیت برای سایت



alimooghashang
دوشنبه 28 دی 1388, 00:52 صبح
با سلام
چطوری میتونیم یه قالب سایت مثل قالب های وردپرس بسازیم؟؟
مثلا ببینید این template های وردپرس چند فایل هست
index.php
page.php
search.php
sidebar.php
single.php
archive.php
footer.php
header.php
و...
بعد اینا همه با توابعشون کنار هم میان و صفحه نمایش داده میشه ولی من نفهمیدم توابعش چطوری تعریف شدن ...
اگه میشه راهنمایی کنید که من نیاز زیادی به طراحی قابل به این صورت دارم
که مثلا اگه خواستم به sidebar چیزی اضافه کنم مجبور نشم به همه صفحات اضاففه کنم و فقط یه جا رو تغیر بدم
با تشکر

محمد.مولانا
دوشنبه 28 دی 1388, 10:38 صبح
خوب نوشتن یه تمپلیت انجین کمی کار می بره
می تونید از تمپلیت انجین های آماده مثل اسمارتی استفاده کنی

مثل اسمارتی smarty (http://www.smarty.net)

محمد.مولانا
دوشنبه 28 دی 1388, 12:01 عصر
البته به قول ایشوت می شه به صورت ساده با اینکلود این کار رو کرد

اما با تمپلیت انجین ها کارتون خیلی راحت تر می شه و گسترشش هم ساده تر
ولی خوب سایت هم یه کم سنگین تر می شه

محمد.مولانا
دوشنبه 28 دی 1388, 12:03 عصر
البته به قول ایشوت می شه به صورت ساده با اینکلود این کار رو کرد

اما با تمپلیت انجین ها کارتون خیلی راحت تر می شه و گسترشش هم ساده تر
ولی خوب سایت هم یه کم سنگین تر می شه

aserfg
سه شنبه 29 دی 1388, 19:25 عصر
شما وقتی همه صفحه هاتون از یک فایل css استفاده کنند با تغییر در ساختار فایل css همه صفحات تغییر خواهند کرد . راه دیگه که include هست زیاد جالب نیست چون با این کار کلیه فایل php اینکلود می شه که براتون مشکل ساز خواهد بود .

alimooghashang
سه شنبه 29 دی 1388, 20:55 عصر
شما پس php بلد نیستی !!! چون با include میشه همچین کاری رو کردش !
شما که PHP بلدی بگو ببینم این چطوری تابع get_header رو اینکلود کرده؟




<?php get_header(); ?>

<div id="container">

<div id="left-div">

<div id="left-inside">

<?php if (get_option('artsee_format') == 'Blog Style') { ?>
<?php include(TEMPLATEPATH . '/includes/blogstyle.php'); ?>
<?php } else { include(TEMPLATEPATH . '/includes/category.php'); } ?>

</div>

</div>

<?php get_sidebar(); ?>
<?php get_footer(); ?>

</body>
</html>



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

aserfg
چهارشنبه 07 بهمن 1388, 15:09 عصر
یعنی چی ؟! یعنی بیاد با display:none بخش ها رو نمایش و حذف کنه ؟!

خوب اینجوری که حجم سایت میره بالا ! شاید یکجا یک section رو نخوایم لود کنیم ! تکلیف چیه !

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

famarini
چهارشنبه 21 بهمن 1388, 01:14 صبح
با سلام
من نفهميدم شماها برنامه نويسيد يا جنگجويان ليانشامپو بابا با هم كنار بياد ديگه
هرجا يه تاپيك زده مي شه اگه يه دعوا نشه اون تاپيك حل نمي شه نه ؟!
مي خوايد اول تاپيك يه جايي رو معرفي كنيد بعد از اتمام تاپيك بيام اونجا همديگه رو يه دست كتك بزنيم بقيه تاپيكو تو بازداشتگاه ادامه بديم نظرتون چيه ؟!؟! :لبخند:

alimooghashang
چهارشنبه 21 بهمن 1388, 09:26 صبح
والا به خدا
یه سوال میپرسیم عوض راهنمایی تیکه بارون میشیم :(

davoodi
چهارشنبه 21 بهمن 1388, 12:11 عصر
به نظر من هم خودتون با Include اینکارو انجام بدید بهتره و البته این در شرایطی هستش که به css مسلط باشید و بتونید به راحتی با کد نویسی های اون ظاهر صفحات رو عوض کنید. درسته که زمان میبره اما همه سایت دست نویس خودتونه و میتونید به راحتی روش کنترل داشته باشید.
البته من هنوز با smarty کار نکردم.

اعظم
چهارشنبه 21 بهمن 1388, 14:19 عصر
ورد پرس درواقع فرم ورکی برای خودش تعریف کرده و براساس الگوی mvc داره کار می کنه یعنی اینکه لایه پردازش رو تا حد امکان از لایه تم جدا کرده اما نمیشه اینها رو کاملا از هم تفکیک کرد به عنوان مثال همین تابع get_header که در فایل index.php یک تم وردپرس استفاده شده در فایل general-template.php و درشاخه wp-includes ( خارج از تم ) تعریف شده .

roomezonline
پنج شنبه 22 بهمن 1388, 23:58 عصر
با سلام
چطوری میتونیم یه قالب سایت مثل قالب های وردپرس بسازیم؟؟
مثلا ببینید این template های وردپرس چند فایل هست
index.php
page.php
search.php
sidebar.php
single.php
archive.php
footer.php
header.php
و...
بعد اینا همه با توابعشون کنار هم میان و صفحه نمایش داده میشه ولی من نفهمیدم توابعش چطوری تعریف شدن ...
اگه میشه راهنمایی کنید که من نیاز زیادی به طراحی قابل به این صورت دارم
که مثلا اگه خواستم به sidebar چیزی اضافه کنم مجبور نشم به همه صفحات اضاففه کنم و فقط یه جا رو تغیر بدم
با تشکر


PHP include() Function

The include() function takes all the content in a specified file and includes it in the current file.
If an error occurs, the include() function generates a warning, but the script will
continue execution.

Example 1

Assume that you have a standard header file, called "header.php". To include the header file in a page, use the include() function:

<html>
<body>

<?php include("header.php"); ?>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>

</body>
</html>

Example 2

Assume we have a standard menu file, called "menu.php", that should be used on all pages:

<a href="/default.php">Home</a>
<a href="/tutorials.php">Tutorials</a>
<a href="/references.php">References</a>
<a href="/examples.php">Examples</a>
<a href="/about.php">About Us</a>
<a href="/contact.php">Contact Us</a>

All pages in the Web site should include this menu file. Here is how it can be done:

<html>
<body>

<div class="leftmenu">
<?php include("menu.php"); ?>
</div>

<h1>Welcome to my home page.</h1>
<p>Some text.</p>

</body>
</html>

If you look at the source code of the page above (in a browser), it will look like this:

<html>
<body>

<div class="leftmenu">
<a href="/default.php">Home</a>
<a href="/tutorials.php">Tutorials</a>
<a href="/references.php">References</a>
<a href="/examples.php">Examples</a>
<a href="/about.php">About Us</a>
<a href="/contact.php">Contact Us</a>
</div>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>

</body>
</html>


PHP require() Function

The require() function is identical to include(), except that it handles errors differently.
If an error occurs, the include() function generates a warning, but the script will continue execution. The require() generates a fatal error, and the script will stop.
Error Example include() Function

<html>
<body>

<?php
include("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>

Error message:

Warning: include(wrongFile.php) [function.include]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Warning: include() [function.include]:
Failed opening 'wrongFile.php' for inclusion
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5

Hello World! Notice that the echo statement is executed! This is because a Warning does not stop the script execution.
Error Example require() Function

Now, let's run the same example with the require() function.

<html>
<body>

<?php
require("wrongFile.php");
echo "Hello World!";
?>

</body>
</html>
Error message:
Warning: require(wrongFile.php) [function.require]:
failed to open stream:
No such file or directory in C:\home\website\test.php on line 5

Fatal error: require() [function.require]:
Failed opening required 'wrongFile.php'
(include_path='.;C:\php5\pear')
in C:\home\website\test.php on line 5 The echo statement is not executed, because the script execution stopped after the fatal error.
It is recommended to use the require() function instead of include(), because scripts should not continue after an error.


شما هر قسمت از صفحه رو بطور جدا می نویسید بعد با تابع include فراخوانی مکنید
چند تا مثال بالا واستون گذاشتم امیدوارم بکارتون بیاد


موفق باشید