$panel = new \TwBs2l\Component\BsPanel('Ejemplo 1', $cuerpo, 'Pie de panel', 'primary');3. Se asigna el contenido a la salida a mostrar:
echo $panel->toString();4. Esposible insertar contenidos y características especiales usando los arrays opcionales, como se indica más abajo.
el parámetro $extra admite las claves: 'clases', 'id', 'attributes' y 'unKeyedAttributes'. Las demás las son ignoradas.
Los otros tres, admiten todas las claves. Pero, el cuerpo tiene un comportamiento especial para la clave 'innerHtm' pues no hace inserción estricta y anexa el array de elementos adicionales luego del contenedor del mismo, para aprovechar ciertas características de manejo que ofrece Bootstrap para objetos embebidos en paneles.
$imgdef = [ 'tagName' => 'img', 'attributes' => [ 'src' => '/img/jXfnfCB6z128i.jpg', 'width' => 'auto', 'height'=>'auto' ], 'unKeyedAttributes' => [], 'clases' => ['embed-responsive-item'], 'context' => '', 'id' => 'img-01', 'innerHtm' => '', 'tipoDeElemento' => 'ImagePanel', 'autoClose' => TRUE,]; |
$imgembed = [ 'tagName' => 'div', 'attributes' => [], 'unKeyedAttributes' => [], 'clases' => [], 'context' => '', 'id' => 'embeder-01', 'innerHtm' => [$imgdef], 'tipoDeElemento' => 'objectEmbeder', 'ratio' => ['x'=>16, 'y'=>9], 'autoClose' => FALSE,]; |
$panimagen = new \TwBs2l\Component\BsPanel('Ejemplo 2', '', '', 'success', $imgembed);La definición del componente objectEmbeder incluye claves innecesarias, que por ser nulas podrían no incluirse en la misma. Bastan las tres claves resaltadas para tener una declaración correcta. |