Buenas, es la primera vez que estoy con CakePhp y todavia no lo puedo 
entender demasiado.
Estoy tratando de hacer funcionar un upload de archivos pdf. Para esto vi 
que el sitio ya tenia un plugin "file_upload" el cual ya estaba usando para 
subir imagenes a los post.
Lo que quise hacer desde mi ignorancia, fue copiar los controllers y models 
de esto, para crear otro tipo de upload y sumarlo al post.
Todo esto pareceria que algo funciona, porque subo el archivo y me guarda 
un registro en la bd (tabla files) pero no me guarda los datos del archivo 
ni tampoco el archivo en el webroot/files.
A ver si pueden ayudarme, esto funciona bien para las fotos (son los mismos 
archivos pero reemplazando File x Photo y Files x Photos)
Si necesitan algo mas pidanme. A todo esto, tampoco se que version de 
cakephp es.


Les paso mis archivos para que los puedan ver:
*app/controllers/files_controller.php*

<?php
class FilesController extends AppController {
var $name = 'Files';
public function admin_reorder($foreign_key, $owner){
$this->layout = 'ajax/json';
$orden = explode(',',$this->params['form']['order']);
$files = $this->File->find('all', 
array(
'conditions' => array( 'id' => $orden ), 
'order' => array('FIELD(File.id, ' . $this->params['form']['order'] . ')')
)
);
$i = 1;
foreach($files as $file){
$photo['File']['weight'] = $i;
$this->File->save($file);
$i++;
}
$this->set('result', true);
$this->render('/elements/json');
}
 public function admin_delete($id, $foreign_key, $owner){
$this->layout = 'ajax/json';
$rta = false;
$rta = $this->File->delete($id);
if ($rta){
$files = $this->File->find('all', 
array(
'conditions' => array( 'foreign_key' => $foreign_key, 'owner' => $owner ), 
'order' => array('weight' => 'ASC')
)
);
$i = 1;
foreach($files as $file){
$file['File']['weight'] = $i;
$this->File->save($file);
$i++;
}
}
$this->set('result', $rta);
$this->render('/elements/json');
}
}
?>

*app/models/file.php*

<?php
class File extends AppModel {
var $name = 'File';
var $displayField = 'name';
var $actsAs = array(
'FileUpload.FileUpload' => array(
'massSave' => true,
'uploadDir' => 'files',
            'forceWebroot' => true,
            'fields' => array('name' => 'file_name', 'type' => 'file_type', 
'size' => 'file_size'),
            'allowedTypes' => array(
            'pdf' => array('application/x-pdf')
),
            'required' => false,
            'maxFileSize' => false,
            'unique' => true, 
)
);
 var $validate = array(
'file_name' => array(
'notempty' => array(
'rule' => array('notempty'),
),
),
'file_type' => array(
'notempty' => array(
'rule' => array('notempty'),
),
),
'file_size' => array(
'numeric' => array(
'rule' => array('numeric'),
),
)
);
}
?>

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para ver este debate en la Web, visita 
https://groups.google.com/d/msg/cakephp-es/-/RoJuYMfIcPgJ.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a