Jump to content

امتداد:ContactPage

From mediawiki.org
This page is a translated version of the page Extension:ContactPage and the translation is 100% complete.
الدليل المرجعي لامتدادات ميدياويكي
ContactPage
حالة الإصدار مستقر
تنفيذ صفحة خاصة , وصلة
بيان يقدم نموذج اتصال للزوار
المؤلف/المؤلفون Daniel Kinzler, Sam Reed
آخر إصدار Continuous updates
سياسة التوافق تصدر اللقطات البرمجية مع ميدياويكي. الإصدار الرئيسي لا يتوافق مع الإصدارات السابقة.
PHP 5.4+
تغييرات قاعدة البيانات لا
ترخيص رخصة جنو العمومية 2.0 أو ما بعدها
التنزيل
README
مثال nl.wikipedia.org
  • $wgContactConfig
ترجم الامتداد ContactPage لو كان متوفرا على translatewiki.net
دور فاغرانت contactpage
المسائل المهام المفتوحة · الإبلاغ عن عطل تقني

ينفّذ امتداد ContactPage نموذج اتصال مخصص للزوار. يستحدث الامتداد صفحة خاصة تحمل اسم «Special:Contact»، وهي مشابهة للصفحة «Special:EmailUser»، إلا أنها تحتوي على متلقي واحد محدد، ويمكن استخدامها دون تسجيل.

التنصيب والإعداد

  • نزّل الملف/الملفات وضعها في دليل يحمل اسم ‎ContactPage داخل مجلد ‎extensions/‎ لديك.
    يجب على مطوري البرمجيات والمساهمين بالكود البرمجي تثبيت الامتداد من غت بدلا من ذلك، مستخدمين:
    cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ContactPage
    
  • أضف الكود التالي في الجزء الأسفل من ملف LocalSettings.php :
    wfLoadExtension( 'ContactPage' );
    $wgContactConfig['default'] = [
        'RecipientUser' => null, // يتعيّن أن يكون اسم حساب صالح ملحق به حساب بريد إلكتروني جرى التأكد من صحته.
        'RecipientEmail' => 'Contact Form on ' . $wgSitename,  // يجب ترجمة 'Contact Form on'
        'RecipientName' => null,
        'SenderEmail' => null, // القيمة الافتراضية هي $wgPasswordSender، يجوز تغييرها حسب الحاجة
        'SenderName' => null,
        'RequireDetails' => false,
        'IncludeIP' => false,
        'MustBeLoggedIn' => false,
        'MustHaveEmail' => false, // القيمة «True» تعني أن المستخدم الذي يرفع النموذج يتعين أن يكون لديه عنوان بريد إلكتروني
        'NameReadonly' => false,
        'EmailReadonly' => false,
        'SubjectReadonly' => false,
        'UseCustomBlockMessage' => false,
        'Redirect' => null,
        'RLModules' => [], // تضيف الوحدات البرمجية لتحميل الموارد إلى صفحة تحميل النموذج.
        'RLStyleModules' => [], // تضيف الوحدات البرمجية لتحميل موارد سي إس إس إلى صفحة عرض النموذج.
        'AdditionalFields' => [
    		'Text' => [
    			'label-message' => 'emailmessage',
    			'type' => 'textarea',
    			'required' => true
    		]
    	],
    	'FieldsMergeStrategy' => null
    ];
    
  • طالع صفحة README file لمزيد من الخيارات للتخصيص والتكييف حسب الرغبة.
  • Yes تم التنفيذ – اذهب إلى Special:Version على موقع الويكي لديك كي تتحقق من أن الامتداد قد ثبت بنجاح.
يمكنكم الحصول على اختبار كابتشا لصفحة الاتصال لو كان لديكم امتداد ConfirmEdit منصّبا. يمكن تشغيل كابتشا بإضافة القيمة
$wgCaptchaTriggers['contactpage'] = true;
إلى ملف «LocalSettings.php» أسفل استدعاء كلا الامتدادين.

تخصيص إضافي

  1. أضف الكود التالي (مستخدما معرف الموارد الموحد الصحيح) إلى ملف LocalSettings.php لديك:
    $wgHooks['SkinAddFooterLinks'][] = function( Skin $skin, string $key, array &$footerlinks ) {
        if ( $key === 'places' ) {
            $footerlinks['contact'] = Html::element( 'a',
                [
                    'href' => 'https://www.example.org/wiki/Special:Contact',  // معرف موارد موحد يذهب إلى صفحة «خاص:اتصال - Special:Contact»
                    'rel' => 'noreferrer noopener'  // غير مطلوب، إلا أننا نحبذه لأسباب أمنية
                ],
            $skin->msg( 'contactpage-label' )->text()
            );
        };
    };
    
  2. أضف الوسم «Special:Contact» إلى رسالة النظام MediaWiki:Contactpage-label.

إنشاء نماذج معقدة

طالع HTMLForm والصفحات المعنية الأخرى لمزيد من المعلومات عن الإمكانات المحتملة لإنشاء المزيد من النماذج المعقدة.

يقدم Manual:HTMLForm Tutorial 3 المزيد من التفاصيل عن القيم التي يمكن استخدامها لأغراض قيمة type في الخانات المدرجة تحت AdditionalFields. على سبيل المثال، يمكنك استخدام 'type': 'usersmultiselect' ليصبح لديك خانة تسمح باختيار عدة أسماء مستخدمين.

المشاكل

قد يتلقى مستخدمو بعض مقدمي خدمات الاستضافة مثل SiteGround وAmazon SES رسالة خطأ لبريد بي إتش بي أو رسالة مفادها أن عنوان المرسِل غير مضبوط في الخادم، رغم أن $wgPasswordSender مضبوطا ضبطا صحيحا ووظائف البريد الإلكتروني الأخرى تعمل كما يرام. تصويب هذه المشكلة مبيّن هنا .

انظر أيضا

  • Extension:EmailPage - يسمح بإرسال مقالات معروضة كاملةً تحتوي على سي إس إس مدمج إلى مستخدمين أو مجموعات أو قوائم اتصال
  • Extension:CIForms - نماذج تحتوي على أسئلة تحقق آلية أو أسئلة اختيار من متعدد أو اختبارات