Get an HTML attribute defined by the field, or added through {@link setAttribute()}.

Caution: this doesn't work on all fields, see {@link setAttribute()}.

@param string $name
@return string
420362
public function getAttribute($name)
    {
        $attributes = $this->getAttributes();

        if (isset($attributes[$name])) {
            return $attributes[$name];
        }

        return null;
    }
1063509
public function getAttr(string $name)
    {
        if (!isset($this->attr[$name]))
        {
            return NULL;
        }

        return $this->attr[$name];
    }
444798
public Object getAttribute(String name)
    {
        if (_attributes==null)
            return null;
        return _attributes.get(name);
    }
1093958
public function attrGet($name)
    {
        $idx = $this->attrIndex($name);
        $value = null;
        if ($idx >= 0) {
            $value = $this->attrs[$idx][1];
        }
        return $value;
    }
1136500
public function getAttribute(string $name)
    {
        if (array_key_exists($name, $this->attributes)) {
            return $this->attributes[$name];
        }

        throw new AttributeNotFoundException($this, $name);
    }
1046978
public function attribute( $name )
    {
        if ( $this->hasAttribute( $name ) )
        {
            return $this->attributes[$name];
        }
        else
        {
            $value = null;
            return $value;
        }
    }
1266972
public function getAttribute($name)
    {
        if (!isset($this->attrs[$name]))
        {
            return null;
        }

        return $this->attrs[$name];
    }
1239666
public function getAttribute($name)
    {
        $result = null;

        if ($this->attributeExists($name)) {
            $result = $this->attributes[$name];
        }

        return $result;
    }
687664
public function getAttribute($xpath, $name) {
    $elements = $this->findElement($xpath, 1);
    return $this->browser->attribute($elements["page_id"], $elements["ids"][0], $name);
  }
872587
public function getAttributeValue($name){
        $returnValue = null;
        if($this->hasAttribute($name)){
            $returnValue = $this->attributes[$name]->getValue();
        }
        return $returnValue;
    }
167144
public function getParameterValue($name)
    {
        return (isset($this->attributes[$name])) ? $this->attributes[$name] : null;
    }
1172594
protected function _getAttributeValue($name)
    {
        if (!array_key_exists($name, $this->attributes)) {
            throw (new UnknownAttributeException("Programmer: Don't know how to retreive attribute `$name`."))
                ->addOffender($name);
        }

        if (!$this->getId()) {
            return $this->attributes[$name];
        }

        $this->initialize();

        return $this->attributes[$name];
    }
1273571
function attribute( $name )
    {
        switch ( $name )
        {
            case "name" :
            {
                return $this->Name;
            } break;
            case "id" :
            {
                return $this->ID;
            } break;
            case "group_id":
            {
                return $this->GroupID;
            } break;
            case "rules":
            {
                return $this->Rules;
            } break;
            case "multioption_list" :
            {
                return $this->Options;
            } break;
            case "optiongroup_list":
            {
                return $this->ChildGroupList;
            } break;
            default:
            {
                eZDebug::writeError( "Attribute '$name' does not exist", __METHOD__ );
                $retValue = null;
                return $retValue;
            }break;
        }
    }
1139390
protected function getModelValueAttribute($name)
    {
        $key = $this->transformKey($name);

        if (method_exists($this->model, 'getFormValue')) {
            return $this->model->getFormValue($key);
        }

        return data_get($this->model, $this->transformKey($name));
    }
374029
public function &getAttributeByName($name)
    {
        if (!isset( $this->attributes[$name] )) {
            throw new \RuntimeException( 'An attribute by the name of \'' . $name . '\' could not be located on the \'' . $this->getName() . '\' entity.' );
        }

        return $this->attributes[$name];
    }
823336
@Override
    public String getAttribute(final String name) {
        String value;
        value = hash.get(name);
        return value;
    }
72316
protected function getHtml( $name )
	{
		$context = $this->getContext();
		$cache = $context->getCache();
		$key = md5( $name . 'product:detail-seen' );

		if( ( $html = $cache->get( $key ) ) === null )
		{
			$expire = null;
			$tags = [];
			$view = $this->getView();
			$config = $context->getConfig();

			$default = array( 'media', 'price', 'text' );
			$domains = $config->get( 'client/html/catalog/domains', $default );

			/** client/html/catalog/detail/seen/domains
			 * A list of domain names whose items should be available in the last seen view template for the product
			 *
			 * The templates rendering product details usually add the images,
			 * prices and texts, etc. associated to the product
			 * item. If you want to display additional or less content, you can
			 * configure your own list of domains (attribute, media, price, product,
			 * text, etc. are domains) whose items are fetched from the storage.
			 * Please keep in mind that the more domains you add to the configuration,
			 * the more time is required for fetching the content!
			 *
			 * @param array List of domain names
			 * @since 2014.07
			 * @category Developer
			 * @see client/html/catalog/domains
			 * @see client/html/catalog/lists/domains
			 * @see client/html/catalog/detail/domains
			 */
			$domains = $config->get( 'client/html/catalog/detail/seen/domains', $domains );

			$cntl = \Aimeos\Controller\Frontend::create( $context, 'product' );
			$view->seenProductItem = $cntl->uses( $domains )->resolve( $name );
			$this->addMetaItems( $view->seenProductItem, $expire, $tags );

			$output = '';
			foreach( $this->getSubClients() as $subclient ) {
				$output .= $subclient->setView( $view )->getBody( '', $tags, $expire );
			}
			$view->seenBody = $output;

			/** client/html/catalog/detail/seen/standard/template-body
			 * Relative path to the HTML body template of the catalog detail seen client.
			 *
			 * The template file contains the HTML code and processing instructions
			 * to generate the result shown in the body of the frontend. The
			 * configuration string is the path to the template file relative
			 * to the templates directory (usually in client/html/templates).
			 *
			 * You can overwrite the template file configuration in extensions and
			 * provide alternative templates. These alternative templates should be
			 * named like the default one but with the string "standard" replaced by
			 * an unique name. You may use the name of your project for this. If
			 * you've implemented an alternative client class as well, "standard"
			 * should be replaced by the name of the new class.
			 *
			 * @param string Relative path to the template creating code for the HTML page body
			 * @since 2014.03
			 * @category Developer
			 * @see client/html/catalog/detail/seen/standard/template-header
			 */
			$tplconf = 'client/html/catalog/detail/seen/standard/template-body';
			$default = 'catalog/detail/seen-partial-standard';

			$html = $view->render( $view->config( $tplconf, $default ) );

			$cache->set( $key, $html, $expire, $tags );
		}

		return $html;
	}