Bonjour à tous,
j'ai un problème avec le plugin médias qui à première vue me parait vraiment pratique.
Tout dabord pour pouvoir utiliser Tynimce j'ai effectué ces modifs données par titanshift :
1- changer la ligne 20 de UploaderHelper comme celle ci:
$this->Html->script('/js/tinymce/tiny_mce.js',array('inline'=>false));
2- fusionner le dossier webroot du plugin avec le webroot de l'application
3- Supprimer la ligne 15 dans le fichier /js/tinymce/tiny_mce.js
" skin : "wp_theme", "
###############################
Mon Model
Ad
<?php
class Ad extends AppModel {
public $hasOne = array('Record', 'Criterium',);
public $actAs = array(
'Containable',
'Media.Media',
);
La méthode dans mon controller
AdsController
<?php
<?php
class AdsController extends AppController {
//mes helpers
//mes components
//mon beforeFilter
/**
* ADMINISTRATION
* Affichage des annonces
*/
public function admin_index(){
$ads = $this->Ad->find('all');
debug($ads);
//$this->loadModel('Media.Media');
//debug($this->Media->find('all'));
//boucle des annonces + lien menu actif
$this->set(array(
'ads' => $ads,
'ads_active' => 'active'
));
}
/**
* ADMINISTRATION
* Editer l'annonce sélectionnée
*/
public function admin_edit($id = null){
$this->helpers] = 'Media.Uploader';
$this->Ad->id = $id;
if ($this->request->is('get')){
$this->request->data = $this->Ad->read();
} else {
if ($this->Ad->save($this->request->data)) {
$this->Ad->Record->save($this->request->data);
$this->Ad->Criterium->save($this->request->data);
$this->Session->setFlash('Vos données ont étées mises à jour');
$this->redirect(array('action' => 'admin_index'));
} else {
$this->Session->setFlash('Impossible d\'éditer l\'annonce !');
}
}
}
Et donc au debug de $this->Ad->find('all'); j'obtiens les liaisons suivantes :
(int) 0 => array(
'Ad' => array(
'id' => '128',
'name' => 'test2',
'description' => '<p>ceci est un test de contenu</p>',
'created' => '2012-07-02 18:09:44',
'media_id' => '8'
),
'Record' => array(
'id' => '98',
'name' => 'test',
'address' => '6 rue du test',
'ad_id' => '128'
),
'Criterium' => array(
'ca' => '4',
'ce' => true,
'ci' => true,
'co' => false,
'cu' => false,
'ad_id' => '128'
),
Je n'arrive pas à comprendre pourquoi je ne vois pas les liaison 'Thumb'et 'Media', si quelqu'un à une idée ou besoin d'un complément d'informations, faites le moi savoir. J'ai vraiment besoin d'une réponse :) Merci !
Bon, je viens de passer + de 18h sur un S manquant à un $actsAs .
Si quelqu'un connait un plugin sublime2 gérant la syntaxe de cakePHP qu'il me sauve svp, j'ai déjà sublimeLinter mais apparement ce n'est pas suffisant pour mon cas ...
Si quelqu'un à une réponse plus cakePHP like je suis preneur bien évidemment, en attendant je me dépanne en mergant les arrays comme suis, si ça peut être utile à qqun ..
dans mon controller
$this->loadModel('Media.Media');
$medias = $this->Media->find('all');
$results = $ads;
$count = 0;
foreach ($results as $ad)
{
$ad_id = $ad'Ad']'id'];
$ad_medias = array();
foreach ($medias as $media)
{
if ($media'Media']'ref_id'] == $ad_id)
{
$ad_medias] = $media'Media'];
}
}
unset($media);
if (count($ad_medias) > 0)
{
$results$count]'Media'] = $ad_medias;
}
$count++;
}
Salut, si tu savais le nombres d'heures que j'ai passé sur ce genre d'erreur !!
Malheureusement, je n'ai pas de soluce n'en plus pour remédier à ça avec Sublime 2.
Je travaille ma concentration ^^