أساسيات الوحدة

أساسيات الوحدة

الوحداتالموقع والاسم

يجب إضافة جميع الوحدات فيوحداتمجلدفي الدليل الجذري الخاص بك حيث يتم تثبيت Crm لدينا ويجب على كل وحدةلديك اسم مجلد فريد وملف init بنفس اسم مجلد الوحدة الخاصة بكالاسم.

إنشاءوحدتك الأولى

قبلالبدء في تطوير وحدة، تأكد من تعيينوضع التنميةمن أجل رؤية أيالأخطاء والوظائف / السنانير تحذيرات الاستهلاك.

للبدء وإنشاء الوحدة الأولى الخاصة بك ، اتبعالخطوات أدناه.

·انتقل إلى تركيب Crm لدينا وافتحوحداتالدليل

·إنشاء دليل جديد وتسميته بعد الوحدة الخاصة بك(هـ) ف.عينة_وحدة)

·إنشاء ملف Php جديدبنفس اسمدليل الوحدةفي هذه الحالةsample_module. php,هذا الملف سيكون بمثابة "إيتملف "لهذه الوحدة.

في هذه الحالة ، تم إنشاء الوحدة وتسجيلها بالفعللكنه لا يفعل أي شيء حتى الآن ولا لديه أي اسم أو أوصاف المضافة، ونحنسوف تضيف البيانات الوصفية للوحدة مثل الاسم والوصف وعنوان Url والمؤلف عبر phpحظر التعليق الذي سيكون بمثابة رؤوس وحدة.

يجب إضافة رؤوس الوحدة فقط في وحدة initملف.

الآن افتح وحدة العينة.ملف php أنشأنا من قبل وأضف التعليق التالي في أعلى الملف:

<؟Php

/**

* يضمن أن ملف init وحدة لا يمكن أن يكونالوصول إليها مباشرة، فقط داخل التطبيق.

*/

تعريف ("الأساس") أوالخروج ("لا يسمح بالوصول المباشر إلى البرنامج النصي") ؛

/*

اسم الوحدة: عينة لديناوحدة Crm

الوصف: عينةوصف الوحدة.

الإصدار: 2.3.0

يتطلب على الأقل: 2.3.*

*/

بعد حفظ الملف ، يمكنك التنقل في Crm الخاص بكمنطقة الإدارة إلىإعداد-> وحداتوسوف تكون قادرة على رؤيةوحدتك المدرجة.

سيكون التعليق بمثابة رأس ملف للوحدة ، أنتيجب التحقق مندليل رؤوس الملفاتإذا كنت ترغب في الحصول علىأكثر دراية.

جعلتأكد من أنك دائما إضافة Meme itاسم الوحدةرأس

إنهمهم جدا لتأكد من أن اسم مجلد الوحدة الخاصة بك و .Phpاسم الملف هو نفسه، وإلا ، لن يتم عرض وحدتك فيقائمة الوحدات

الأساسيةالسنانير

سوف تحتاج إلى تنفيذ عدد قليل من الخطافات الأساسية عند إنشاءوحدة جديدة، مثلregister_activation_hook()التسجيل_تعطيل_hook()لجنة حقوق الإنسانRegister_uninstall_hook()

إذا كنت على دراية بـ WordPress ، فمن المحتمل أن تعرفالعمل الذي تقوم به هذه السنانير.

إضافةالسنانير

يمكنك إضافة خطافات في الوحدة الخاصة بك.ملفات Php مع:

