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.