本文整理汇总了PHP中Formulario::getArrayItems方法的典型用法代码示例。如果您正苦于以下问题:PHP Formulario::getArrayItems方法的具体用法?PHP Formulario::getArrayItems怎么用?PHP Formulario::getArrayItems使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Formulario
的用法示例。
在下文中一共展示了Formulario::getArrayItems方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: executeExcel
public function executeExcel()
{
$formato = $this->getRequestParameter("formato", "CSV");
$this->filters = $this->getUser()->getAttributeHolder()->getAll('sf/formulario/filters');
$c = $this->getCriterio();
$this->addFiltersCriteria($c);
$this->addSortCriteria($c);
$c->setDistinct();
$datos = FormularioPeer::doSelect($c);
foreach ($datos as $formulario) {
break;
}
if (!isset($formulario)) {
$id_tabla = isset($this->filters['id_tabla']) ? $this->filters['id_tabla'] : null;
if (isset($id_tabla) && $id_tabla != '') {
$tabla = TablaPeer::retrievebypk($id_tabla);
$formulario = $tabla->getFormulario();
} else {
$formulario = new Formulario();
}
}
$nombre_archivo_tmp = tempnam(sfConfig::get('app_directorio_tmp'), "datos_");
rename($nombre_archivo_tmp, $nombre_archivo_tmp . ".xls");
$nombre_archivo = $nombre_archivo_tmp . ".xls";
error_reporting(E_ALL);
$libro_campania = new Spreadsheet_Excel_Writer($nombre_archivo);
$cabecera =& $libro_campania->addFormat();
//
$cabecera->setBold();
$titulo =& $libro_campania->addFormat();
//
$titulo->setBold();
$titulo->setSize(15);
if ($formulario->getTabla()) {
$nombre_hoja = utf8_decode($formulario->getTabla()->getNombreyEmpresa());
} else {
$nombre_hoja = utf8_decode("--");
}
$hoja =& $libro_campania->addWorksheet($nombre_hoja);
$hoja->writeString(0, 0, "Registros de " . $nombre_hoja, $titulo);
$lista_campos_extra = $formulario->getTabla()->getCamposFormularioOrdenados();
//CABECERA
$fila = 1;
$col = 0;
foreach ($lista_campos_extra as $campo) {
if (!$campo->getBorrado()) {
if ($campo->esTipoLista()) {
$campo_txt = "id_item_base";
}
if ($campo->esTipoTextoCorto()) {
$campo_txt = "texto_corto";
}
if ($campo->esTipoTextoLargo()) {
$campo_txt = "texto_largo";
}
if ($campo->esTipoNumero()) {
$campo_txt = "numero";
}
if ($campo->esTipoFecha()) {
$campo_txt = "fecha";
}
if ($campo->esTipoBooleano()) {
$campo_txt = "si_no";
}
if ($campo->esTipoSelectPeriodo()) {
$campo_txt = "id_item_base";
}
if ($campo->esTipoTabla()) {
$campo_txt = "numero";
}
if ($campo->esTipoObjeto()) {
$campo_txt = "numero";
}
$hoja->writeString($fila, $col, $campo->__toString(), $cabecera);
$col++;
}
}
//FILAS
foreach ($datos as $formulario) {
$col = 0;
$fila++;
$items_formulario = $formulario->getArrayItems();
foreach ($lista_campos_extra as $campo) {
if (!$campo->getBorrado()) {
if (!$campo->esTipoLista()) {
$item_base = $campo->getElementoUnico();
$item = isset($items_formulario[$item_base->getIdItemBase()]) ? $items_formulario[$item_base->getIdItemBase()] : null;
} else {
$item = null;
$lista = $campo->getItemBases();
foreach ($lista as $ib) {
if (isset($items_formulario[$ib->getIdItemBase()])) {
$item = $items_formulario[$ib->getIdItemBase()];
break;
}
}
}
if ($item) {
$hoja->write($fila, $col, utf8_decode($item->__toString(true)));
}
//.........这里部分代码省略.........