- ITEM: Especificaciones de cada item.
- SEPARADOR: Indica una linea divisoria entre items
Especificaciones de atributos:
- idctx: Identificador del menu contextual (DIV)
- imgitem: La url de la imagen que acompañará al literal
- alignitem: La alineación del texto del item (por defecto left)
- textoitem: El literal del item
- subflotante: Si el item despliega otro menu contextual. El valor es el id de ése
- maxanchu: Máxima anchura del menu contextual
- swimg: Vale 1 si el menu tiene algún item con imagen y 0 en caso contrario
- alpulsar: Nombre de la función javascript que se ejecutará en respuesta al evento onclick
- clase: Estilo CSS que tendrán los item menu contextual
- origen_x: Posición de origen, coordenada x
- origen_y: Posición de origen, coordenada y
Especificaciones de eventos:
- Los eventos onmouseover y onmouseout están implicitos en la clase por defecto
Especificaciones de submenus:
- Si una opción lleva un submenu asociado el id de éste va en el atributo name del
==================================================================================================*/
class MenuContextual{
Function __construct($urlImages="../images/flotantes"){
$this->urlImg=$urlImages;
}
/*---------------------------------------------------------------------------------------------
Devuelve una cadena en formato HTML de un layer para usarlo como menu contextual
Parametros:
- cadenaXML: Una cadena en formato XML con los atributos de cada item
---------------------------------------------------------------------------------------------*/
function CreaMenuContextual($cadenaXML){
$idx=0;
$layer="";
$idctx="";
$maxanchu=100;
$swimg=0;
$imgitem="";
$alignitem="";
$textoitem="";
$clase="";
$subflotante="";
$origen_x="0";
$origen_y="0";
$gXML=new XmlPhp($cadenaXML,0);
$gXML->NodoRaiz();
$atributosHTML=$gXML->Atributos();
$atributosHTML=$gXML->TomaAtributoEspecial("maxanchu",$maxanchu,$atributosHTML);
$atributosHTML=$gXML->TomaAtributoEspecial("swimg",$swimg,$atributosHTML);
$atributosHTML=$gXML->TomaAtributoEspecial("clase",$clase,$atributosHTML);
$atributosHTML=$gXML->TomaAtributoEspecial("idctx",$idctx,$atributosHTML);
$atributosHTML=$gXML->TomaAtributoEspecial("origen_x",$origen_x,$atributosHTML);
$atributosHTML=$gXML->TomaAtributoEspecial("origen_y",$origen_y,$atributosHTML);
if(empty($origen_x)) $origen_x=0;
if(empty($origen_y)) $origen_y=0;
if (!$clase) $clase="menu_contextual";
$layer.='
';
$nuitems=2;
if ($gXML->PrimerNodoHijo()){
$layer.='