API15

JParameter/loadElement

From Joomla! Documentation

< API15:JParameter

The "API15" 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]

Loads a element type

[<! removed edit link to red link >]

<! removed transcluded page call, red link never existed >

Syntax[edit]

& loadElement($type, $new=false)
Parameter Name Default Value Description
$type elementType
$new false

Returns[edit]

object

Defined in[edit]

libraries/joomla/html/parameter.php

Importing[edit]

jimport( 'joomla.html.parameter' );

Source Body[edit]

function &loadElement( $type, $new = false )
{
        $false = false;
        $signature = md5( $type  );

        if( (isset( $this->_elements[$signature] ) && !is_a($this->_elements[$signature], '__PHP_Incomplete_Class'))  && $new === false ) {
                return  $this->_elements[$signature];
        }

        $elementClass   =       'JElement'.$type;
        if( !class_exists( $elementClass ) )
        {
                if( isset( $this->_elementPath ) ) {
                        $dirs = $this->_elementPath;
                } else {
                        $dirs = array();
                }

                $file = JFilterInput::clean(str_replace('_', DS, $type).'.php', 'path');

                jimport('joomla.filesystem.path');
                if ($elementFile = JPath::find($dirs, $file)) {
                        include_once $elementFile;
                } else {
                        return $false;
                }
        }

        if( !class_exists( $elementClass ) ) {
                return $false;
        }

        $this->_elements[$signature] = new $elementClass($this);

        return $this->_elements[$signature];
}

[<! removed edit link to red link >] <! removed transcluded page call, red link never existed >

Examples[edit]

Code Examples[edit]