حقل نموذج
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. | ![]() | |
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>