حقل نموذج
From Joomla! Documentation
مقدمة
حقول نموذج هي حقول في HTML <form>
. إن جوملا! 2.5 والاصدارت الأحدث تقدم الصنف JForm لسهولة ومرونة انشاء نماذج تحتوي على كمية كبيرة من الحقول . إن كل نوع حقل نموذج هو عبارة عن صنف فرعي من حقل JFrom .
بالاضافة الى كونها أداة انشاء صفحات مرنة , فإن حفول JForm تستخدم من قبل جوملا! للسماح المدراء بتشكيل جوملا! أو ملحقاتها بدون تغيير الكود الداخلي . في جوملا! 1.5 كان يتم التعامل مع هذا JParameter و JElement classes.
لتعريف حقل نموذج في الاعدادات الخاصة بالملحقات , يجب أن تتضمنهم في اسم مجموعة الحقل fieldset , مثال <fieldset name="basic">
,
وهذا داخل <fields name="params">
section of the <config>
element in your XML manifest file.
== التحقق من النموذج ==
لدى جملة قابلية للتحقق من النموذج من جانب العميل ومن جانب المخدم.
التحقق من جانب الخادم هو الحد الأدنى لأن كل شيء قبل هذا يمكن تجاوزه على جانب المستخدم. ولكن من جانب العميل هو الأكثر سهولة في الاستخدام، ولذلك باستخدام كلاهما ليست فكرة سيئة (وخاصة لأن الأخير هو غير مزعج، ولن يعطي مشاكل في تعطيل جافا سكريبت أو متصفحات عميل -الصعبة).
التحقق من جانب العمبل
.. وهويتم من خلال جافا سيكريبت أثناء قيام المستخدم بادخال حقول النموذج.
وهي تستخدم أصناف HTML required و validate-[xxx] (مع [xxx] كونه جملة أو قاعدة مخصصة; مثال. التحقق الرقمي)
المزيد هنا التحقق من جانب العميل
التحقق من جانب المخدم
.. وهو يتم بعد ارسال النموذج ةسيعود بشكل طبيعي الى النموذج عندما لايتم التحقق مع المزيد من الرسائل. وهو يستخدم خصائص HTML required ("صخ" أو "مطلوب") و validate (مع القيمة كونه جملة أو قاعدة مخصصة; مثال. validate="بريد الكتروني")
المزيد هنا التحقق من جانب المخدم
== أنواع حقل النموذج القياسية ==
العديد من أنواع حقل النموذج form field مبنية داخل جوملا!. الجدول التالي يعرض هذه الأانواع القياسية وممدى توافرها . استعمل مرجع صفحة وحيدة إذا كنت تريد طباعة كافة توثيق حقل نموذج المتوفرة..
الرجاء الانتباه الى أن العديد من هذه الحقول متوافرة كـ parameter types في جوملا! 1.5. من أجل لائحة بأنواع المحددات , شاهد J1.5:Standard parameter types. للمقارنة بين حقل نالنموذج وحقل المحدد , شاهد Standard form field and parameter types.
النوع | الوصف | التوافر | |
---|---|---|---|
accessiblemedia | provides modal access to the media manager for insertion of images with upload for users with appropriate permissions and a text field for adding a alternative text. | and newer | |
accesslevel | يمنح لائحة منسدلة لعرض درجات الوصول | والأحدث | |
cachehandler | يمنح لائحة منسدلة بخيارات التعامل مع ذاكرة التخزين المؤقتة. | والأحدث | |
calendar | يقدم صندوق نصي لادخال المعلومات . وأيقونة بجانب صندوق النص تقدم رابط لمفكرة منبثقة , والتي يمكن استخدامها لادخال قيم تاريخ. | والأحدث | |
captcha | يقدم خدمة لعرض إضافة captcha | والأحدث | |
category | يقدم لائحة منسدلة تعرض التصنيفات لملحق extension. | والأحدث | |
checkbox | يقدم اختيار وحيد ليتم تحديده او عدم تحديده | والأحدث | |
checkboxes | يقدم صندوق اختيار غير محدودة ييمكن استخدامها في حال وجود العديد من الخيارات | والأحدث | |
Chrome Style | تقدم لائحة من خيارات قالب اسلوب كروم مجموعة حسب القالب. | والأحدث | |
color | تقدم اختيار اللون عن الضغط على صندوق الادخال. | والأحدث | |
Content Language | تقدم لائحة بلغات المحتوى. | والأحدث | |
Content Type | تقدم لائحة بأنواع المحتوى. | والأحدث | |
combo | يوفر حقل مربع التحرير والسرد | والأحدث | |
componentlayout | يقدم قائمة من مجموعة من التخطيطات الأساسية والقوالب البديلة للعنصر مكون |
والأحدث | |
contentlanguage | يقدم قائمة من اللغات المثبتة لاستخدامها بالاقتران مع البرنامج المساعد لتحويل اللغة. | والأحدث | |
Database Connection | يقدم قائمة من اتصالات قاعدة البيانات المتاحة، مما يحد بشكل اختياري لقائمة معينة. | والأحدث | |
editor | يوفر حقل منطقة محررة. | والأحدث | |
editors | يوفر قائمة المحررين WYSIWYG المتاحة.
منذ جوملا ٢.٥ استخدم plugins form field |
||
يوفر حقل البريد الإلكتروني | والأحدث | ||
file | يوفر حقل الإدخال للملفات | والأحدث | |
filelist | يوفر قائمة من الملفات من الدليل المحدد. | والأحدث | |
folderlist | يوفرانخفاض قائمة المجلدات من الدليل المحدد | والأحدث | |
groupedlist | يوفر قائمة العناصر المنظمة في مجموعات. | والأحدث | |
header tag | يوفر قائمة علامات رأس الصفحة (h1-h6). | والأحدث | |
helpsite | يوفر قائمة من المواقع المساعدة لتركيب جوملا الخاص بك | والأحدث | |
hidden | يوفر حقل مخفي لإنقاذ حقل نموذج التي لا يمكن تغييرها مباشرة من قبل المستخدم في مسؤول القيمة | والأحدث | |
imagelist | يوفر قائمة ملفات الصور في دليل المحدد إلى أسفل. | والأحدث | |
integer | يوفرقائمة من الأعداد الصحيحة بين الحد الأدنى والحد الأقصى | والأحدث | |
language | يوفر قائمة اللغات المثبتة على الواجهة الأمامية أو الخلفية | والأحدث | |
list | يوفر قائمة إدخالات المعرفة من قبل العرف | والأحدث | |
media | يوفر الوصول مشروط مدير وسائل الإعلام لادراج الصور مع تحميل للمستخدمين مع الأذونات المناسبة. | والأحدث | |
menu | يوفر قائمة من القوائم المتاحة من موقع جملة الخاص بك | والأحدث | |
Menu Item | يوفر انخفاض قائمة من القوائم المتاحة من موقع جوملا الخاص بك | والأحدث | |
meter | يوفر مقياس لاظهار قيمة في نطاق. | والأحدث | |
Module Layout | يقدم قائمة من تخطيط بديل للوحدة مجمعة حسب الأساسية والقالب. | والأحدث | |
Module Order | يوفر المنسدلة لضبط الطلب وحدة في موقف معين | والأحدث | |
Module Position | يوفر إدخال النص لضبط الموقف من وحدة نمطية. | والأحدث | |
Module Tag | يقدم قائمة من عناصر HTML5 (التي تستخدم لالتفاف وحدة نمطية في). | والأحدث | |
note | يدعم حقل نص سطر واحد. | والأحدث | |
number | يوفر مربع نص سطر واحد مع ما يصل إلى أسفل مقابض لوضع الرقم في الحقل. | والأحدث | |
password | يوفر مربع النص لدخول كلمة مرور. سيتم حجب أحرف كلمة المرور كما يتم إدخالها. | والأحدث | |
plugins | يقدم قائمة من الإضافات من مجلد معين. | والأحدث | |
predefinedlist | تشكيل الميدان لتحميل قائمة من القيم المحددة مسبقا. | والأحدث | |
radio | يوفر أزرار لتحديد الخيارات المختلفة. | والأحدث | |
range | يوفر شريط التمرير الأفقي لتحديد قيمة في نطاق معين. | والأحدث | |
repeatable | تسمح حقول النموذج الذي يمكن أن يكون لها العديد من الخيارات كما يرغب المستخدم. | والأحدث | |
rules | يوفر مصفوفة من مجموعة من خيارات عمل لإدارة مراقبة الدخول. العرض يعتمد على السياق. | والأحدث | |
sessionhandler | يوفر انخفاض قائمة خيارات معالج الجلسة على تراجع. | والأحدث | |
spacer | يقدم فاصل البصرية بين حقول النموذج. ومن بحتة المساعدات البصرية ويتم تخزين أي قيمة. | والأحدث | |
sql | يوفر انخفاض قائمة إدخالات التي تم الحصول عليها عن طريق تشغيل الاستعلام على قاعدة البيانات جوملا أسفل. العمود النتائج الأولى التي تم إرجاعها بواسطة الاستعلام يوفر القيم القائمة المنسدلة. | والأحدث | |
نموذج فرعي | تمنح طريقة لاستخدام نماذج XML داخل بعضها البعض أو تعيد استعمال نماذج موجودة داخل النموذج الحالي الخاص بك. | والأحدث | |
tag | يوفر مدخلا للعلامات (إما أجاكس أو متداخلة). | والأحدث | |
tel | يوفر حقل إدخال لرقم الهاتف. | والأحدث | |
templatestyle | يوفر انخفاض قائمة الأنماط قالب أسفل. | والأحدث | |
text | يوفر مربع نص لإدخال البيانات. | والأحدث | |
textarea | يوفر مساحة النص للدخول نص متعدد الخطوط. | والأحدث | |
timezone | يوفر انخفاض قائمة المناطق الزمنية أسفل. | والأحدث | |
URL | يوفر حقل إدخال النص URL. | والأحدث | |
user | الميدان لتحديد المستخدم من قائمة مشروط. يعرض اسم المستخدم ومخازن هوية المستخدم | والأحدث | |
useractive | الميدان لإظهار قائمة بالحالات متاح مستخدم نشط. | والأحدث | |
usergroup | يوفر انخفاض قائمة مجموعات المستخدمين إلى أسفل.
منذ اصدار ٣.٢ استخدم usergrouplist |
والأحدث | |
usergrouplist | الميدان لتحميل قائمة منسدلة من مجموعات المستخدمين المتاحة. يستبدل مجموعة المستخدم نوع حقل النموذج. | والأحدث | |
userstate | الميدان لتحميل قائمة بالحالات المستخدمين المتاحة. | والأحدث |
== أنواع حقل النموذج المخصص ==
يمكن لـ extension ان يعرف أنواع حقل نموذج خاص به , والتي يمكنها فيما بعد أن تستخدم في نماذجها الخاصة أو نماذج منشلأة من قبل ملحقات أخرى . شاهد انشئ أنواع حقل نموذج مخصص للتعليمات
=== أنواع حقل نموذج موديل ===
إذا كان لديك حقل يمتلك العديد من القيم والتي لا تتسع ضمن صندوق الاختيار , يمكنك دوما انشاء حقل نموذج موديل والذي يسمح للمستخدم بالتقاط بند من صفحة موديل مع جدول , أو بخيارات قلترة , الخ . (كما هو الحال مع أي جدول مدير مثل "المقالات").
== الخصائص المشتركة == === صنف التسمية ===
اضافة الخاصية labelclass
تضيف صنف CSS لتسمية حقول النموذج . المصدر:
http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=28450
=== الاطاع على ===
اضافة الخاصية showon
تسمح باخفاء الحقل بناءا على القيمة (القيم) لحقل آخر .
تركيب لاظهار الحقل bar only when foo توضع على "1" and baz is توضع على "1":
<field
name="foo"
type="list"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="bar"
type="text"
showon="foo:1"
/>
لمطابقة مجموعة من القيم يجب علينا وضع لائحة مفصولة بفاصلة بين القيم . مثل showon="foo:1,2"
لجمع عدة حقول يمكنك استخدام [AND]
. مثل showon="foo:1[AND]bar:1"
سطرالأوامر لاظهار حقل "bar" فقط عندما يكون"foo" على قيمة "1" و "baz" على القيمة "1":
<field
name="foo"
type="list"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="baz"
type="list"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="bar"
type="text"
showon="foo:1[AND]baz:1"
/>
لانشاء اختيار بين عدة حقول يمكنك استخدام [OR]. مثل showon="foo:1[OR]bar:1".
تركيب لإظهار الحقل "bar" فقط حينما تكون "foo" موضوعة على القيمة "1" أو "baz" على القيمة "1":
<field
name="foo"
type="list"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="baz"
type="list"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="bar"
type="text"
showon="foo:1[OR]baz:1"
/>
You can also use value 'does not equal' as in showon="field1!:1".
The syntax to show the field bar only when foo is not equal to "1":
<field
name="foo"
type="list"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
<field
name="baz"
type="list"
showon="foo!:1"
>
<option value="1">JYES</option>
<option value="0">JNO</option>
</field>
To show a field when another field (e.g. foo) has been selected (when that other field is not empty), use showon="foo!:" (without a value specified).
وهذه تم تقديمها من قبل PullRequest: https://github.com/joomla/joomla-cms/pull/3379, المتوافرة ابتداءا من جوملا 3.2.4 .
Troubleshooting: Attributes Not Working
If you have read an older version of our developer documentation, or took your form display code from an existing extension, you may be experiencing issues with attributes like showon not working at all. In order for some special attributes to function, your fields must be rendered using their renderField() method. For example:
<div class="row-fluid">
<div class="span6">
<?php
foreach($this->form->getFieldset() as $field) {
echo $field->renderField();
}
?>
</div>
</div>