الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سكريبت لعرض (القائمة -القائمة الفرعيه - المسار - خارطه الموقع) من مصفوفه واحده

بدأه العيافـي في 3 أبريل 2009 · 4 رد · 713 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

كما هو واضح من العنوان الهدف من السكريبت هو انشاء مصفوفه واحده لاستخدامها في (القائمة -القائمة الفرعيه - المسار - خارطه الموقع)

مهما اختلفه صلاحيات المستخدم سواء كان ( زائر او عضو او غير ذلك ).

مثال حي على السكريبت

قم باختيار المستخدم في الجهه اليسر من الصفحة الرئيسيه ثم اضغط على زر "ارسال"

علما بان العلامه "*" تعني للمستخدم عديم الصلاحيات(الزائر)

http://aaleyaf.net/othman/myScript/scriptM...ample/index.php

عفوا لم اهتم بالشكل العام للصفحة فالمهم هو عرض السكريبت فقط.

استخدمت السكريبت التالي للقائمة http://www.smartmenus.org/

استخدمت السكريبت التالي للقائمة الفرعيه http://www.dynamicdrive.com/style/

يمكنك تغيير هذه السكريبتات ولن تضطر الى التغيير في كود PHP

لانشاء رابط يجب انشاء كائن من الصنف NodeItem

مثال (رابط لصفحة "اضافة مستخدم")

$addUser=new NodeItem("addUser.php", "اضافة مستخدم", true, Array("admin"), null);

في الكائن السابق يعتبر

addUser.php = رابط

اضافة مستخدم = نص الرابط

true = لعرض الرابط (قد تحتاج الى وجود صفحة في الموقع ولا ترغب في عرضها في القائمه ولكن وجودها في المصفوفها سيفيدنا في عرض القائمة الفرعيه الخاص لهذا الصفحة) مثال للاستخدام [عندما يكون هنا خطوتين لاضافة مستخدم. الخطوه الاولى صفحة ادخال البيانات والخطوه الثانيه صفحة لعرض البيانات المدخله وتحتوي على زر الاضافة. فهنا تكون صفحة عرض البيانات صفحه متفرعه من صفحة ادخال البيانات. و من غير الممكن عرضها في القائمه. لهذا تأخذ القيمه false ]

Array("admin") = نوع المستخدم المسموح له رؤية هذا الرابط

null = تعني بانه لا توجد قائمة فرعيه لهذا العنصر.

مثال آخر لرابط يحتوي على قائمة فرعيه

(ادارة حسابي و تحتوي على [تحديث كلمة المرور ، تحديت البريد الالكتروني])

$updatePassword=new NodeItem("updatePassword.php", "تحديث كلمة المرور", true, Array("user"), null);
    $updateEmain=new NodeItem("updateEmain.php", "تحديث البريد الالكتروني", true, Array("user"), null);
    $accountUser=new NodeItem("#", "اداره حسابي", true, Array("user"), array($updatePassword,$updateEmain));

بعد انشاء روابط الموقع نقوم باضافنها في الكائن MenuControl

ويحتوي على

$userType = نوع المستخدم الحالي 
$id              =  HTML id للقائمة
$classStyle = اسم كلاس الستايل شيت للقائمة
$style          =  كود الستايل للقائمة
$submenuId = HTML id للقائمة الفرعيه
$submenuClassStyle = اسم كلاس الستايل شيت للقائمة الفرعيه
$submenuStyle  = كود الستايل للقائمة الفرعيه
$sitemapClassStyle = اسم كلاس الستايل شيت لخارطة الموقع
$menu = مصفوفه من الكائن NodeItem تمثل روابط الموقع

مثال

$menuControl=new MenuControl($userType,"Menu1","MM","padding-top: 0px;",null,"markermenu",null,"sitemap", $nodeItem);

للطباعة القائمه

$menuControl->getMenuHTML()

لطباعه القائمة الفرعيه

$menuControl->getSubmenuHTML(Utils::getNameFile())

لطباعه المسار

$menuControl->getPathHTML(Utils::getNameFile())

لطباعه خارطة الموقع

$menuControl->getSiteMapHTML()

لا يزال السكريبت تحت التطوير ....

عند وجود اي ملاحظة ارجوا ذكرها

السكريبت مرفق مع مثال ...

scriptMenu_1.0.rar

#2

بارك الله بك ... مجهود رائع

عندي سؤال ... هل يمكن عمل أكثر من تفرع للقائمة , يعني أكثر من مستوى ؟

لم أنظر إلى الكود حتى الآن ولكن بعد دراسته إذا كان لدي ملاحظات سأزودك بها

شكرالك ...

CMS Sfhati , Website Generator


نظام إدارة المحتوى صفحتي ... جربه الآن 


 


small-logo.png

#3

للقائمة عدد لا نهائي من المستويات

كما اني انوي استخدام ملف XML للقائمة بدلا من المصفوفه في الاصدارات القائمه ان شاء الله تعالى ...

#4

السلام عليكم .

مجهود رائع , حاول ان تنشر السكربت في PHP Class .

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

------------------------------------------------------------------------------------------------

gazabigBanner.jpg

------------------------------------------------------------------------------------------------

#5

شكرا لك اخي محمد ...

لا يزال الكود تحت التطوير و هناك امور كثيره ارغب في اضافتها ...

ولكن باذن الله تعالى سأقوم بنشره بعد الانتهاء من اضافه التحسينات

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…