/** * Static field generic tag * * @param FTL_Binding $tag * * @return string */ public static function tag_static_item_field(FTL_Binding $tag) { $item = $tag->get('item'); $field_key = $tag->getName(); $field = self::_get_item_field($item, $field_key); if (!is_null($field)) { $tag->set($field_key, $field); // Availability of field for TagManager->tag_extend_field_medias() $tag->set('extend', $field); } return self::wrap($tag, $tag->expand()); }
public static function create_sub_tags(FTL_Binding $tag, $key = NULL, $prefix = NULL) { $key = !is_null($key) ? $key : $tag->getName(); $data = !is_null($tag->get($key)) ? $tag->get($key) : NULL; $prefix = !is_null($prefix) ? $prefix . ':' : ''; if (!empty($data)) { $names = array_keys($data); foreach ($names as $name) { if (!is_array($data[$name]) && !isset(self::$tags[$name]) && !isset(self::$tags[$key . ':' . $name])) { self::$context->define_tag($prefix . $key . ':' . $name, array(__CLASS__, 'tag_simple_value')); } } } }
/** * Element field generic tag * * @param FTL_Binding $tag * * @return string */ public static function tag_element_item_field(FTL_Binding $tag) { $item = $tag->get('item'); $field_key = $tag->getName(); if (isset($item['fields'][$field_key])) { $tag->set($field_key, $item['fields'][$field_key]); // Availability of field for TagManager->tag_extend_field_medias() $tag->set('extend', $item['fields'][$field_key]); } return self::wrap($tag, $tag->expand()); }