السلام عليكم ورحمة الله وبركاته
والصلاة والسلام على رسول الله سيدنا محمد
وعلى آله وصحبه ومن اتبعهم بإحسان إلى يوم الدين
أما بعد
//
مقدمة يمكن تخطيها
قبل فترة أخبرني صديقي بأن المشاركات في المنتدى خاصتي تأخذ وقتاً
طويلاً لقراءتها، لا سيما وأن التواقيع ثابتة في الأسفل، والسبب كان
بيانات العضو في يمين الصفحة، حيث أنها كانت كثيرة، بالإضافة
للمزاج والـ SMS والـ MMS مثلاً
لذلك بحثت عن طرق عديدة لإخفاء هذه البيانات بضغطة زر، وإظهارها
عند الضغط عليها، لكن الطرق التي جربتها إما أنها كانت تسبب ثقلاً
في المتصفح وإما أنها كانت غير مجدية مع كل المتصفحات
//
وبعد البحث تذكرت خاصية القوائم المنبثقة الموجودة مع نسخة المنتدى
وتعلمت من الموقع الرسمي كيفية استخدامها، وأحببت أن أشارككم بها
//
بداية
لرؤية مثال حي يمكنكم زيارة أي موضوع في المنتدى هنا
(وضعت الرابط لضرورة معاينة مباشرة لوضوح الفكرة)
أو يمكنكم مشاهدة الصورة التالية
//
خطوات العمل
لا بد أن نعرف كيف يعمل ما ذكر أعلاه والذي يستخدم خاصية مدمجة
في النسخة تسمى VBmenu_popup، حيث تعتمد على استدعاء أي
tag وليكن div مثلاً، وإعطائه اسماً ليتم استدعاؤه في الـ Script
المسمى VBmenu_popup
أعلم أن الموضوع يبدو طويلاً لكن الأمر سهل جداً
ملاحظة للكسالى/ يمكنكم عدم قراءة الموضوع كاملاً وتطبيق
ما بين الخطوط المتقطعة، لكن لن أجيب عن أي سؤال تم ذكره في الشرح
( شرير :] )
--------------------------------------------------
سأشرح الفكرة على قالب قالب الـ Postbit_Lagecy
ويمكن تطبيقها على قالب الـ Postbit أيضاً، وسأطرح كيفية وضع كافة
بيانات العضو في زر، ويمكن تطبيقها على جزء من البيانات كما الأمر
قم بفتح القالب، وخذ نسخة احتياطية لنبدأ العمل، ويفضل أن تستعمل
برنامج تحرير مثل الـ Expression Web، لتقوم بتحديد المنطقة التي
يوجد فيها بيانات العضو، ولنفترض أن البيانات موضوعة في جدول
، لذلك، قبل هذا الـ tag أو الوسم، قم بإضافة الكود التالي
رمز Code:
وفي نهاية الجدول قم بإغلاق الوسم بـ
رمز Code:
انتهى التركيب
--------------------------------------------------
//
ما الذي حدث؟
لمن يود فهم ما حدث عليه بقراءة التالي
عندما قمنا بوضع وسم span فقد حددنا فيه الزر الذي عند ضغطه
سيقوم بفتح قائمة بالبيانات وقمنا بوضع id لهذا الوسم ليتم استخدامه
في دالة الـ VBmenu_popup، ولا بد أن يكون لكل قائمة من قوائهما
اسم خاص بها
توضيح، لو أردنا عمل قائمتين فإننا نختار وسم span ونعطيه اسماً
وليكن pop-1 ونقوم بإدراج هذا الاسم في الـ VB_menu
لو أردنا قائمة أخرى يجب أن يكون الاسم مختلفاً عن pop-1 حتى لو
كان الوسم مختلفاً، كأن يكون وسم div مثلاً
//
إذاً كيف قمت بوضع كود واحد مع أن البيانات تتكرر لكل عضو؟
الأمر بسيط، لاحظ أننا في الكود السابق أضفنا بعد الـ id الخاص بالـ span
والذي كان كلمة more متغيراً إضافياً وهو
رمز Code:
_$post[postid]
وهذا المتغير هو رقم المشاركة في الموضوع، وعليه فإنه عند تنفيذ الكود
سيكون اسم الـ span الأول
more_1
والـ span الثاني
more_2
وهكذا، فإن هذا المتغير أراحنا من مشكلة تشابه
الأسماء لضمان عمل القائمة مع كل الردود
//
شرح مفصّل للكود (اختياري)
لمزيد من الفائدة، سأشرح طريقة عمل الكود بالتفصيل هنا
رمز Code:
حيث أن anyname هو اسم هذا الـ span ليستخدم لاحقاً ولكن يجب تذكره
رمز Code:
زر القائمة المنبثقة، والذي عند ضغطه ستفتح القائمة
رمز Code:
سكربت القائمة، لاحظ أن الاسم anyname تم استخدامه كما هو
على فرض أن القائمة ستوضع في صفحة لا يتم تكرار الكود فيها
كما في الردود مثلاً، وقمت بتوضيح كيفية حل المشكلة
رمز Code:
هنا الوسم الذي سيتضمن محتوى القائمة، ويجب أن يكون اسمه
anyname_menu
//
آمل أني وفقت في الشرح وأعتذر عن الإطالة
ولا أريد سوى دعاء لي ولوالدي
Whitespacez
الصور المصغرة المرفقة والصلاة والسلام على رسول الله سيدنا محمد
وعلى آله وصحبه ومن اتبعهم بإحسان إلى يوم الدين
أما بعد
//
مقدمة يمكن تخطيها
قبل فترة أخبرني صديقي بأن المشاركات في المنتدى خاصتي تأخذ وقتاً
طويلاً لقراءتها، لا سيما وأن التواقيع ثابتة في الأسفل، والسبب كان
بيانات العضو في يمين الصفحة، حيث أنها كانت كثيرة، بالإضافة
للمزاج والـ SMS والـ MMS مثلاً
لذلك بحثت عن طرق عديدة لإخفاء هذه البيانات بضغطة زر، وإظهارها
عند الضغط عليها، لكن الطرق التي جربتها إما أنها كانت تسبب ثقلاً
في المتصفح وإما أنها كانت غير مجدية مع كل المتصفحات
//
وبعد البحث تذكرت خاصية القوائم المنبثقة الموجودة مع نسخة المنتدى
وتعلمت من الموقع الرسمي كيفية استخدامها، وأحببت أن أشارككم بها
//
بداية
لرؤية مثال حي يمكنكم زيارة أي موضوع في المنتدى هنا
(وضعت الرابط لضرورة معاينة مباشرة لوضوح الفكرة)
أو يمكنكم مشاهدة الصورة التالية
//
خطوات العمل
لا بد أن نعرف كيف يعمل ما ذكر أعلاه والذي يستخدم خاصية مدمجة
في النسخة تسمى VBmenu_popup، حيث تعتمد على استدعاء أي
tag وليكن div مثلاً، وإعطائه اسماً ليتم استدعاؤه في الـ Script
المسمى VBmenu_popup
أعلم أن الموضوع يبدو طويلاً لكن الأمر سهل جداً
ملاحظة للكسالى/ يمكنكم عدم قراءة الموضوع كاملاً وتطبيق
ما بين الخطوط المتقطعة، لكن لن أجيب عن أي سؤال تم ذكره في الشرح
( شرير :] )
--------------------------------------------------
سأشرح الفكرة على قالب قالب الـ Postbit_Lagecy
ويمكن تطبيقها على قالب الـ Postbit أيضاً، وسأطرح كيفية وضع كافة
بيانات العضو في زر، ويمكن تطبيقها على جزء من البيانات كما الأمر
قم بفتح القالب، وخذ نسخة احتياطية لنبدأ العمل، ويفضل أن تستعمل
برنامج تحرير مثل الـ Expression Web، لتقوم بتحديد المنطقة التي
يوجد فيها بيانات العضو، ولنفترض أن البيانات موضوعة في جدول
، لذلك، قبل هذا الـ tag أو الوسم، قم بإضافة الكود التالي
رمز Code:
وفي نهاية الجدول قم بإغلاق الوسم بـ
رمز Code:
انتهى التركيب
--------------------------------------------------
//
ما الذي حدث؟
لمن يود فهم ما حدث عليه بقراءة التالي
عندما قمنا بوضع وسم span فقد حددنا فيه الزر الذي عند ضغطه
سيقوم بفتح قائمة بالبيانات وقمنا بوضع id لهذا الوسم ليتم استخدامه
في دالة الـ VBmenu_popup، ولا بد أن يكون لكل قائمة من قوائهما
اسم خاص بها
توضيح، لو أردنا عمل قائمتين فإننا نختار وسم span ونعطيه اسماً
وليكن pop-1 ونقوم بإدراج هذا الاسم في الـ VB_menu
لو أردنا قائمة أخرى يجب أن يكون الاسم مختلفاً عن pop-1 حتى لو
كان الوسم مختلفاً، كأن يكون وسم div مثلاً
//
إذاً كيف قمت بوضع كود واحد مع أن البيانات تتكرر لكل عضو؟
الأمر بسيط، لاحظ أننا في الكود السابق أضفنا بعد الـ id الخاص بالـ span
والذي كان كلمة more متغيراً إضافياً وهو
رمز Code:
_$post[postid]
وهذا المتغير هو رقم المشاركة في الموضوع، وعليه فإنه عند تنفيذ الكود
سيكون اسم الـ span الأول
more_1
والـ span الثاني
more_2
وهكذا، فإن هذا المتغير أراحنا من مشكلة تشابه
الأسماء لضمان عمل القائمة مع كل الردود
//
شرح مفصّل للكود (اختياري)
لمزيد من الفائدة، سأشرح طريقة عمل الكود بالتفصيل هنا
رمز Code:
حيث أن anyname هو اسم هذا الـ span ليستخدم لاحقاً ولكن يجب تذكره
رمز Code:
زر القائمة المنبثقة، والذي عند ضغطه ستفتح القائمة
رمز Code:
سكربت القائمة، لاحظ أن الاسم anyname تم استخدامه كما هو
على فرض أن القائمة ستوضع في صفحة لا يتم تكرار الكود فيها
كما في الردود مثلاً، وقمت بتوضيح كيفية حل المشكلة
رمز Code:
هنا الوسم الذي سيتضمن محتوى القائمة، ويجب أن يكون اسمه
anyname_menu
//
آمل أني وفقت في الشرح وأعتذر عن الإطالة
ولا أريد سوى دعاء لي ولوالدي
Whitespacez