Hola,

Despues de estar buscando, preguntando en el canal y leer api/manual,
llegue a la solucion y acabo de implementar la misma funcion para un
proyecto.

Mis "herramientas":

- Funciones markAllRows y unmarkAllRows de phpmyadmin
(http://phpxref.com/xref/phpmyadmin//nav.html?_functions/index.html)

Creo que fueron las unicas herramientas externas. La implementacion
que segui fue:

- index.thtml

...
<form method="post" action="/inventario/mobiliarios/index"
name="tablesForm" id="tablesForm">
<table>
<tr>
        <td>
        <a href="index" onclick="if (markAllRows('tablesForm')) return false;">
                                    Seleccionar
        </a>
        </td>
        <td>
        <a href="index" onclick="if (unMarkAllRows('tablesForm'))
return false;">
                                    No seleccionar
        </a>
        </td>
        <td>
        <?php echo $html ->selectTag("Mobiliario/submit_mul",
                        array('seleccionar accion'=>'Seleccionar
accion','ver'=>'Ver','borrar'=>'Borrar'),null,
                                array('onchange' =>
'this.form.submit()'),null,false); ?>
        </td>
</tr>
<tr>
<td>$html->input('Mobiliario/id][',array('type' => 'checkbox','key' =>
$i,'value' => $output['Mobiliario']['id']))<td>
<td>Tus demas datos</td>
</tr>
...

Puedes ver que agregue un select de acciones a realizar con los
checkbox seleccionados.

NOTA: Es importante generar el checkbox con $html->input y no con
$html->checkbox pues de esta ultima forma no funciona markAll y
unmarkAll, pues genera un input oculto.

- controlador_controller.php

function index(){
...
if(isset($this->data['Mobiliario']['submit_mul'])){

                        $id = $this->data['Mobiliario']['id'];

                        switch($this->data['Mobiliario']['submit_mul']){
                                case "ver":
                                                /*echo "POST VIEW:
";print_r($_POST);
                                                echo "THIS->PARAMS:
";print_r($this->params);
                                                echo "ID: ";print_r($id);*/
                                                $url= "/mobiliarios/view/";
                                                for($i=0;$i<count($id);$i++)
                                                        $params .= $id[$i]."/";
                                                //echo "PARAMS:
";print_r($params);
                                                $url .= $params;
                                                //echo "URL
PARAMS";print_r($url);
                                                $this->redirect($url);
                                                break;
                                case "editar":
                                                $url= "/mobiliarios/edit/";
                                                for($i=0;$i<count($id);$i++)
                                                        $params .= $id[$i]."/";
                                                $url .= $params;
                                                $this ->redirect($url);
                                                break;
                                case "borrar":
                                                $this->delete($id);
                                                break;
                                }
                }
...
}

function view($id)
        {
                /*echo "POST VIEW: ";print_r($_POST);
                echo "THIS->PARAMS: ";print_r($this->params);
                echo "THIS->PARAMS['PASS'] VIEW";print_r($this->params['pass']);
                echo "ID VIEW";print_r($id);*/
                foreach($this->params['pass'] as $value){
                        $this->set('id',$this->Mobiliario->id = $value);
                        //his->set('mobiliario', $this->Mobiliario->read());
                        $mobiliarios[] = $this->Mobiliario->read();
                }
                $this->set('mobiliario',$mobiliarios);
                //echo "MOBILIARIO: ";print_r($mobiliarios);
        }

-view.thtml

<?php
for($i=0;$i<count($mobiliario);$i++){
?>
<div id="ccontent">
<div id="limg">
<!-- <?php      echo "MOBILIARIO: ";print_r($mobiliario); ?> -->
<p><img src="<?php echo "http://".$_SERVER['HTTP_HOST']."/"
?>inventario/img/mobiliario/<?php echo
$mobiliario[$i]['Mobiliario']['foto']?>"></p>
</div>
<div id="cinfo">
<h1><?php echo $mobiliario[$i]['Depto']['nombre']?></h1>
<p><b>No. de serie: </b><?php echo
$mobiliario[$i]['Mobiliario']['noserie']?></p>
<p><b>No. de folio: </b><?php echo
$mobiliario[$i]['Mobiliario']['nofolio']?></p>
<p><b>Descripcion: </b> <?php echo
$mobiliario[$i]['Mobiliario']['descripcion']?></p>
<p><b>Marca: </b><?php echo $mobiliario[$i]['Mobiliario']['marca']?></p>
<p><b>Color: </b><?php echo $mobiliario[$i]['Mobiliario']['color']?></p>
<p><b>Cantidad: </b><?php echo $mobiliario[$i]['Mobiliario']['cantidad']?></p>
<p><b>Costo unitario: </b><?php echo
$mobiliario[$i]['Mobiliario']['cunitario']?></p>
<p><small>Creado: <?php echo
$mobiliario[$i]['Mobiliario']['created']?></small></p>
<p><small>Modificado: <?php echo
$mobiliario[$i]['Mobiliario']['modified']?></small></p>
<br />
</div>
<div id="rmenu">
<ul>
    <li><?php echo $html->link('Editar Mobiliario',
'/mobiliarios/edit/'.$mobiliario[$i]['Mobiliario']['id']); ?></li>
    <li><?php echo $html->link('Borrar Mobiliario',
'/mobiliarios/delete/'.$mobiliario[$i]['Mobiliario']['id'],null,'Estas
seguro?'); ?></li>
    <li><?php echo $html->link('Ver mobiliario', '/mobiliarios'); ?></li>
    <li><?php echo $html->link('Agregar mobiliario',
'/mobiliarios/add'); ?></li>
</ul>
</div>
<div id="notas">
<p><b>Notas: </b><br />
<?php echo nl2br($mobiliario[$i]['Mobiliario']['notas'])?></p>
</div>
</div>

<?php
}
?>

A todo este codigo todavia me falta depurarlo, pero ya es funcional.
Espero a ver puesto el codigo completo o darte una idea de por donde
seguir.

Saludos.

-- 
SIN ETIQUETAS.[ PUNTO ]
http://jyr.ath.cx

--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos 
de Google.
 Si quieres publicar en este grupo, envía un mensaje de correo 
electrónico a [email protected]
 Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
 Para obtener más opciones, visita este grupo en 
http://groups.google.com/group/CakePHP-es?hl=es.

-~----------~----~----~----~------~----~------~--~---

Responder a