تعديل لإضافة زر يسهل عليك إختيار القسم عند إضافة مقال - Joomla! Forum - community, help and support
السلام عليكم ورحمة الله وبركاته
أممم --- راح أحاول أختصر وبدخل في الموضوع على طول
المهم
أنا تعذبت وأنا أضيف المقالات من داخل الموقع {front end} والدخول للوحة التحكم {back end} كل ما أردت أضيف شي راح يكون متعب كمان
الشي المتعب كان إختيار القسم {section} بعد أن تتصفح حتى تصل للمكان المطلوب
تلقى كم هائل من الأقسام التي يجب أن تختار منها
فقلت أسهل على نفسي وأخليه بالجافا سكربت وكوني لم أتعلمها فقمت ببالحث حتى وصلت إلى التالي
أن أضيف زر بجنب القائمة المنسدلة ليقوم بالواجب {مثل الصورة تحت} --- طبعا هذا أقصى ما إستطعته كوني لم أتعلم لغة الجافاسكربت
والمشكلة التي تعترض وجود هذا الزر كانت ترتيب الأقسام {sections} --- أي أن ترتيب العرض لازم يطابق الآيدي {id} في جدول _sections
شوف الصورة كيف الوضع مرقع جدا {فراغات و....}
وهذي الصورة بعد التعديل
وهنا يظهر الغرض من التعديل على القاعدة --- ليتطابق العمودين
فقمت ببرمجة سكربت لأختصر الوقت والجهد على نفسي يقوم بتعديله في قاعدة البيانات مباشرة في جميع الجداول التي تحتاج ذلك {طبعا الجداول الرئيسية ولا أعرف شيئا عن الإضافات}
ويعيد قيمة عداد الزيادة التلقائي {auto_increment} للآيدي لأكبر قيمة موجودة
طيب نبتدي الشرح
================================
مستوى الشرح مناسب للمبتدئين {والمحترفين فاهمينه على الطاير}
================================
1:- الخطوة الأولى :-
================
تعديل ترتيب الآيدي {id} في قاعدة البيانات
================
السكربت في المرفقات
قم برفع السكربت التالي لموقعك وضع فيه بيانات الإتصال بالقاعدة {الخاصة بالمجلة} وإمتداد الجداول {إن قمت بتغييره أثناء التثبيت} في ملف n1.php
قم بالدخول للسكربت على الملف التالي ثم قم بحساب عدد الأقسام عندك {sections} أو كم تحتاج لتعديله وقم بوضعه في الفراغ وإضغط موافق
في الفراغ الأول قم بوضع رقم الآيدي {id} الحالي للقسم {شوف المربع الأحمر في الصورة} وفي الفراغ الثاني {الرقم الذي تريد التحويل إليه}
وتأكد من :-
1:- عدم محاولة تحويل قسمين إلى نفس الرقم أو رقم موجود مسبقا لأنه راح يعطيك خطأ
2:- ترتيبك الحالي راح يكون هو ترتيب العرض فإحرص على أن تقوم بذلك كما تريد أن تظهر الأقسام
3:- حاول أن تضع ترتيب التغيير قبل أن تقوم به --- مثلا تريد تحويل 5 إلى 3 وتريد تحويل 3 إلى 2 فيجب أن تقوم بالعملية الثانية قبل الأولى لكي لايحدث خطأ حيث أن ترتيب التنفيذ يكون من الأعلى للأسفل
طبعا أنا إلي ريحني أنه من 1 إلى 4 كانو فاضين عندي فبديت من 5 إلى 1 ومن 6 إلى 2 وهكذا حتى النهاية --- فالحمد لله تم بدون أخطاء
وبعدين لاتنسى تضغط موافق
وإذا سويت كل شي مثل ماقلت لك --- مبروك عليك نجاح العملية بدون مشاكل --- وراح تشوف جميع الجداول باللون الأخضر
وإذا كان هناك أي خطأ سيظهر لك باللون الأحمر
ويمكنك التأكد من ذلك بالدخول لقاعدة البيانات أو من لوحة التحكم لإضافة الأقسام
وطبعا لاتنسى حذف السكربت كاملا بعد الإنتهاء منه {حتى لايشكل أي تهديد على موقعك}
================================
2:- الجزء الثاني :-
=================
إضافة الكود الذي سوف يعرض الزر في حال إضافة مقال جديد فقط
=================
الملف بعد التعديل موجود في المرفقات
وأنصح بإستخدام محرر notepad ++
إفتح الملف التالي
/joomla/components/com_content/views/article/tmpl/form.php
إبحث عن :-
وإستبدله كاملا بالتالي
إحفظ الملف وأعد رفعه على نفس المسار وإذا طلب الإستبدال إستبدله
وإذا تبي تكون دقيق شوف أرقام الأسطر
ومبروك عليك الملف الزر المساعد
والآن روح وجرب إضافة مقال جديد من داخل إحدى القوائم {من الموقع وليس لوحة التحكم} وسترى الزر --- إضغط عليه ليختار لك القسم الذي أتيت منه مباشرة
==================================
ملاحظات
1:- تمكنت من الوصول لنفس النتيجة بطريقتين أخريتين ولكن في الأولى لم أتمكن من جعل قائمة التصانيف الفرعية تعمل والثانية راح تحتوي شروط {دالة if} كثيرة لدرجة يصعب على المبتدئين إستيعابها بسهولة وهي متعبة مع الزمن --- فإذا أتممتهما سأخبركم
2:- قم بالتجريب على السيرفر المحلي قبل كل شيء وأنا أخلي مسؤوليتي عن أية أخطاء تحدثونها لعدم التجريب على المحلي قبل الموقع {أنا إشتغل كل شي على موقعي بدون أية مشاكل}
3:- في حال نزول نسخ جديدة من مجلة جوملا وتريد الترقية --- تأكد أن الملف الذي عدلنا عليه غير مشمول في الترقية --- وفي حال أنه كان مشمولا فتأكد أنني سوف أنبه لمايجب تغييره هنا وفي موقعي
==================================
أتمنى أني أكون قدمت شيء مفيد
وأرحب بأي إقتراحات أو تنبيها أو طلبات أو أي شيء ممكن أقدمه لكم
وهذه مجرد البداية والقادم أعظم إنشاء الله
ولا أرجو منكم إلا الدعاء في الغيب لوالدي ولي
والدرس ذو حقوق مفتوحة {يسمح النقل والإقتباس والتعديل ووو... ولكن يمنع حذف الحقوق}
وشكرا لكم
تحياتي
مراسلكم
sh4dei
من معامل شبكة شارك ديزاين
أممم --- راح أحاول أختصر وبدخل في الموضوع على طول
المهم
أنا تعذبت وأنا أضيف المقالات من داخل الموقع {front end} والدخول للوحة التحكم {back end} كل ما أردت أضيف شي راح يكون متعب كمان
الشي المتعب كان إختيار القسم {section} بعد أن تتصفح حتى تصل للمكان المطلوب
تلقى كم هائل من الأقسام التي يجب أن تختار منها
فقلت أسهل على نفسي وأخليه بالجافا سكربت وكوني لم أتعلمها فقمت ببالحث حتى وصلت إلى التالي
أن أضيف زر بجنب القائمة المنسدلة ليقوم بالواجب {مثل الصورة تحت} --- طبعا هذا أقصى ما إستطعته كوني لم أتعلم لغة الجافاسكربت
والمشكلة التي تعترض وجود هذا الزر كانت ترتيب الأقسام {sections} --- أي أن ترتيب العرض لازم يطابق الآيدي {id} في جدول _sections
شوف الصورة كيف الوضع مرقع جدا {فراغات و....}
وهذي الصورة بعد التعديل
وهنا يظهر الغرض من التعديل على القاعدة --- ليتطابق العمودين
فقمت ببرمجة سكربت لأختصر الوقت والجهد على نفسي يقوم بتعديله في قاعدة البيانات مباشرة في جميع الجداول التي تحتاج ذلك {طبعا الجداول الرئيسية ولا أعرف شيئا عن الإضافات}
ويعيد قيمة عداد الزيادة التلقائي {auto_increment} للآيدي لأكبر قيمة موجودة
طيب نبتدي الشرح
================================
مستوى الشرح مناسب للمبتدئين {والمحترفين فاهمينه على الطاير}
================================
1:- الخطوة الأولى :-
================
تعديل ترتيب الآيدي {id} في قاعدة البيانات
================
السكربت في المرفقات
قم برفع السكربت التالي لموقعك وضع فيه بيانات الإتصال بالقاعدة {الخاصة بالمجلة} وإمتداد الجداول {إن قمت بتغييره أثناء التثبيت} في ملف n1.php
قم بالدخول للسكربت على الملف التالي ثم قم بحساب عدد الأقسام عندك {sections} أو كم تحتاج لتعديله وقم بوضعه في الفراغ وإضغط موافق
في الفراغ الأول قم بوضع رقم الآيدي {id} الحالي للقسم {شوف المربع الأحمر في الصورة} وفي الفراغ الثاني {الرقم الذي تريد التحويل إليه}
وتأكد من :-
1:- عدم محاولة تحويل قسمين إلى نفس الرقم أو رقم موجود مسبقا لأنه راح يعطيك خطأ
2:- ترتيبك الحالي راح يكون هو ترتيب العرض فإحرص على أن تقوم بذلك كما تريد أن تظهر الأقسام
3:- حاول أن تضع ترتيب التغيير قبل أن تقوم به --- مثلا تريد تحويل 5 إلى 3 وتريد تحويل 3 إلى 2 فيجب أن تقوم بالعملية الثانية قبل الأولى لكي لايحدث خطأ حيث أن ترتيب التنفيذ يكون من الأعلى للأسفل
طبعا أنا إلي ريحني أنه من 1 إلى 4 كانو فاضين عندي فبديت من 5 إلى 1 ومن 6 إلى 2 وهكذا حتى النهاية --- فالحمد لله تم بدون أخطاء
وبعدين لاتنسى تضغط موافق
وإذا سويت كل شي مثل ماقلت لك --- مبروك عليك نجاح العملية بدون مشاكل --- وراح تشوف جميع الجداول باللون الأخضر
وإذا كان هناك أي خطأ سيظهر لك باللون الأحمر
ويمكنك التأكد من ذلك بالدخول لقاعدة البيانات أو من لوحة التحكم لإضافة الأقسام
وطبعا لاتنسى حذف السكربت كاملا بعد الإنتهاء منه {حتى لايشكل أي تهديد على موقعك}
================================
2:- الجزء الثاني :-
=================
إضافة الكود الذي سوف يعرض الزر في حال إضافة مقال جديد فقط
=================
الملف بعد التعديل موجود في المرفقات
وأنصح بإستخدام محرر notepad ++
إفتح الملف التالي
/joomla/components/com_content/views/article/tmpl/form.php
إبحث عن :-
code: select all
<td>
<?php echo $this->lists['sectionid']; ?>
</td>
وإستبدله كاملا بالتالي
code: select all
<?php
$dd = '<script language="javascript">
function select00option(num)
{
var selobj = document.getelementbyid(\'sectionid\');
selobj.selectedindex = num;
changedynalist( \'catid\', sectioncategories, document.adminform.sectionid.options[document.adminform.sectionid.selectedindex].value, 0, 0);
}
</script>
<td> ' ;
if ( $_get[sectionid] >= 1)
{
echo $dd ;
$prid = $_get[sectionid] ; $prid++ ;
echo $this->lists['sectionid'] ;
echo '<input type="button" value="أين كنت" onclick="select00option( '.$prid.' );" />
</td>';
}
else {
echo '<td>';
echo $this->lists['sectionid'];
echo '</td>';
}
?>
إحفظ الملف وأعد رفعه على نفس المسار وإذا طلب الإستبدال إستبدله
وإذا تبي تكون دقيق شوف أرقام الأسطر
ومبروك عليك الملف الزر المساعد
والآن روح وجرب إضافة مقال جديد من داخل إحدى القوائم {من الموقع وليس لوحة التحكم} وسترى الزر --- إضغط عليه ليختار لك القسم الذي أتيت منه مباشرة
==================================
ملاحظات
1:- تمكنت من الوصول لنفس النتيجة بطريقتين أخريتين ولكن في الأولى لم أتمكن من جعل قائمة التصانيف الفرعية تعمل والثانية راح تحتوي شروط {دالة if} كثيرة لدرجة يصعب على المبتدئين إستيعابها بسهولة وهي متعبة مع الزمن --- فإذا أتممتهما سأخبركم
2:- قم بالتجريب على السيرفر المحلي قبل كل شيء وأنا أخلي مسؤوليتي عن أية أخطاء تحدثونها لعدم التجريب على المحلي قبل الموقع {أنا إشتغل كل شي على موقعي بدون أية مشاكل}
3:- في حال نزول نسخ جديدة من مجلة جوملا وتريد الترقية --- تأكد أن الملف الذي عدلنا عليه غير مشمول في الترقية --- وفي حال أنه كان مشمولا فتأكد أنني سوف أنبه لمايجب تغييره هنا وفي موقعي
==================================
أتمنى أني أكون قدمت شيء مفيد
وأرحب بأي إقتراحات أو تنبيها أو طلبات أو أي شيء ممكن أقدمه لكم
وهذه مجرد البداية والقادم أعظم إنشاء الله
ولا أرجو منكم إلا الدعاء في الغيب لوالدي ولي
والدرس ذو حقوق مفتوحة {يسمح النقل والإقتباس والتعديل ووو... ولكن يمنع حذف الحقوق}
وشكرا لكم
تحياتي
مراسلكم
sh4dei
من معامل شبكة شارك ديزاين
وعليكم السلام ورحمة الله وبركاته
عمل جميل ورائع وإبداع يدل على فهم كبير لجوملا
أهنئك من كل قلبي
ليس على نتيجة العمل
ولكن على العمل بحد ذاته
واطلب منك أن تشاهد حلا أكثر ابداع في النسخة 1.6 وهو اضافة زر حفظ وجديد وبالتالي لن تخرج من المكان المتواجد به
مرة أخرى أهنئك وننتظر منك حلولا ابداعية جديدة
مع تحياتي
عمل جميل ورائع وإبداع يدل على فهم كبير لجوملا
أهنئك من كل قلبي
ليس على نتيجة العمل
ولكن على العمل بحد ذاته
واطلب منك أن تشاهد حلا أكثر ابداع في النسخة 1.6 وهو اضافة زر حفظ وجديد وبالتالي لن تخرج من المكان المتواجد به
مرة أخرى أهنئك وننتظر منك حلولا ابداعية جديدة
مع تحياتي
Comments
Post a Comment