Bonjour,
Je cherche désespérement une solution pour stocker des valeurs, autre que dans la base de donnée pour pouvoir les utiliser partout dans l'application (layout, view, component, controller etc)
Dans mon controller ConfigController, j'ai un formulaire qui stok les données dans une base de donnée. Afin de ne pas faire requete et simplifier mon code, j'aimerais qu'au moment de la sauvgarde dans la base de donnée, sauver ces données dans un fichier ou variable.
Ainsi que je lirai ce fichier pour afficher le nom du site dans le layout, mettre les parametre SMTP dans le fichier mail.php, redirigé le site s'il est offline, cacher des bloques si les news son inactif etc.
J'ai essayé plusieurs solutions. Dans l'action admin_edit de mon controller ConfigsController, j'ai essayé ces deux solution
$this->set('config',$config);
Configure::write('Site.name',$data'Config']'sitename']);
Configure::write('Site.status',$data'Config']'sitestatus']);
Configure::write('Site.homepage',$data'Config']'page_id']);
Configure::write('Mail.usesmtp',$data'Config']'mailusesmtp']);
Configure::write('Mail.smtpauth',$data'Config']'mailsmtpauth']);
Configure::write('Mail.smtpuser',$data'Config']'mailsmtpuser']);
Configure::write('Mail.smtpport',$data'Config']'mailsmtpport']);
Configure::write('Mail.smtphosts',$data'Config']'mailsmtphosts']);
Configure::write('Mail.charset',$data'Config']'mailcharset']);
Configure::write('Mail.encoding',$data'Config']'mailencoding']);
Par exemple, dans le cas de set('config',$config);
éa variable $config est vide dans layout alors qu'elle ne l'est pas dans ConfigsController.
Idem pour Configure::write(), que je vais sur une autre page elle est vide.
Alors j'aurais voulu savoir si vous pouviez me donenr une solution ou me dire comment faire.
Milles mercis