PDA

View Full Version : مستر پیج در php



sanaz.dadkhah
یک شنبه 07 خرداد 1391, 12:09 عصر
سلام من قبلا Asp کارمیکردم
ی سوال از دوستان دارم میخام بدونم که آیا روشی مثل مستر پیج در php هست؟؟
یکی از دوستان گفتند از fram استفاده کنم آیا faram محدودیت یا ایراد خاصی داره؟؟
از سرعت کم میکند؟؟؟
مرسی

AbiriAmir
یک شنبه 07 خرداد 1391, 13:12 عصر
شما توضیح بدید که میخواین چکاری انجام بدید...

AMIBCT
یک شنبه 07 خرداد 1391, 14:11 عصر
این قابلیت را خودتان باید پیاده‌سازی کنید
که کار سختی هم نیست

یک نمونه قالب برای سایت را اینجا می‌توانید دانلود کنید
بخش‌های سربرگ، منو و ته‌برگ در صفحات ثابت هستند و محتوا تغییر می‌کند

http://amib.ir/weblog/?p=379

sanaz.dadkhah
یک شنبه 07 خرداد 1391, 14:51 عصر
من ی قسمت ثابت در پانل مدیریتیم دارم(مثل منوها و لوگو) که میخام همیشه باشه و نمیخاهم هم با هر رفرش یا رفتن ب صفحه دیگه لود بشه
یکی از دوستام گفت که میتونی با frame و ajax صفحات دیگه را داخل این صفحه لود کنی میخاهم بدونم که ایا خوبه؟؟
اصلا برای سمت client هم نمیخاهم همیشه تمام صفحه از نو load بشه
دوستان در صورت منطقی بودن حرفام (اصلا خوبه یا مورد داره)؟
راهنمایی کنن

AMIBCT
یک شنبه 07 خرداد 1391, 15:07 عصر
آن کار را هم می‌شود انجام داد
ولی معمول نیست

سعی کنید کارهای عجیب انجام ندهید
به سایت شرکت‌های بزرگ دقت کنید
و سعی کنید در طراحی شبیه آن‌ها کار کنید
شرکت‌های بزرگ برای طراحی روی اصول و دلیل کار می‌کنند

sanaz.dadkhah
یک شنبه 07 خرداد 1391, 15:28 عصر
شرمنده من تا حالا طریقه کد نویس این سایتها را ندیدم
میشه لطف کنید و ی توضیحی برای م بدین؟؟؟
از روال کلی کار

sanaz.dadkhah
یک شنبه 07 خرداد 1391, 15:37 عصر
در حالت کلی میخاهم کلیه صفحاتم در ی قالب کلی لود بشن و سرعتم هم بالا باشه و کل صفحه هم لود دوباره نشه
بهترین روش چیه؟؟؟

amin1softco
یک شنبه 07 خرداد 1391, 16:42 عصر
اینجا ها smarty خودشو نشون میده و می تونید یا از این روش
http://spinningtheweb.blogspot.com/2006/07/approximating-master-pages-in-php.html

webiran.co
یک شنبه 07 خرداد 1391, 17:08 عصر
دنیای PHP با دنیا ASP.Net فرق دارد، همه چیزی که در اینجا لازم داریم را خودتان باید بسازید. در مورد frame من توصیه نمی‌کنم که از frame استفاده کنید، چون کاری را که شما می‌خواهید انجام دهید، به راحتی می‌توانید با ajax داخل یک div لوود کنید. وقتی می‌خواهید سایتی بنویسید که تنها محتوای آن تغییر کند، دو راه حل در مقابل شماست، یکی اینکه محتوا را در فایل‌های جداگانه‌ای قرار دهید و با استفاده از ajax آنها را بخوانید و در درون یک div‌ لوود کنید، روش دوم این است که محتوا را در همان صفحه داشته باشید و تنها با دستورات jQuery یکی را از حالت نمایش خارج کنید (hide) کنید و دیگری را نمایش دهید (show) کنید. روش دوم برای محتواهای کوچک که استاتیک هستند مناسبتر است.
در مورد استفاده از ajax هم توصیه می‌کنم از jQuery استفاده کنید، تا اینکه خودتان مستقیما دستورات ajax را در javascript بسازید.
برای ساختن مسترپیج هم، می‌توانید header و footer‌را در دو صفحه جداگانه داشته باشید، و آنها را به هر صفحه‌ای که می‌خواهید include کنید.

