Item Plugin Template
This is more a reference on how to create a basic item plugin - just a text field that is exactly the same as Text item type. There is a more detailed guide for those interested on the Oracle Learning Library - http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/apex/r40/apexplugins/apexplugins_ll.htm
A lot of the values to use in your plugin can be obtained from the t_page_item record, with one exception - the name attribute. For this, you need to use the function get_input_name_for_page_item. The reason for this is that APEX needs to be able to map this input field to an item in session state. This gets the necessary element name (i.e. p_t02) and adds the additional hidden element to the page - p_arg_names.
With that in mind, the most basic of plugins (well, render function) - that adds no extra functionality is:
function render_file_item(
p_item in apex_plugin.t_page_item,
p_plugin in apex_plugin.t_plugin,
p_value in varchar2,
p_is_readonly in boolean,
p_is_printer_friendly in boolean )
return apex_plugin.t_page_item_render_result
AS
l_result apex_plugin.t_page_item_render_result;
l_name varchar2(200) := apex_plugin.get_input_name_for_page_item(false);
BEGIN
if apex_application.g_debug then
apex_plugin_util.debug_page_item (
p_plugin => p_plugin,
p_page_item => p_item,
p_value => p_value,
p_is_readonly => p_is_readonly,
p_is_printer_friendly => p_is_printer_friendly );
end if;
sys.htp.p('
<input id="' || p_item.name || '" type="text" name="' ||l_name ||'" value="' || p_value || '" />');
return l_result;
END;
Well, not a very helpful post, but gives the basic basis for a plugin item.