تعديل لإضافة زر يسهل عليك إختيار القسم عند إضافة مقال - Joomla! Forum - community, help and support


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

أممم --- راح أحاول أختصر وبدخل في الموضوع على طول

المهم

أنا تعذبت وأنا أضيف المقالات من داخل الموقع {front end} والدخول للوحة التحكم {back end} كل ما أردت أضيف شي راح يكون متعب كمان

الشي المتعب كان إختيار القسم {section} بعد أن تتصفح حتى تصل للمكان المطلوب

image

تلقى كم هائل من الأقسام التي يجب أن تختار منها

image

فقلت أسهل على نفسي وأخليه بالجافا سكربت وكوني لم أتعلمها فقمت ببالحث حتى وصلت إلى التالي

أن أضيف زر بجنب القائمة المنسدلة ليقوم بالواجب {مثل الصورة تحت} --- طبعا هذا أقصى ما إستطعته كوني لم أتعلم لغة الجافاسكربت

image

والمشكلة التي تعترض وجود هذا الزر كانت ترتيب الأقسام {sections} --- أي أن ترتيب العرض لازم يطابق الآيدي {id} في جدول _sections

شوف الصورة كيف الوضع مرقع جدا {فراغات و....}

image

وهذي الصورة بعد التعديل

image

وهنا يظهر الغرض من التعديل على القاعدة --- ليتطابق العمودين

image

فقمت ببرمجة سكربت لأختصر الوقت والجهد على نفسي يقوم بتعديله في قاعدة البيانات مباشرة في جميع الجداول التي تحتاج ذلك {طبعا الجداول الرئيسية ولا أعرف شيئا عن الإضافات}

ويعيد قيمة عداد الزيادة التلقائي {auto_increment} للآيدي لأكبر قيمة موجودة

image

طيب نبتدي الشرح

================================
مستوى الشرح مناسب للمبتدئين {والمحترفين فاهمينه على الطاير}
================================

1:- الخطوة الأولى :-

================
تعديل ترتيب الآيدي {id} في قاعدة البيانات
================

السكربت في المرفقات

shdei-joomla-sections-fixer.rar


قم برفع السكربت التالي لموقعك وضع فيه بيانات الإتصال بالقاعدة {الخاصة بالمجلة} وإمتداد الجداول {إن قمت بتغييره أثناء التثبيت} في ملف n1.php

image

قم بالدخول للسكربت على الملف التالي ثم قم بحساب عدد الأقسام عندك {sections} أو كم تحتاج لتعديله وقم بوضعه في الفراغ وإضغط موافق

image

في الفراغ الأول قم بوضع رقم الآيدي {id} الحالي للقسم {شوف المربع الأحمر في الصورة} وفي الفراغ الثاني {الرقم الذي تريد التحويل إليه}

image

وتأكد من :-

1:- عدم محاولة تحويل قسمين إلى نفس الرقم أو رقم موجود مسبقا لأنه راح يعطيك خطأ
2:- ترتيبك الحالي راح يكون هو ترتيب العرض فإحرص على أن تقوم بذلك كما تريد أن تظهر الأقسام
3:- حاول أن تضع ترتيب التغيير قبل أن تقوم به --- مثلا تريد تحويل 5 إلى 3 وتريد تحويل 3 إلى 2 فيجب أن تقوم بالعملية الثانية قبل الأولى لكي لايحدث خطأ حيث أن ترتيب التنفيذ يكون من الأعلى للأسفل

طبعا أنا إلي ريحني أنه من 1 إلى 4 كانو فاضين عندي فبديت من 5 إلى 1 ومن 6 إلى 2 وهكذا حتى النهاية --- فالحمد لله تم بدون أخطاء

وبعدين لاتنسى تضغط موافق

وإذا سويت كل شي مثل ماقلت لك --- مبروك عليك نجاح العملية بدون مشاكل --- وراح تشوف جميع الجداول باللون الأخضر

وإذا كان هناك أي خطأ سيظهر لك باللون الأحمر

image

ويمكنك التأكد من ذلك بالدخول لقاعدة البيانات أو من لوحة التحكم لإضافة الأقسام

image

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

================================

2:- الجزء الثاني :-

=================
إضافة الكود الذي سوف يعرض الزر في حال إضافة مقال جديد فقط
=================

الملف بعد التعديل موجود في المرفقات

form.zip


وأنصح بإستخدام محرر 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>';
  }

?>


إحفظ الملف وأعد رفعه على نفس المسار وإذا طلب الإستبدال إستبدله

وإذا تبي تكون دقيق شوف أرقام الأسطر

image

ومبروك عليك الملف الزر المساعد

والآن روح وجرب إضافة مقال جديد من داخل إحدى القوائم {من الموقع وليس لوحة التحكم} وسترى الزر --- إضغط عليه ليختار لك القسم الذي أتيت منه مباشرة

==================================

ملاحظات

1:- تمكنت من الوصول لنفس النتيجة بطريقتين أخريتين ولكن في الأولى لم أتمكن من جعل قائمة التصانيف الفرعية تعمل والثانية راح تحتوي شروط {دالة if} كثيرة لدرجة يصعب على المبتدئين إستيعابها بسهولة وهي متعبة مع الزمن --- فإذا أتممتهما سأخبركم
2:- قم بالتجريب على السيرفر المحلي قبل كل شيء وأنا أخلي مسؤوليتي عن أية أخطاء تحدثونها لعدم التجريب على المحلي قبل الموقع {أنا إشتغل كل شي على موقعي بدون أية مشاكل}
3:- في حال نزول نسخ جديدة من مجلة جوملا وتريد الترقية --- تأكد أن الملف الذي عدلنا عليه غير مشمول في الترقية --- وفي حال أنه كان مشمولا فتأكد أنني سوف أنبه لمايجب تغييره هنا وفي موقعي

==================================

أتمنى أني أكون قدمت شيء مفيد

وأرحب بأي إقتراحات أو تنبيها أو طلبات أو أي شيء ممكن أقدمه لكم

وهذه مجرد البداية والقادم أعظم إنشاء الله

ولا أرجو منكم إلا الدعاء في الغيب لوالدي ولي

والدرس ذو حقوق مفتوحة {يسمح النقل والإقتباس والتعديل ووو... ولكن يمنع حذف الحقوق}


وشكرا لكم

تحياتي

مراسلكم

sh4dei

من معامل شبكة شارك ديزاين

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

عمل جميل ورائع وإبداع يدل على فهم كبير لجوملا
أهنئك من كل قلبي
ليس على نتيجة العمل :)
ولكن على العمل بحد ذاته

واطلب منك أن تشاهد حلا أكثر ابداع في النسخة 1.6 وهو اضافة زر حفظ وجديد وبالتالي لن تخرج من المكان المتواجد به

مرة أخرى أهنئك وننتظر منك حلولا ابداعية جديدة

مع تحياتي





Comments

Popular posts from this blog

How to decompile jsxbin to jsx

Gavik Photoslide GK2: Not able to upload photos - Joomla! Forum - community, help and support

Phoca Guestbook logger registret bruger af - Joomla! Forum - community, help and support