Using JElement for a menu paramater - Joomla! Forum - community, help and support
hi have done far:
in views/category/tmpl/default.xml file:
in administrator/components/com_igallery/elements/category.php file:
when new menu item selected, view "category", select box made in paramaters bit on right, html:
when choose category , save menu item, paramater not saved paramaters in row in jos_menu, , not added url. getting saved paramater can retrieve good, adding url great.
can please give me tip on how both.
thanks,
matt.
in views/category/tmpl/default.xml file:
code: select all
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="category layout">
<message>
<![cdata[category layout desc]]>
</message>
</layout>
<state>
<name>category layout</name>
<description>category layout desc</description>
<url addpath="/administrator/components/com_igallery/elements">
<param name="cat_id" type="category" section="com_igallery" default="0" label="select category" description="category" />
</url>
</state>
</metadata>
in administrator/components/com_igallery/elements/category.php file:
code: select all
class jelementcategory extends jelement
{
var $_name = 'category';
function fetchelement($name, $value, &$node, $control_name)
{
$database =& jfactory::getdbo();
$query = "select * #__igallery type = 0 order parent, ordering";
$database->setquery( $query );
$mitems = $database->loadobjectlist();
$children = array();
if($mitems )
{
foreach($mitems $v)
{
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push($list,$v);
$children[$pt] = $list;
}
}
$list = jhtml::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0 );
$mitems = array();
$mitems[] = jhtml::_('select.option', '0', jtext::_('top') );
foreach ( $list $item )
{
$mitems[] = jhtmlselect::option( $item->id, ' '. $item->treename );
}
$output = jhtml::_("select.genericlist", $mitems, 'cat_id', 'class="inputbox" size="10"', 'value', 'text' );
return $output;
}
}
when new menu item selected, view "category", select box made in paramaters bit on right, html:
code: select all
<td class="paramlist_value">
<select name="category" id="category" class="inputbox" size="10">
<option value="0" >top</option>
<option value="3" > cat 1</option>
</select>
</td>
when choose category , save menu item, paramater not saved paramaters in row in jos_menu, , not added url. getting saved paramater can retrieve good, adding url great.
can please give me tip on how both.
thanks,
matt.
matt_nz wrote:hi have done far:
in views/category/tmpl/default.xml file:code: select all
<?xml version="1.0" encoding="utf-8"?>
<metadata>
<layout title="category layout">
<message>
<![cdata[category layout desc]]>
</message>
</layout>
<state>
<name>category layout</name>
<description>category layout desc</description>
<url addpath="/administrator/components/com_igallery/elements">
<param name="cat_id" type="category" section="com_igallery" default="0" label="select category" description="category" />
</url>
</state>
</metadata>
in administrator/components/com_igallery/elements/category.php file:code: select all
class jelementcategory extends jelement
{
var $_name = 'category';
function fetchelement($name, $value, &$node, $control_name)
{
$database =& jfactory::getdbo();
$query = "select * #__igallery type = 0 order parent, ordering";
$database->setquery( $query );
$mitems = $database->loadobjectlist();
$children = array();
if($mitems )
{
foreach($mitems $v)
{
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push($list,$v);
$children[$pt] = $list;
}
}
$list = jhtml::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0 );
$mitems = array();
$mitems[] = jhtml::_('select.option', '0', jtext::_('top') );
foreach ( $list $item )
{
$mitems[] = jhtmlselect::option( $item->id, ' '. $item->treename );
}
$output = jhtml::_("select.genericlist", $mitems, 'cat_id', 'class="inputbox" size="10"', 'value', 'text' );
return $output;
}
}
when new menu item selected, view "category", select box made in paramaters bit on right, html:code: select all
<td class="paramlist_value">
<select name="category" id="category" class="inputbox" size="10">
<option value="0" >top</option>
<option value="3" > cat 1</option>
</select>
</td>
when choose category , save menu item, paramater not saved paramaters in row in jos_menu, , not added url. getting saved paramater can retrieve good, adding url great.
can please give me tip on how both.
thanks,
matt.
you should doing like:
return jhtml::_('select.genericlist', $options, ''.$control_name.'['.$name.']', 'class="'.$class.'"', 'id', 'title', $value, $control_name.$name );
i.e. seem passing 'cat_id' third parameter _ (which makes me wonder how getting name="category" in output, since seems should cat_id, anyway). need element use control name , parameter name passed jparameter.
on side note, suggest *not* using category type, since there type called category included in core. either use category provided core, or use different name prevent confusion , other unforeseen problems.
ian
Comments
Post a Comment