السنانير ()->add_action($tag,$function_to_add ، $الأولوية = 10 ، $corded_args = 1 ؛

السنانير ()->add_filter($علامة,$function_to_add ، $الأولوية = 10 ، $corded_args = 1 ؛

السنانير ()-> do_action($tag,$arg = ")؛

السنانير ()->apply_filters($علامة,$قيمة, $Params إضافية;

يمكنك إضافة الفلاتر والإجراءات الخاصة بك حتى تتمكن من استخداملهم في تنفيذ الوحدة الخاصة بك أيضا، وإضافة الإجراءات والمرشحات سوف تساعدوحدات أخرى للتفاعل مع وحدتك وتوسيع الوحدةالوظائف.

البادئةوظائف مخصصة

يجب عليكدائما البادئة أي وظائف مخصصةلجنة حقوق الإنسانفئات لمنع أي تعارض مع وظائفنا أو فئاتنا الافتراضية Crm أومع أي وحدات أخرى.

استخداممثال رمزي في ملفات وحدة

ربما سوف ترغب في استخدام إطار كوديجنيترمثال في ملف init وحدة الخاص بك أو أي ملفات وحدات أخرى ليستتوسيع الطبقات الأساسية الإطارية.

$هذا، يعمل فقط داخل وحدات التحكم الخاصة بك ،نماذجك أو وجهات نظرك.

يمكنك تحقيق ذلك في أي مكان في الملفات الخاصة بك معالرمز التالي:

أولاً ، قم بتعيين كائن CodeIgniter لمتغير:

$CI = &get_instance() ؛

بمجرد تعيين الكائن لمتغير ، ستستخدمهذا المتغيربدلا من ذلكالجلسات المعقودة$هذا

$Ci=&get_instance()

$CI->load-> helper('module_name/helper_name')؛

$CI->load-> المكتبة('module_name/library_name')؛

قاعدة البياناتالبادئة

من الإصدار 2.3.0 لدينا Crm لديها خيار لتحديد العرفبادئة جداول قاعدة البيانات.

بادئة الجدول الافتراضي في Crm لدينا هيTbl

يجب عليك دائما استخدام وظيفتنا المخصصةدب_prefix()إلىالحصول على بادئة قاعدة البيانات عند الاستعلام عن قاعدة البيانات، وهذا سيضمن أنه فيإذا قام المستخدم بتغيير بادئة قاعدة البيانات ، فستظل وحدتك تعمل معبادئة المستخدم الجديدة.

وهنا مثال منتتبع الأهدافوحدةتثبيت. phpملف.

<؟Php

تعريف ("الأساس") أوالخروج ("لا يسمح بالوصول المباشر إلى البرنامج النصي") ؛

إذا(!$CI->db-> table_exists(db_prefix() . "الأهداف") {

$CI->db-> الاستفسار ("إنشاء الجدول".db_prefix () . "الأهداف" (

"id" in (11) ليس بلا،

"الموضوع" varchar (191) ليس صفرًا ،

نص "وصف" ليس بلا،

تاريخ "start_date" ليس بلا،

تاريخ "end_date" ليس صفرًا ،

'goal_type' int(11) وليس صفر،

'contact_type' int(11) وليس NULL DEFAULT '0'،

"الإنجاز" في (11) وليس صفر،

'nothen_fail' tinint(1) ليس صفرًادفاولت '1'

'notify_when_achieve' tinint(1) ليس صفردفاولت '1'

'أخطر' in (11) وليس NULL DEFAULT '0'،

'staff_id' int(11) ليس صفر DEFAULT '0'

) المحرك = ديفولت InnoDBتشارسيت=". $CI-> db-> char_set. '؛')؛

إنشاءخيارات الوحدة

لدينا Crm لديه جدول في قاعدة البياناتالخياراتمن أجلتخزين إعدادات مختلفة للاستخدام الداخلي والإعدادات المستخدمة فيالميزات. لقد قمنا بتطوير وظائف Php مخصصة من شأنها إجراء الاستعلامات لجلب الخيارات من قاعدة البيانات.

أسماء الخيارات هي سلاسل، ويجب أن تكون فريدة من نوعها بحيث.أنها لا تتعارض مع إدارة علاقات العملاء لدينا أو وحدات أخرى.

add_option($اسم,$قيمة, $autoload)

$الاسم
مطلوب (السلسلة). اسم الخيار المراد إضافته ، وجعلتأكد من أنها فريدة من نوعها ومسبقة مع E. q. اسم الوحدة الخاصة بك.

$القيمة
قيمة الخيار (السلسلة)

$autoload
(أكثر) 1 أو 0
ما إذا كان ينبغي أن يكون هذا الخيار تلقائيا مع جميع الخيارات الأخرى، إذا كنتباستخدام الخيار الكثير من الوقت في وجهة النظر، والأفضل هو أن التلقائي لمنع الاستفسارات المتعددة من أجل الحصول على الخيار. التخلف عن السداد إلى 1

ضع في اعتبارك أنإضافة_optionوظيفةلن ينشئ الخيار إذا كان اسم الخيار موجودًا بالفعل في جدول الخيارات.

get_option($option_name)؛

استرداد خيار من قاعدة البيانات،$option_name(السلسلة)اسم خيارك.

update_option($option_name,$new_value)

الجلسةupdate_optionوظيفة سوف تحديث Meme itقيمة الخيار، منذ الإصدار 2.3.3، عند الاتصالupdate_option إذا كانالخيار غير موجود ، سيقوم Crm بإنشاء هذا الخيار.


    • Related Articles

    • أمن الوحدة

      لذلك ، قمت بإنشاء وحدتك وتعمل بشكل جيد ، ولكن هل هوآمنة؟ يجب عليك التأكد من أن وحدتك آمنة وليست عرضة لأيحقن Sql هي اجتياز الدليل. يمكنك أن تجد أدناه أفضل الممارسات للتأكد من أنالوحدة ستكون آمنة. لا تتردد في تطبيق أفضل الممارسات الخاصة بكوحدة الأمن. ...
    • رؤساء ملفات الوحدة

      تتكون كل وحدة في CRM لدينا من ملف init يحتوي علىتكوين الوحدة العامة ويشمل رؤوس تحتوي علىالمعلومات الفوقية المتعلقة بالوحدة. الوحدةمثال رؤوس ملفات init المثال التالي مأخوذ من وحدة Crm الافتراضية لديناإعداد القائمة الذي يأتي مع التثبيت. <؟Php تعريف ...
    • وظائف الوحدة المشتركة

      التسجيل_التنشيط_هوك /** * تسجيل وحدة هوك تنشيط * @paramسلسلة $الوحدةاسم نظام الوحدة * @paramمختلطة $ وظيفةوظيفة للخطاف * @return مختلطة */ register_activation_hook($وحدة, $وظيفة) التسجيل_تعطيل_هوك /** * تسجيل وحدة تعطيل هوك * @paramسلسلة $الوحدةاسم ...
    • سياسة الخصوصية

      تنصل آخر تحديث 29 مارس 2023 إخلاء المسؤولية عن الموقع الإلكتروني المعلومات المقدمة من BIMeta Corporation ("نحن" أو "نحن" أو "خاصتنا") على https://www.bimeta.net ("الموقع") وتطبيق الهاتف المحمول الخاص بنا هي لأغراض إعلامية عامة فقط. يتم تقديم جميع ...
    • إضافة عناصر/منتجات

      إنشاء عنصر جديد لإنشاء عناصر جديدة من قائمة المشرف الرئيسي انتقل إلىالمبيعات->البنودوانقر على الزر الأيسر العلويبند جديد. الوصف- إعطاء العنصر وصف موجز لعنوان العنصر. وصف طويل- وصف طويل البند للحصول على معلومات أكثر تفصيلا. السعرالتكلفة الإجمالية لهذا ...