it-swarm-vi.com

Các trường có sẵn trong tệp kê khai Joomla XML

Khi phát triển một phần mở rộng, các loại trường biểu mẫu tôi có thể sử dụng trong Joomla là gì?

5
johanpw

Nhiều loại trường biểu mẫu được tích hợp vào Joomla, với nhiều trường hữu ích như lịch, bộ chọn màu, bộ chọn hình ảnh, tải lên tệp, chọn tệp, v.v .:

Lĩnh vực có sẵn

+---------------------+-------------------------------------------------------------------------------------------------------+
| TYPE                | DESCRIPTION                                                                                           |
+---------------------+-------------------------------------------------------------------------------------------------------+
| accesslevel         | provides a drop down list of viewing access levels.                                                   |
+---------------------+-------------------------------------------------------------------------------------------------------+
| cachehandler        | provides a list of available cache handling options.                                                  |
+---------------------+-------------------------------------------------------------------------------------------------------+
| calendar            | provides a text box for entry of a date. An icon next to the text box                                 |
|                     | provides a link to a pop-up calendar, which can also be used                                          |
|                     | to enter the date value.                                                                              |
+---------------------+-------------------------------------------------------------------------------------------------------+
| captcha             | provides a drop down list of the captcha plugins.                                                     |
+---------------------+-------------------------------------------------------------------------------------------------------+
| category            | provides a drop down list of categories for an extension.                                             |
+---------------------+-------------------------------------------------------------------------------------------------------+
| checkbox            | provides a single checkbox to be checked or unchecked                                                 |
+---------------------+-------------------------------------------------------------------------------------------------------+
| checkboxes          | provides unlimited checkboxes that can be used for multi-select.                                      |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Chrome Style        | provides a list of template chrome style options grouped by template.                                 |
+---------------------+-------------------------------------------------------------------------------------------------------+
| color               | provides a color picker when clicking the input box.                                                  |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Content Language    | Provides a list of content languages.                                                                 |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Content Type        | Provides a list of content types.                                                                     |
+---------------------+-------------------------------------------------------------------------------------------------------+
| combo               | provides a combo box field.                                                                           |
+---------------------+-------------------------------------------------------------------------------------------------------+
| componentlayout     | provides a grouped list of core and template alternate layouts                                        |
|                     | for a component item.                                                                                 |
+---------------------+-------------------------------------------------------------------------------------------------------+
| contentlanguage     | provides a list of installed content languages for use in                                             |
|                     | conjunction with the language switcher plugin.                                                        |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Database Connection | Provides a list of available database connections,                                                    |
|                     | optionally limiting to a given list.                                                                  |
+---------------------+-------------------------------------------------------------------------------------------------------+
| editor              | provides an editor area field.                                                                        |
+---------------------+-------------------------------------------------------------------------------------------------------+
| editors             | Provides a drop down list of the available WYSIWYG editors.                                           |
|                     | Since Joomla 2.5 use plugins form field instead.                                                      |
+---------------------+-------------------------------------------------------------------------------------------------------+
| email               | provides an email field.                                                                              |
+---------------------+-------------------------------------------------------------------------------------------------------+
| file                |                                                                                                       |
+---------------------+-------------------------------------------------------------------------------------------------------+
| filelist            | provides a drop down list of files from a specified directory.                                        |
+---------------------+-------------------------------------------------------------------------------------------------------+
| folderlist          | provides a drop down list of folders from a specified directory.                                      |
+---------------------+-------------------------------------------------------------------------------------------------------+
| groupedlist         | provides a drop down list of items organized into groups.                                             |
+---------------------+-------------------------------------------------------------------------------------------------------+
| header tag          | provides a drop down list of the header tags (h1-h6).                                                 |
+---------------------+-------------------------------------------------------------------------------------------------------+
| helpsite            | provides a drop down list of the help sites for your Joomla installation.                             |
+---------------------+-------------------------------------------------------------------------------------------------------+
| hidden              | provides a hidden field for saving a form field whose value cannot be altered directly                |
|                     | by a user in the Administrator (it can be altered in code or by editing the params.ini file).         |
+---------------------+-------------------------------------------------------------------------------------------------------+
| imagelist           | provides a drop down list of image files in a specified directory.                                    |
+---------------------+-------------------------------------------------------------------------------------------------------+
| integer             | provides a drop down list of integers between a minimum and maximum.                                  |
+---------------------+-------------------------------------------------------------------------------------------------------+
| language            | provides a drop down list of the installed languages for the Front-end or Back-end.                   |
+---------------------+-------------------------------------------------------------------------------------------------------+
| list                | provides a drop down list of custom-defined entries.                                                  |
+---------------------+-------------------------------------------------------------------------------------------------------+
| media               | provides modal access to the media manager for insertion of images with                               |
|                     | upload for users with appropriate permissions.                                                        |
+---------------------+-------------------------------------------------------------------------------------------------------+
| menu                | provides a drop down list of the available menus from your Joomla site.                               |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Menu Item           | provides a drop down list of the available menu items from your Joomla site.                          |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Module Layout       | provides a list of alternative layout for a module grouped by core and template.                      |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Module Order        | Provides a drop down to set the ordering of module in a given position                                |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Module Position     | provides a text input to set the position of a module.                                                |
+---------------------+-------------------------------------------------------------------------------------------------------+
| Module Tag          | provides a list of html5 elements (used to wrap a module in).                                         |
+---------------------+-------------------------------------------------------------------------------------------------------+
| note                | supports a one line text field.                                                                       |
+---------------------+-------------------------------------------------------------------------------------------------------+
| password            | provides a text box for entry of a password.                                                          |
|                     | The password characters will be obscured as they are entered.                                         |
+---------------------+-------------------------------------------------------------------------------------------------------+
| plugins             | provides a list of plugins from a given folder.                                                       |
+---------------------+-------------------------------------------------------------------------------------------------------+
| radio               | provides radio buttons to select different options.                                                   |
+---------------------+-------------------------------------------------------------------------------------------------------+
| repeatable          | Allows form fields which can have as many options as the user desires.                                |
+---------------------+-------------------------------------------------------------------------------------------------------+
| rules               | provides a matrix of group by action options for managing access control. Display depends on context. |
+---------------------+-------------------------------------------------------------------------------------------------------+
| sessionhandler      | provides a drop down list of session handler options.                                                 |
+---------------------+-------------------------------------------------------------------------------------------------------+
| spacer              | provides a visual separator between form fields. It is purely a visual aid and no value is stored.    |
+---------------------+-------------------------------------------------------------------------------------------------------+
| sql                 | provides a drop down list of entries obtained by running a query on the Joomla Database.              |
|                     | The first results column returned by the query provides the values for the drop down box.             |
+---------------------+-------------------------------------------------------------------------------------------------------+
| tag                 | provides an entry point for tags (either AJAX or Nested).                                             |
+---------------------+-------------------------------------------------------------------------------------------------------+
| tel                 | provides an input field for a telephone number.                                                       |
+---------------------+-------------------------------------------------------------------------------------------------------+
| templatestyle       | provides a drop down list of template styles.                                                         |
+---------------------+-------------------------------------------------------------------------------------------------------+
| text                | provides a text box for data entry.                                                                   |
+---------------------+-------------------------------------------------------------------------------------------------------+
| textarea            | provides a text area for entry of multi-line text.                                                    |
+---------------------+-------------------------------------------------------------------------------------------------------+
| timezone            | provides a drop down list of time zones.                                                              |
+---------------------+-------------------------------------------------------------------------------------------------------+
| URL                 | provides a URL text input field.                                                                      |
+---------------------+-------------------------------------------------------------------------------------------------------+
| user                | provides a modal list of users.                                                                       |
+---------------------+-------------------------------------------------------------------------------------------------------+
| usergroup           | provides a drop down list of user groups.                                                             |
+---------------------+-------------------------------------------------------------------------------------------------------+

