PDA

View Full Version : module in CMS



behnam_akb
یک شنبه 11 دی 1384, 21:25 عصر
سلام


در اکثر سی ام اس ها ماژول ها در داخل یک دایرکتوری خاص قرار داره و مستقیم به اون فایل ها لینک داده نمی شه.
برای مثال از همچین لینکی استفاده میکنند:
http://www.domain.com/module.php?page=test
که در بالا ار فایل module.php برای دیدن ماژول page استفاده شده .

حالا سوالی که پیش می آد اینه که :

1: ساختار فایل های دایرکتوری module چه جوری باشه

2: یه ماژول مممکنه خودش چندین صفحه باشه و هر صفحه هم تعدادی مقادار GET و POST بگیره . در این حالت چه طور باید صفحه رو طراحی کرد؟


فکر کردم بهترین راه include کردن فایلی که لینکش رو از طریق GET یا POST میگیریم باشه اما این فقط برای صفحه باصلی ماژول جواب میده نمی دونم اگر ماژول چند صفحه داشت چی کار کنم؟

>>من جوملا رو دیدم اما چیز زیادی نفهمیدم !<<

Ariyan
دوشنبه 12 دی 1384, 00:03 صبح
1: ساختار فایل های دایرکتوری module چه جوری باشه 1. module.php یک دایرکتوری نیست ، یک فایل PHP است که از طریق متغییر page فایلی را که باید نمایش دهد را می شناسد و نمایش میدهد و به عنوان صفحه پردازش به فرم نسبت داده میشه.

2: یه ماژول مممکنه خودش چندین صفحه باشه و هر صفحه هم تعدادی مقادار GET و POST بگیره . در این حالت چه طور باید صفحه رو طراحی کرد؟ متوجه نشدم!!!
اینجا هم بحث شده (توی این لینک هم از این متد استفاده شده):
http://www.barnamenevis.org/forum/showthread.php?t=32312

oxygenws
دوشنبه 12 دی 1384, 09:45 صبح
ساختار فایل های دایرکتوری module چه جوری باشه
هر جور دوست داری :)
مثلا شاخه module، شامل شاخه هایی با نام $page باشه (در مثال تو میشه test) و ...

سوال دومت رو هم نفهمیدم.

behnam_akb
دوشنبه 12 دی 1384, 23:05 عصر
ممنون از پاسختون

من هم گفتم module یه فایله منظورم از این که گفتم داسرکتوری module دایرکتوری بود که محتوای ماژول هامو توش بریزم


مشکل اصلی همون سوال دومه ببینید من میام ماژول پیغام خصوصی رو صدا میکنم و به راحتی نمایش داده میشه اما در صفحه پثغام خصوصی لینکی مثلا با عنوان ارسال پیغام وجود داره اون موقع لینک رو اگر به صورت عادی و مسیر فایل بدم از ساختاری که تعریف کردم خارج میشه و دیگه URL هام مثل مثال بالایی نیست!


پیغام خصوصی به oxygenws !!! : آقا امید چه طوری یادی از ما نمی کنی ما برات آف میزاریم اما انگار خیلی گرفتاری! البته کاریت نداشتم فقط خواستم بگم مارو یادت نره اما با این جوابت یه کاری کردی تا چند روز آینده با اجازت 100 سوال به ایمیلت بفرستم :D

Ariyan
سه شنبه 13 دی 1384, 23:04 عصر
2: یه ماژول مممکنه خودش چندین صفحه باشه و هر صفحه هم تعدادی مقادار GET و POST بگیره . در این حالت چه طور باید صفحه رو طراحی کرد؟
برای ارسال مقادیر به شیوه POST باید هدر ارسال کنید و برای GET ها هم بعد از علامت سوال نام متغییر ، مساوی و مقدار آن مانند:

http://.../index.php?var1=val1&var2=val2

behnam_akb
چهارشنبه 14 دی 1384, 10:09 صبح
بابا به خدا این جور چیزا رو می دونم

oxygenws
چهارشنبه 14 دی 1384, 15:23 عصر
بابا به خدا این جور چیزا رو می دونم
می تونی یه نگاهی به توسعه forgot password ای که برای سرندیپیتی نوشتم بندازی؟؟
این پلاگین که فقط یک فایل است، بسته به شرایط، حدود 4-5 صفحه رو نشون میده.
یه نگاه بنداز بهش.

spidermanX
سه شنبه 20 دی 1384, 18:03 عصر
فکر کنم منظور شما رو فهمیدم:
(اگه سینتکس هاش غلطه ببخشید چون یه مدتیه با PHP کار نکردم.)
1- شما می تونید یک متغیر تعریف کنید و تمام متغیر های داخل GET یا POST را درون آن بریزید و از آن در داخل فایلهای اینکلود شده استفاده کنید که البته از لحاظ امنیتی زیاد جالب نیست:

$GET_DATA = $_GET;
$POST_data = $_POST;
به اینصورت تمام متغیرهای درون این دو آرایه به دو آرایه جدید ارسال می شن که می تونی بعدا از اونها استفاده کنی
2- می تونی یک یا چند متغیر عمومی در تمام CMS خودت تعریف کنی که هر کدام کار خاصی رو انجام می دهند مثلا برای ارسال اطلاعات مورد نظر از یک متغیر به نام $data استفاده کن.

3- این روش بر پایه دو روش قبلیه ولی عاقلانه شما می تونی یه آرایه 2*n تعریف کنی که اطلاعات مورد نظر رو درون اون ریخته و به بخشهای مختلف ماژول خودت انتقال بدی

$data[1,1] = 'Name';
$data[1,2] = 'mahdy';
$data[2,1] = 'last name';
$data[2,2] = 'Asady';

اگه همین بود که انشاء ا.. موفق باشی و گرنه بیشتر توضیح بده