Generates an HTML element.
public static tag ( string $tag, array $htmlOptions = [], mixed $content = false, boolean $closeTag = true ) : string | ||
$tag | string | the tag name. |
$htmlOptions | array | the element attributes. |
$content | mixed | the content to be enclosed between open and close element tags. |
$closeTag | boolean | whether to generate the close tag. |
return | string | the generated HTML element tag. |
/** * Renders the buttons in this form. * @return string the rendering result. */ public function renderButtons() { $buttons = array(); foreach ($this->getButtons() as $button) { $buttons[] = $this->renderElement($button); } return !empty($buttons) ? TbHtml::tag('div', array('class' => 'form-actions'), implode("\n", $buttons)) : ''; }
/** * Renders a single element which could be an input element, a sub-form, a string, or a button. * @param mixed $element the form element to be rendered. * @return string the rendering result */ public function renderElement($element) { if (is_string($element)) { if (($e = $this[$element]) === null && ($e = $this->getButtons()->itemAt($element)) === null) { return $element; } else { $element = $e; } } if ($element->getVisible()) { if ($element instanceof CFormInputElement) { if ($element->type === 'hidden') { return TbHtml::tag('div', array('class' => 'hidden'), $element->render()); } } return $element->render(); } return ''; }
public function testTag() { $I = $this->codeGuy; $html = TbHtml::tag('div', array('textAlign' => TbHtml::TEXT_ALIGN_RIGHT, 'pull' => TbHtml::PULL_RIGHT, 'span' => 3), 'Content'); $div = $I->createNode($html, 'div'); $I->seeNodeCssClass($div, 'pull-right span3 text-right'); }
/** * Normalizes the tab configuration. * @param array $tabs the tab configuration. * @param array $panes a reference to the panes array. * @param integer $i the running index. * @return array the items. */ protected static function normalizeTabs($tabs, &$panes, $i = 0) { $menuItems = array(); foreach ($tabs as $tabOptions) { if (isset($tabOptions['visible']) && $tabOptions['visible'] === false) { continue; } $menuItem = array(); $menuItem['icon'] = self::popOption('icon', $tabOptions); $menuItem['label'] = self::popOption('label', $tabOptions, ''); $menuItem['active'] = self::getOption('active', $tabOptions, false); $menuItem['disabled'] = self::popOption('disabled', $tabOptions, false); $menuItem['itemOptions'] = self::popOption('itemOptions', $tabOptions, array()); $menuItem['linkOptions'] = self::popOption('linkOptions', $tabOptions, array()); $items = self::popOption('items', $tabOptions, array()); if (!empty($items)) { $menuItem['linkOptions']['data-toggle'] = 'dropdown'; $menuItem['items'] = self::normalizeTabs($items, $panes, $i); } else { $paneOptions = self::popOption('paneOptions', $tabOptions, array()); $id = $paneOptions['id'] = self::popOption('id', $tabOptions, 'tab_' . ++$i); $menuItem['linkOptions']['data-toggle'] = 'tab'; $menuItem['url'] = '#' . $id; $paneOptions = self::addClassName('tab-pane', $paneOptions); if (self::popOption('fade', $tabOptions, true)) { $paneOptions = self::addClassName('fade', $paneOptions); } if (self::popOption('active', $tabOptions, false)) { $paneOptions = self::addClassName('active in', $paneOptions); } $paneContent = self::popOption('content', $tabOptions, ''); $panes[] = TbHtml::tag('div', $paneOptions, $paneContent); } $menuItems[] = $menuItem; } return $menuItems; }
public function testHybridCol() { $I = $this->codeGuy; $html = TbHtml::tag('div', array('xs' => 12, 'md' => 8), 'Content'); $div = $I->createNode($html, 'div'); $I->seeNodeCssClass($div, array('col-xs-12', 'col-md-8')); }
/** * Runs the widget. */ public function run() { list($name, $id) = $this->resolveNameID(); $this->resolveId($id); if ($this->hasModel()) { $input = TbHtml::activeFileField($this->model, $this->attribute, $this->htmlOptions); } else { $input = TbHtml::fileField($name, $this->value, $this->htmlOptions); } echo TbHtml::tag('span', $this->buttonOptions, $this->label . ' ' . $input); if ($this->assetPath !== false) { $this->publishAssets($this->assetPath); $this->registerCssFile('css/jquery.fileupload-ui.css'); if ($this->registerJs) { $this->getClientScript()->registerCoreScript('jquery'); $this->registerScriptFile('js/vendor/jquery.ui.widget.js', CClientScript::POS_END); $this->registerScriptFile('js/jquery.iframe-transport.js', CClientScript::POS_END); $this->registerScriptFile('js/jquery.fileupload.js', CClientScript::POS_END); } } if ($this->bindPlugin) { TbArray::defaultValue('dataType', 'json', $this->pluginOptions); $options = !empty($this->pluginOptions) ? CJavaScript::encode($this->pluginOptions) : ''; $script = <<<EOD jQuery('#{$id}') .fileupload({$options}) .prop('disabled', !jQuery.support.fileInput) .parent().addClass(jQuery.support.fileInput ? undefined : 'disabled'); EOD; $this->getClientScript()->registerScript(__CLASS__ . '#' . $id, $script); } }
public function actionEditorSubzona($EventoId, $FuncionesId, $ZonasId, $SubzonaId, $modo = 'completo') { // Muestra un editor de lugares ordenados por filas de una subzona dada $subzona = Subzona::model()->findByPk(compact('EventoId', 'FuncionesId', 'ZonasId', 'SubzonaId')); if (is_object($subzona)) { // if ($modo == "completo") { // Se renderiza toda la pagina del editor $this->render('editorSubzona', compact('subzona')); } else { //Sino solo se renderiza parcialmente la tabla con los lugares actualizados $this->renderPartial('_subzona', compact('subzona')); } } else { echo TbHtml::tag('strong', array(), 'No se encontraron subzonas.'); } //throw new Exception("Error al procesar su petición, vefique integridad de parametros ", 3); }
<?php echo TbHtml::blockAlert(TbHtml::ALERT_COLOR_WARNING, 'No completar los tipos de práctica que no se van a analizar.'); $i=1; foreach ($tiposdepractica as $tp){ $valor=""; $cantidad=""; echo "<div class='control-group'>"; echo TbHtml::tag("span", array('class' => 'control-label'),$tp->nombre); echo "<div class='controls'>"; echo TbHtml::textField(get_class($model)."[$i][valor]",array('value'=>$valor),array( 'style' => 'width:50px','prepend' => '$')); // echo TbHtml::labelTb('Cada', array('style' => 'display:inline;margin:0 0 0 10px;')); echo TbHtml::textField(get_class($model)."[$i][cadaxprac]",array('value'=>$cantidad),array( 'style' => 'width:50px;','prepend' => 'Cada','append' => 'prácticas', 'span' => 2)); //echo TbHtml::labelTb('prácticas', array('style' => 'display:inline;')); echo "</div></div>"; $i++; } // Envío el id del tipo de coseguro a descontar //echo TbHtml::hiddenField("Descuentocoseguro['iddescuentocoseguro']",$model->iddescuentocoseguro); ?>
/** * Runs the widget. */ public function run() { $brand = $this->brandLabel !== false ? TbHtml::navbarBrandLink($this->brandLabel, $this->brandUrl, $this->brandOptions) : ''; ob_start(); foreach ($this->items as $item) { if (is_string($item)) { echo $item; } else { $widgetClassName = TbArray::popValue('class', $item); if ($widgetClassName !== null) { $this->controller->widget($widgetClassName, $item); } } } $items = ob_get_clean(); ob_start(); if ($this->collapse !== false) { TbHtml::addCssClass('navbar-collapse', $this->collapseOptions); ob_start(); /* @var TbCollapse $collapseWidget */ $collapseWidget = $this->controller->widget('\\TbCollapse', array('toggle' => false, 'content' => $items, 'htmlOptions' => $this->collapseOptions)); $collapseContent = ob_get_clean(); echo TbHtml::tag('div', array('class' => 'navbar-header'), TbHtml::navbarCollapseLink('#' . $collapseWidget->getId()) . $brand); echo $collapseContent; } else { echo TbHtml::tag('div', array('class' => 'navbar-header'), $brand); echo $items; } $containerContent = ob_get_clean(); $containerOptions = TbArray::popValue('containerOptions', $this->htmlOptions, array()); TbHtml::addCssClass($this->fluid ? 'container-fluid' : 'container', $containerOptions); ob_start(); echo TbHtml::openTag('div', $containerOptions); echo $containerContent; echo '</div>'; $content = ob_get_clean(); echo TbHtml::navbar($content, $this->htmlOptions); }
<?php $status = $model->ZonasBanVen; $zid = $model->ZonasId; $fid = $model->FuncionesId; $eid = $model->EventoId; $pid = $model->PuntosventaId; $padre = $model->puntoventa->tipoid == 0; $nombre = $model->puntoventa->PuntosventaNom; echo CHtml::openTag('li', array('id' => "nodo-{$zid}-{$pid}", 'class' => 'nodo ', 'style' => 'border-top:1px dashed #888;')); //LI NODO $mas = ""; if (isset($padre) and $padre) { # Si tiene hijos muestra el boton de + $mas = TbHtml::link(' ', array('distribuciones/verRamaCargo', 'EventoId' => $eid, 'FuncionesId' => $fid, 'ZonasId' => $zid, 'PuntosventaId' => $pid), array('class' => 'nodo-toggle fa fa-plus-square', 'id' => "link-{$zid}-" . $pid, 'data-uid' => "{$zid}-{$pid}", 'data-estado' => 'inicial', 'style' => 'margin:5px')); } echo CHtml::openTag('div', array(' class' => 'text-left', 'style' => 'width:100%;')); echo TbHtml::textField("ZonasFacCarSer-{$zid}-{$pid}", $model->ZonasFacCarSer, array('class' => 'input-mini text-center ZonasFacCarSer', 'data-zid' => $zid, 'data-pid' => $pid, 'prepend' => $mas, 'append' => $nombre . ' ')); echo CHtml::closeTag('div'); echo TbHtml::tag('div', array('id' => "hijos-{$zid}-{$pid}", '')); echo CHtml::closeTag('li');
//$usrval->UsrValRef2='funciones.FuncionesId'; $usrval->usrValIdRef2 = 'TODAS'; $this->widget('bootstrap.widgets.TbGridView', array('id' => 'usrval-grid', 'dataProvider' => $usrval->search(), 'template' => "{items}\n{pager}", 'type' => 'striped hover', 'columns' => array(array('header' => 'Evento', 'value' => 'coalesce(@$data->evento->EventoNom,$data->usrValIdRef)'), array('header' => 'Funcion', 'value' => 'coalesce(@$data->funcion->funcionesTexto,$data->usrValIdRef2)'), array('class' => 'CButtonColumn', 'header' => '', 'template' => ' {eliminar} {permisos} ', 'buttons' => array('eliminar' => array('label' => '<span class="text-error fa fa-times-circle"> Quitar</span>', 'url' => 'Yii::app()->createUrl("usuarios/desasignarEvento",array( "id"=>$data->UsuarioId, "evento"=>$data->usrValIdRef, "nick"=>"' . $model->UsuariosNick . '", "funcion"=>$data->usrValIdRef2))', 'click' => 'function(event){ $.get( $(this).attr("href")).done( function(){ $.fn.yiiGridView.update("usrval-grid"); }); event.preventDefault(); }'), 'permisos' => array('label' => TbHtml::button('Reportes', array('class' => 'btn btn-info', 'data-toggle' => 'modal', 'data-target' => '#modal-permisos-reportes')))))))); ?> </div><!-- asignacion de eventos--> <?php $asignadosHtml = TbHtml::openTag('div', array('class' => 'text-center')); $asignadosHtml .= TbHtml::dropDownList('eventos_asignados', 0, CHtml::listData($model->getEventosAsignados(), 'EventoId', 'EventoNom'), array('class' => 'span3 ', 'empty' => 'SELECCIONE UN EVENTO')); $asignadosHtml .= "<br/><br/>"; $asignadosHtml .= TbHtml::tag('table', array('id' => 'tabla-reportes'), ''); $asignadosHtml .= TbHtml::closeTag('div'); $this->widget('bootstrap.widgets.TbModal', array('id' => 'modal-permisos-reportes', 'header' => 'Reportes permitidos', 'htmlOptions' => array('class' => 'text-center'), 'content' => $asignadosHtml, 'footer' => TbHtml::button('Cerrar', array('data-dismiss' => 'modal')))); ?> <br /> <?php $this->widget('bootstrap.widgets.TbModal', array('id' => 'conModal', 'header' => 'Cambio de contraseña', 'content' => $this->renderPartial('_cambioContrasena', array('model' => $model), true, true), 'footer' => implode(' ', array(CHtml::ajaxSubmitButton('Confirmar', Yii::app()->createUrl('usuarios/cambiarClave', array('id' => $model->UsuariosId, 'nick' => $model->UsuariosNick)), array('type' => 'POST', 'data' => 'js:{up: $("#up").val() }', 'success' => 'js:function(string){ $("#formulario").html(string); $("#btn-cambiar-clave").attr("data-dismiss","modal"); $("#btn-cambiar-clave").val("Continuar..."); }'), array('class' => 'btn btn-primary ', 'disabled' => true, 'data-dismiss' => false, 'id' => 'btn-cambiar-clave')), TbHtml::button('Cerrar', array('data-dismiss' => 'modal')))))); ?>
<?php echo CHtml::openTag('div', array('id' => 'zona-' . $model->ZonasId)); ?> <div class="row-fluid" style="display:block; margin-bottom:10px" > <?php echo $editar ? TbHtml::link(' ', $this->createUrl('eliminarZona'), array('data-zid' => $model->ZonasId, 'class' => 'btn-eliminar-zona btn btn-danger fa fa-2x fa-minus-circle pull-left', 'title' => 'Eliminar Zona ' . $model->ZonasId)) : ""; echo TbHtml::tag('span', array('class' => 'panel-head '), "Zona " . $model->ZonasNum . ":" . $model->ZonasId); ?> </div> <table class="table table-condensed "> <tr class="gris-head"> <th>Tipo de acceso</th> <th>Nombre de zona</th> <th>Subzonas</th> <th>Num. Asientos</th> <th>Precio</th> <th>Acciones</th> <th>Cargo por servicio</th> </tr> <tr> <td> <?php echo CHtml::dropDownList('ZonasTipo', $model->ZonasTipo, array(1 => 'General', 2 => 'Numerada'), array('class' => 'ZonasTipo', 'disabled' => !$editar, 'id' => 'ZonasTipo-' . $model->ZonasId, 'data-id' => $model->ZonasId)); ?> </td> <td> <?php echo TbHtml::textField('ZonasAli', $model->ZonasAli, array('class' => 'input-medium ZonasAli', 'data-id' => $model->ZonasId)); ?>
echo TbHtml::link(' Regresar', array('editor', 'EventoId' => $model->EventoId, 'FuncionesId' => $model->FuncionesId, 'scenario' => 'editar', '#' => 'zona-' . $model->ZonasId), array('class' => 'btn fa fa-arrow-left', 'style' => 'margin:10px')); echo TbHtml::buttonGroup(array(array('id' => 'btn-agregar-fila', 'label' => ' Agregar fila', 'class' => 'fa fa-plus btn btn-success', 'url' => array('agregarFila', 'EventoId' => $model->EventoId, 'FuncionesId' => $model->FuncionesId, 'ZonasId' => $model->ZonasId), 'title' => 'Agregar una Fila'), array('label' => ' Generar asientos', 'class' => 'fa fa-delicious btn-primary', 'id' => 'btn-generar-numerados', 'url' => array('generarNumerados', 'EventoId' => $model->EventoId, 'FuncionesId' => $model->FuncionesId, 'ZonasId' => $model->ZonasId), 'title' => 'Generar todos los Asientos'))); ?> <br /> <br /> </div> <div class='row-fluid '> <table border="0" class="table items table-bordered table-hover" id="tabla-filas"> <tr> <th>#</th> <th></th> <th>No. Fila</th> <?php for ($i = 0; $i < $model->ZonasCantSubZon; $i++) { echo TbHtml::tag('th', array('colspan' => 2), "Subzona " . ($i + 1)); echo TbHtml::tag('th', array(), "Ctd."); } ?> <th>Total</th> </tr> <?php //for ($i=1;$i<=($model->nfilas);$i++) { foreach ($model->disfilas as $fila) { $this->actionVerFila($model->EventoId, $model->FuncionesId, $model->ZonasId, $fila->FilasId); } ?> </table> </div>
<?php echo TbHtml::openTag('tr'); foreach ($asientos as $asiento) { //Por cada Asiento echo TbHtml::tag('td', array(), $asiento->LugaresLug); } echo TbHtml::closeTag('tr');
<?php $fid = $model->FilasId; $sid = $model->SubzonaId; $zid = $model->ZonasId; echo TbHtml::tag('td', array(), TbHtml::textField('LugaresIni', $model->LugaresIni, array('class' => 'input-mini text-center pull-right LugaresIni limite ', 'data-fid' => $fid, 'data-sid' => $sid, 'data-zid' => $zid, 'id' => "LugaresIni-{$sid}-{$fid}"))); echo TbHtml::tag('td', array(), TbHtml::textField('LugaresFin', $model->LugaresFin, array('class' => 'input-mini text-center pull-left LugaresFin limite ', 'data-fid' => $fid, 'data-sid' => $sid, 'data-zid' => $zid, 'id' => "LugaresFin-{$sid}-{$fid}"))); echo TbHtml::tag('td', array(), TbHtml::textField('FilasCanLug', $model->FilasCanLug, array('class' => 'input-mini text-center pull-left FilasCanLug ', 'data-fid' => $fid, 'data-sid' => $sid, 'data-zid' => $zid, 'id' => "FilasCanLug-{$sid}-{$fid}", 'readonly' => true, 'disabled' => true)));
/** * Renders the empty message when there is no data. */ public function renderEmptyText() { $emptyText = $this->emptyText === null ? Yii::t('zii', 'No results found.') : $this->emptyText; echo TbHtml::tag('div', array('class' => 'empty', 'span' => 12), $emptyText); }
/** * Generates a tabbable menu. * @param array $tabs the tab configurations. * @param array $htmlOptions additional HTML attributes. * @return string the generated menu. */ public static function tabbable($tabs, $htmlOptions = array()) { $htmlOptions = self::addClassName('tabbable', $htmlOptions); $placement = self::popOption('placement', $htmlOptions); if (!empty($placement)) { $htmlOptions = self::addClassName('tabs-' . $placement, $htmlOptions); } $menuOptions = self::popOption('menuOptions', $htmlOptions, array()); $contentOptions = self::popOption('contentOptions', $htmlOptions, array()); $contentOptions = self::addClassName('tab-content', $contentOptions); $menuItems = array(); foreach ($tabs as $i => &$tabOptions) { $icon = self::popOption('icon', $tabOptions); $label = self::popOption('label', $tabOptions, ''); $id = $tabOptions['id'] = self::popOption('id', $tabOptions, 'tab_' . ($i + 1)); $active = self::getOption('active', $tabOptions, false); $disabled = self::popOption('disabled', $tabOptions, false); $linkOptions = self::popOption('linkOptions', $tabOptions, array()); $linkOptions['data-toggle'] = 'tab'; $itemOptions = self::popOption('itemOptions', $tabOptions, array()); $items = self::popOption('items', $tabOptions, array()); $menuItem = array('icon' => $icon, 'label' => $label, 'url' => '#' . $id, 'active' => $active, 'disabled' => $disabled, 'itemOptions' => $itemOptions, 'linkOptions' => $linkOptions, 'items' => $items); $menuItems[] = $menuItem; } ob_start(); echo TbHtml::openTag('div', $htmlOptions); echo TbHtml::tabs($menuItems, $menuOptions); echo TbHtml::openTag('div', $contentOptions); foreach ($tabs as &$tabOptions) { if (self::popOption('active', $tabOptions, false)) { $tabOptions = self::addClassName('active', $tabOptions); } $tabContent = self::popOption('content', $tabOptions, ''); $tabOptions = self::addClassName('tab-pane', $tabOptions); echo TbHtml::tag('div', $tabOptions, $tabContent); } echo '</div></div>'; return ob_get_clean(); }
/** * Renders the header HTML markup of the modal */ public function renderModalHeader() { echo '<div class="modal-header">' . PHP_EOL; if ($this->closeText) { echo TbHtml::closeButton($this->closeText, array('data-dismiss' => 'modal')); } echo TbHtml::tag('h3', array(), $this->header); echo '</div>' . PHP_EOL; }
<?php echo TbHtml::openTag('table', array('width' => 'auto', 'class' => 'table-bordered centrado box')); foreach ($subzona->filas as $fila) { // Por filas //$this->renderPartial('_filaAsiento',array('asientos'=>$fila->asientos)); echo TbHtml::openTag('tr'); echo TbHtml::tag('th', array(), $fila->FilasAli); foreach ($fila->lugares as $asiento) { //Por cada Asiento $clase = ""; if ($asiento->LugaresStatus == 'OFF') { $clase .= " off hidden"; } $control = TbHtml::textField('asiento', $asiento->LugaresLug, array('class' => 'input-mini asiento' . $clase, 'data-fid' => $asiento->FilasId, 'data-id' => $asiento->LugaresId)); echo TbHtml::tag('td', array('class' => ' '), $control); } echo TbHtml::tag('td', array(), TbHtml::buttonGroup(array(array('data-id' => $fila->FilasId, 'title' => 'Alinear todo a la izquierda', 'class' => 'fa fa-angle-double-left btn btn-info btn-alinear', 'url' => array_merge((array) 'alinearFila', $fila->getPrimaryKey(), array('direccion' => 'izquierda'))), array('data-id' => $fila->FilasId, 'title' => 'Recorrer a la izquierda', 'class' => 'fa fa-angle-left btn btn-info btn-alinear', 'url' => array_merge((array) 'moverFila', $fila->getPrimaryKey(), array('direccion' => 'izquierda'))), array('data-id' => $fila->FilasId, 'title' => 'Alinear todo al centro', 'class' => 'fa fa-angle-double-up btn-alinear btn btn-info', 'url' => array_merge((array) 'alinearFila', $fila->getPrimaryKey(), array('direccion' => 'centro'))), array('data-id' => $fila->FilasId, 'title' => 'Recorrer a la derecha', 'class' => 'fa fa-angle-right btn-alinear btn btn-info', 'url' => array_merge((array) 'moverFila', $fila->getPrimaryKey(), array('direccion' => 'derecha'))), array('data-id' => $fila->FilasId, 'title' => 'Alinear todo a la derecha', 'class' => 'fa fa-angle-double-right btn-alinear btn btn-info', 'url' => array_merge((array) 'alinearFila', $fila->getPrimaryKey(), array('direccion' => 'derecha')))))); echo TbHtml::tag('td', array(), TbHtml::button('', array('onclick' => 'activarOff(' . $fila->FilasId . ')', 'class' => 'btn fa fa-adjust'))); echo TbHtml::tag('td', array(), TbHtml::textField('FilasCanLug-' . $fila->FilasId, $fila->ntrue, array('class' => 'input-mini', 'data-lugares' => $fila->ntrue, 'append' => 'Lugares', 'readonly' => true))); echo TbHtml::closeTag('tr'); } echo TbHtml::closeTag('table');