sanaz.dadkhah
یک شنبه 07 خرداد 1391, 18:41 عصر
مرسی از جواب شما اما مشکل اینجاس که اگر صفحه را با jquery لود کینم کد های داخل آن کار نمی دهد
میشه ئستور لود را لطف کنید؟؟

us1234
یک شنبه 07 خرداد 1391, 19:02 عصر
دوست عزیز شما باید روش کار با جی کوئری را یاد بگیرید فقط همین 90 درصد مشکلاتتون ( اگر PHP بلد باشید ) حل میشه

AbiriAmir
یک شنبه 07 خرداد 1391, 20:58 عصر
جواب شما 2 روش هست
اولیش اینه که از 1 کلاس قالب استفاده کنید
به این صورت که مثلا قالب کلی رو داخل متغیر $tpl ذخیره میکنید و مثلا قالب داخل رو بسته به صفحه ای که داخلش هستید داخل $intpl لود میکنید
اونوقت به سادگی (بسته به کلاس قالب) کد رو میزنید:

$tpl -> assign('inptl', $intpl -> dontshow());

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

روش دیگه هم همونطور که دوستان گفتن استفاده از ای جکس هست که jQuery شدیدا پیشنهاد میشه اما خوب یکم شاید کد شما رو زیادتر کنه

هر کدوم رو خواستید بگین بیشتر توضیح بدم یا نمونه کد بدم ;)

Beginner2013
یک شنبه 07 خرداد 1391, 21:22 عصر
سلام من قبلا Asp کارمیکردم
ی سوال از دوستان دارم میخام بدونم که آیا روشی مثل مستر پیج در php هست؟؟
یکی از دوستان گفتند از fram استفاده کنم آیا faram محدودیت یا ایراد خاصی داره؟؟
از سرعت کم میکند؟؟؟
مرسی

سلام

به طور ساده شما می تونید از include که در php وجود داره استفاده کنید.همچنین استفاده از iframe هم روش خوبیه و استفاده از ajax هم روش دیگری برای این کاره. نظرم بیش تر بستگی به سلیقه خودتون داره،برای مثال در بلاگفا با این که با Asp.Net هست در کنترل پنلش از iframe استفاده شده،اما به نظرم از ajax استفاده نکنید،چون زیاد برای سئو مناسب نیست.

sanaz.dadkhah
یک شنبه 07 خرداد 1391, 21:56 عصر
میشه لطف کنید و ی نمونه کد بهم معرفی کنید یا راهنماییم کنید؟؟؟

Beginner2013
یک شنبه 07 خرداد 1391, 22:17 عصر
میشه لطف کنید و ی نمونه کد بهم معرفی کنید یا راهنماییم کنید؟؟؟

مثلا فرض کنید،سه تا فایل به نام های ContactUs.php,news.php,Register.php دارم که می خوام در صفحه ماسترم لود بشن.خوب در صفحه ماستر جایی که باید تغییر کنه این کد رو قرار میدم



<?php
LoadContent();
function contains($txt,$str)
{
return strpos($txt, $str) !== false;
}
function LoadContent()
{
$pha="ContactUs|News|Register";
if(!isset($_GET['p']))
{
include "home.php";
return;
}
$p=$_GET['p'];
$p=strtolower($p);
$pha=strtolower($pha);
if(contains($pha,$p))
{
include $p.".php";
}
}
?>


خوب،اگر نام فایل مستر من باشه index.php،اون وقت آدرس تا صفحاتم به این صورت خواهد بود:



index.php?p=ContactUs
index.php?p=News
index.php?p=Register


در home.php هم که می تونید،بگید Note Found یا یه همون صفحه پیش فرضتون رو نشون بدید.

Beginner2013
یک شنبه 07 خرداد 1391, 22:29 عصر
البته من کدو از آرشیو پروژه هام پیدا کردم و کمی تغییرش دادم،یه چیزی یادم رفت، شما به جای contain دو رشته رو با هم مقایسه بکنید.

sanaz.dadkhah
یک شنبه 07 خرداد 1391, 22:31 عصر
ی سوال دیگه از لحاظ سرعت و بهره وری و سئو از کدوم روش استفاده کنم یا در حالت کلی کدوم بهتره؟؟؟

AbiriAmir
یک شنبه 07 خرداد 1391, 23:33 عصر
بفرمایید
1 کارکرد ساده از کلاس قالب رو براتون نوشتم
کلاس رو از rash cms برداشتم
بعد از این که روی لوکال یا هاست آپلود کردید این 2 صفحه رو ببینید:

index.php?page=1
index.php?page=2

سوالی بود من در خدمتم

فایل ضمیمه:
87558