Biblio2ls\Library\TwBs\BsListGroup,
Biblio2ls\Library\TwBs\BsDropDown &
Biblio2ls\Library\TwBs\BsBtnGroup
Las instancias de esta clase ofrecen como salida listas debidamente formateadas, empleando un juego de propiedades del framework Bootstrap. El parámetro $modo pasado a su constructor permite establecer si se usa una lista estándar o una lista de enlaces, empotrada en un div. Las listas se presentan, como tablas de una sola columna, que se extienden hasta llenar horizontálmente su contenedor.
La lista puede contener parametrizaciones internas para afectar los ítems.
Ejemplo 1:
La lista (arriba) se obtuvo usando el siguiente código: $lorenipsum = str_replace(',', '.', 'Anim pariatur cliche... '); $listaarray = explode('.', $lorenipsum); $lista2l = new \Biblio2ls\Library\TwBs\BsListGroup($listaarray, 'ul'); $body = $lista2l->toString();
Ejemplo 2 (lista con enlaces y parámetros con nombre):
// Estructura de los ítems
$item = [
'text'=> 'texto_a_mostrar'|'',
'link'=> 'uri_a_enlazar'|no asignado,
'head'=> 'encabezado'|no asignado,
'htag'=> 'etiqueta_de_encabezado'|no asignado //0 a 6 0=span
'disabled' => 1|0|Null o no asignado,
'active' => 1|0|Null o no asignado,
'badge' => escalar|Null|no asignado,
'context' => 'info'|'success'|..., //clase contextual
'clase' => array|Null
];
A continuación se muestra una lista con 4 ítems definidos usando la estructura indicada arriba:
Enlace a libro
32texto a mostrar 3
64texto sin encabezadoSi se hace click en el enlace para descarga se podrá verificar que el uso de enlaces manuales funciona.
Aprovechando la definición de la lista enterior intento mostrar un menú dropdown
Las instancias de esta clase ofrecen como salida menúes emergentes (dropdown & dropup menus) debidamente formateados y totalmente funcionales.
Se deben emplear al menos dos parámetros en su constructor: un texto o un array para definir el botón y un array de arrays texto, enlace. Opcionalmente, se puede parametrizar le contenedor de lista para obtener mejoras de aspecto.
La lista de ítems admite algunas parametrizaciones internas, similares a las usadasen las instancias de BsGroupList anque no todas tienen efecto similar.
$dropdown = new \Biblio2ls\Library\TwBs\BsDropDown('Dropdown test', $items);
$dropup = new \Biblio2ls\Library\TwBs\BsDropDown('Dropup test', $items, NULL, '', TRUE);
Uso: $btnbar = new \Biblio2ls\Library\TwBs\BsBtnGroup(
$tagName, $grouptype, $role, $groupItems, $groupDef);
donde:
$tagName = 'div' | 'nav',
$grouptype = 'btn-group' | btn-toolbar | navbar-x ',
$role = 'group' | 'toolbar' | 'navigation' |...
$groupItems = array( btn_1_ArrayDef, btn_1_ArrayDef, ..., btn_n_ArrayDef),
$groupDef = [
'class' => [class1, class2, ...],
'attrb' => [k1=>v1, k2=>v2, ...],
'ukatt' => [att1, att2, ...]
'itemsbase' => 'class-base-name',
'items' => [subitemdef, ...],
// si se anida debe incluir para los iteradores
tag, //como tagName
grouptype,
role
],
y
btn_x_ArrayDef = [
'tag' => 'button' | div,
'class' => ['btn', 'btn-default'],
'attrb' => [...],
'ukatt' => [...],
'text' => 'Botón x'
]
Prueba del modelo de definición de botones: Si aparece correctamente se logro el cambio.
$btns->addClase('btn-group-xs');
para cada caja interior.