PDA

View Full Version : حرفه ای: چگونه بین دایرکتوری ها در یک پنچره ی مدال حرکت کنیم، همانند پنچره ی انتخاب تصویر در جوملا



armsoftpc
جمعه 11 فروردین 1391, 21:25 عصر
به نام خدا
با سلام
چگونه بین دایرکتوری ها در یک پنچره ی مدال حرکت کنیم، صفحات نباید رفرش بشوند ، چون پنجره مدال بسته می شود، این به این معناست که دیگر نمی توان از لینک ها به این گونه <a href='http://localhost/armpc/arm/arm_up/ss_.index.min.php'>ss_.index.min.php</a> استفاده کرد و باید از جی کوئری استفاده شود.
آیا کسی روشی برای حل این مشکل دارد ، لطفا کد بگذارید.
یا همانند جوملا یک صفحه ی iframe در پنجره ی مدال قرار دهیم، که چون این پنجره مربوط به یک صفحه دیگر است ، محدودیت های بالا وجود ندارد.
لطفا دوستان به این پست پاسخ دهند و تا ظاهر کمی سختش رو دیدند فرار نکنند.:چشمک:

MMSHFE
شنبه 12 فروردین 1391, 11:39 صبح
با سلام، دوست عزیز این سؤال ظاهر سختی نداره و خود شما پاسختون رو دادین. برای این کار باید از jQuery و AJAX استفاده کنید و استفاده از iframe رو بخاطر پایین آوردن SEO پیشنهاد نمیکنم. برای مثال، میتونید یک فایل PHP داشته باشین با این محتوا:


<?php
if(isset($_GET['action'])) {
switch(strtolower($_GET['action'])) {
case 'page1':
echo '<a href="javascript: void();" id="page2">Page 2</a>'.PHP_EOL;
break;
case 'page2':
echo '<a href="javascript: void();" id="page1">Page 1</a>'.PHP_EOL;
break;
}
}
?>

فرض میکنیم کد بالا رو با نام page.php ذخیره کردین. حالا با jQuery چطور این رو نشون بدیم؟


<!doctype html>
<html>
<head>
<title>AJAX Page Change DEMO</title>
<meta charset="utf-8"/>
<script src="jqmin.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("div#container a").click(function() {
$.ajax({
type: "get",
url: "page.php",
data: "action="+$(this).attr("id"),
success: function(data) {
$(this).parent().html(data);
}
});
});
});
</script>
</head>
<body>
<div id="container">
<a href="javascript: void();" id="page1">Page 1</a>
</div>
</body>
</html>
همونطور که میبینید، برحسب id لینک، صفحه مناسب توی div مربوطه قرار میگیره. حالا میتونید این مثال رو تغییر بدین و به جای div از پنجره مدال یا هر روش دیگری مثل LightBox و... استفاده کنید و به جای ()this).parent)$ از id عنصر موردنظر استفاده کنید.
موفق باشید.

armsoftpc
دوشنبه 14 فروردین 1391, 21:32 عصر
به نام خدا
با سلام
ببخشید ، اما تقریبا نفهمیدم چی شد؟ لطفا کامل تر توضیح دهید.

MMSHFE
دوشنبه 14 فروردین 1391, 23:08 عصر
پس اجازه بدین مرحله به مرحله و با پرسش و پاسخ جلو بریم. اول از همه بفرمایید شما پنجره مدال رو چطور ایجاد کردین؟ کدتون رو میشه بگذارین تا طبق کد خودتون پیش بریم؟