Danh sách đầy đủ với các ví dụ có thể được tìm thấy tại http://docs.j Joomla.org/Form_field .

Ví dụ sử dụng

Ví dụ tệp XML này với (hầu hết) tất cả các trường có sẵn có thể hữu ích để xem tất cả các trường có sẵn và giao diện của chúng:

<?xml version="1.0" encoding="UTF-8"?>
<extension version="2.5" type="module" client="site" method="upgrade">
   <name>All fields Demo</name>
   <description>XML file containing all available form fields in Joomla</description>
   <files>
      <filename module="mod_AllFields">mod_AllFields.php</filename>
   </files>
   <config>
      <fields name="params">
         <fieldset name="basic">
            <field name="access" type="accesslevel" label="JFIELD_ACCESS_LABEL" description="JFIELD_ACCESS_DESC" class="span12 small" />
            <field name="cache_handler" type="cachehandler" default="" label="Cache Handler Field type" description="COM_CONFIG_FIELD_CACHE_HANDLER_DESC" filter="Word" />
            <field name="mycalendar" type="calendar" default="5-10-2008" label="Select a date" description="" format="%d-%m-%Y" />
            <field name="captcha" type="plugins" folder="captcha" label="Captcha Selection field" description="COM_CONTACT_FIELD_CAPTCHA_DESC" default="" filter="cmd">
               <option value="">JOPTION_USE_DEFAULT</option>
               <option value="0">JOPTION_DO_NOT_USE</option>
            </field>
            <field name="mycategory" type="category" extension="com_content" label="Select a category" description="" />
            <field name="show_title" type="checkbox" label="Show title" description="Show the title of the item" value="1" />
            <field name="toppings" type="checkboxes">
               <option value="anch">Anchovies</option>
               <option value="chor">Chorizo</option>
               <option value="on">Onions</option>
               <option value="mush">Mushrooms</option>
            </field>
            <field name="style" type="chromestyle" label="COM_MODULES_FIELD_MODULE_STYLE_LABEL" description="COM_MODULES_FIELD_MODULE_STYLE_DESC" />
            <field name="backgroundcolor" type="color" default="#eee" label="Color selector field" description="TPL_BEEZ3_FIELD_HEADER_BACKGROUND_COLOR_DESC" />
            <field name="types" type="contenttype" label="Tags field type" description="COM_TAGS_FIELD_TYPE_DESC" multiple="true" />
            <field name="myeditbox" type="combobox" label="MyEditBox" description="myeditbox_Desc" size="7" />
            <field name="mylayout" type="componentlayout" extension="com_content" view="article" label="Component Layout field" useglobal="true" description="JFIELD_ALT_COMPONENT_LAYOUT" />
            <field name="language" type="contentlanguage" label="JFIELD_LANGUAGE_LABEL" description="COM_CATEGORIES_FIELD_LANGUAGE_DESC" class="span12 small">
               <option value="*">JALL</option>
            </field>
            <field name="dbtype" type="databaseconnection" label="DB type field" description="COM_CONFIG_FIELD_DATABASE_TYPE_DESC" supported="mysql,mysqli,postgresql,sqlsrv,sqlazure" filter="string" />
            <field name="test1" label="Test Field" type="editor" width="300" filter="safehtml" />
            <field name="email" type="email" label="JGLOBAL_EMAIL" description="COM_ADMIN_USER_FIELD_EMAIL_DESC" required="true" size="30" class="inputbox" validate="email" />
            <field name="myfilevalue" type="file" label="Enter some text" description="Choose an image from your computer with maximum 100KB" size="10" accept="image/*" />
            <field name="myfile" type="filelist" default="" label="Select a file" description="" directory="administrator" filter="" exclude="" stripext="" />
            <field name="myfolder" type="folderlist" default="" label="Select a folder" directory="administrator" filter="" exclude="" stripext="" />
            <field name="mylistvalue" type="groupedlist" default="" label="Select an option" description="">
               <group label="Group 1">
                  <option value="0">Option 1</option>
                  <option value="1">Option 2</option>
               </group>
               <group label="Group 2">
                  <option value="3">Option 3</option>
                  <option value="4">Option 4</option>
               </group>
               <option value="5">Option 5</option>
               <option value="6">Option 6</option>
            </field>
            <field name="header_tag" type="headertag" label="COM_MODULES_FIELD_HEADER_TAG_LABEL" description="COM_MODULES_FIELD_HEADER_TAG_DESC" default="h3" />
            <field name="myhelpsite" type="helpsite" default="" label="Select a help site" description="" />
            <field name="mysecretvariable" type="hidden" default="" />
            <field name="myimage" type="imagelist" default="" label="Select an image" description="" directory="" exclude="" stripext="" />
            <field name="myintegervalue" type="integer" default="Some integer" label="Choose an integer" description="" first="1" last="10" step="1" />
            <field name="mylanguage" type="language" client="site" default="en-GB" label="Select a language" description="" />
            <field name="mylistvalue" type="list" default="" label="Select an option" description="">
               <option value="0">Option 1</option>
               <option value="1">Option 2</option>
            </field>
            <field name="myimage" type="media" directory="stories" />
            <field name="mymenu" type="menu" default="mainmenu" label="Select a menu" description="Select a menu" />
            <field name="mymenuitem" type="menuitem" default="45" label="Select a menu item" description="Select a menu item" />
            <field name="mymodulelayout" type="modulelayout" label="JFIELD_ALT_LAYOUT_LABEL" description="JFIELD_ALT_MODULE_LAYOUT_DESC" />
            <field name="ordering" type="moduleorder" label="JFIELD_ORDERING_LABEL" description="JFIELD_ORDERING_DESC" />
            <field name="position" type="moduleposition" description="COM_MODULES_FIELD_POSITION_DESC" label="COM_MODULES_FIELD_POSITION_LABEL" default="" maxlength="50" />
            <field name="module_tag" type="moduletag" label="COM_MODULES_FIELD_MODULE_TAG_LABEL" description="COM_MODULES_FIELD_MODULE_TAG_DESC" default="div" />
            <field name="note31" type="note" class="alert" close="true" label="Note Field" description="Note field description here." />
            <field name="mypassword" type="password" default="secret" label="Enter a password" description="" size="5" />
            <field name="editor" type="plugins" folder="editors" description="COM_USERS_USER_FIELD_EDITOR_DESC" label="User editor field type">
               <option value="">JOPTION_USE_DEFAULT</option>
            </field>
            <field name="myradiovalue" type="radio" default="0" label="Select an option" description="">
               <option value="0">1</option>
               <option value="1">2</option>
            </field>
            <field name="session_handler" type="sessionhandler" default="none" label="Session handler field type" description="COM_CONFIG_FIELD_SESSION_HANDLER_DESC" required="true" filter="Word" />
            <field type="spacer" name="myspacer" label="Spacer field type" />
            <field name="title" type="sql" default="10" label="sql Field type" query="SELECT id AS value, title FROM #__content" />
            <field name="tags" type="tag" label="JTAG" description="JTAG_DESC" mode="ajax" class="inputbox span12 small" multiple="true" />
            <field name="admin_style" type="templatestyle" client="administrator" description="Template style field type" label="Template style field type">
               <option value="">JOPTION_USE_DEFAULT</option>
            </field>
            <field name="mytextvalue" type="text" default="Some text" label="Enter some text" description="" size="10" />
            <field name="mytextarea" type="textarea" default="default" label="Enter some text" description="" rows="10" cols="5" />
            <field name="mytimezone" type="timezone" default="-10" label="Select a timezone" description="" />
            <field name="mytextvalue" type="url" default="http://www.example.com" label="Enter a URL" description="" size="10" />
            <field name="modified_user_id" type="user" label="JGLOBAL_FIELD_MODIFIED_BY_LABEL" class="readonly" readonly="true" filter="unset" />
            <field name="guest_usergroup" type="usergroup" label="Guest usergroup field type" description="COM_USERS_CONFIG_FIELD_GUEST_USER_GROUP_DESC" multiple="true" />
         </fieldset>
      </fields>
   </config>
</extension>

Lưu ý rằng một số trường chỉ khả dụng trong Joomla 3.0 (hoặc 3.1, trong trường hợp contentType, notetag) .

Các loại trường biểu mẫu tùy chỉnh

Một tiện ích mở rộng có thể xác định các loại trường biểu mẫu riêng của nó, sau đó có thể được sử dụng trong các biểu mẫu hoặc biểu mẫu của chính nó được tạo bởi một tiện ích mở rộng khác. Xem Tạo loại trường biểu mẫu tùy chỉnh (Tài liệu Joomla!) Để biết hướng dẫn.

11
johanpw

Ngoài ra còn có một mẹo gọn gàng khác - khi sử dụng các nút Radio, bạn có thể thêm Bootstrap và chúng sẽ trông đẹp hơn. Hãy tìm thuộc tính lớp trong mã này:

<field name="some-choices" type="radio" class="btn-group btn-group-yesno"

Sau đó, bạn tiếp tục với phần còn lại của mã như bình thường.

3
Vladimir Jovanović