API16

JForm/load

From Joomla! Documentation

< API16:JForm
Revision as of 17:50, 22 March 2010 by Doxiki (talk | contribs) (New page: ===Description=== Method to load the form description from a file or string. <span class="editsection" style="font-size:76%;"> <nowiki>[</nowiki>[[Description:JForm/load|Edit Descript...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The "API16" namespace is an archived namespace. This page contains information for a Joomla! version which is no longer supported. It exists only as a historical reference, it will not be improved and its content may be incomplete and/or contain broken links.

Description[edit]

Method to load the form description from a file or string.

[Edit Descripton]

Template:Description:JForm/load

Syntax[edit]

load($data, $file=true, $reset=true)
Parameter Name Default Value Description
$data $data The name of an XML file or an XML string.
$file true $file Flag to toggle whether the $data is a file path or a string.
$reset true $reset Flag to toggle whether the form description should be reset.

Returns[edit]

boolean True on success, false otherwise.

Defined in[edit]

libraries/joomla/form/form.php

Importing[edit]

jimport( 'joomla.form.form' );

Source Body[edit]

public function load($data, $file = true, $reset = true)
{
        $return = false;

        // Make sure we have data.
        if (!empty($data)) {
                // If the data is a file, load the XML from the file.
                if ($file) {
                        // If we were not given the absolute path of a form file, attempt to find one.
                        if (!is_file($data)) {
                                jimport('joomla.filesystem.path');
                                $data = JPath::find(self::addFormPath(), strtolower($data).'.xml');
                                if (!$data) {
                                        return false;
                                }
                        }

                        // Attempt to load the XML file.
                        $xml = JFactory::getXML($data);
                }
                // Load the data as a string.
                else {
                        $xml = JFactory::getXML($data, false);
                }
                // Make sure the XML was loaded.
                if ($xml) {
                        // Check if any groups exist.
                        if (isset($xml->fields)) {
                                // Load the form groups.
                                foreach ($xml->fields as $group) {
                                        $this->loadFieldsXML($group, $reset);
                                        $return = true;
                                }
                        }

                        // Check if a name is set.
                        if ((string)$xml->attributes()->name && $reset) {
                                $this->setName((string)$xml->attributes()->name);
                        }
                }
        }

        return $return;
}

[Edit See Also] Template:SeeAlso:JForm/load

Examples[edit]

<CodeExamplesForm />