Comment fonctionne l'upload de l'éditeur redactor ?
Bonjour, je suis entrain d'essayer d'utiliser l'éditeur redactor sous symfony, je suis donc sous twig.
Voici la partie que j'ai du mal à comprendre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<script type="text/javascript">
$(document).ready(
function()
{
$('#form_text').redactor({
imageUpload: '/lib/redactor/demo/scripts/image_upload.php',
fileUpload: '/lib/redactor/demo/scripts/file_upload.php',
imageGetJson: '/lib/redactor/demo/json/data.json'
});
}
);
</script> |
Comme je suis sous symfony2, j'ai essayé de mettre les fichiers .php dans le contrôleur.
Pouvez-vous me dire si lorsque j'upload une image, jquery appelle image_upload.php ?
Pour essayer d'avancer petit à petit et comprendre le fonctionnement, j'ai créé un fichier json.txt pour y écrire quelque chose dès que j'upload une image (enfin c'est ce que j'essaye de comprendre).
J'ai donc modifié l'appelle de image_upload.php :
Code:
1 2 3 4 5 6 7
|
$('#form_text').redactor({
imageUpload: "{{ path('redactor_img')}}",
fileUpload: '/lib/redactor/demo/scripts/file_upload.php',
imageGetJson: '/lib/redactor/demo/json/data.json'
}); |
Lorsque j'appelle "path('redactor_img'", ça m'écrit dans le fichier json.txt "test".
J'ai donc test cette adresse qui correspond à cette "route" :
Code:
1 2
|
http://localhost/app.php/document/envoyer-image |
Ici mon test est bon, à l'appelle de cette url, j'ai bien mon fichier json.txt qui contient "test" :
Code:
1 2 3 4 5 6 7 8 9
|
//controlleur
public function imgUploadAction() {
echo "ecrire image";
$chemin = dirname(__FILE__);
$chemin_url = $chemin . "/json.txt";
$handle = fopen($chemin_url, "r+");
fputs($handle, "test");
} |
Maintenant j'appelle le fichier qui fait apparaître l'éditeur de texte. En voici la page html :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
<h1>editeur un document</h1>
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="/lib/redactor/css/style.css" type="text/css" />
<link rel="stylesheet" href="/lib/redactor/redactor/css/redactor.css" type="text/css" />
<script src="/lib/redactor/redactor/redactor.js"></script>
<script type="text/javascript">
$(document).ready(
function()
{
$('#form_text').redactor({
imageUpload: "/app.php/document/envoyer-image",
fileUpload: '/lib/redactor/demo/scripts/file_upload.php',
imageGetJson: '/lib/redactor/demo/json/data.json'
});
}
);
</script>
<style>
#redactor
{
width: 500px;
margin-left: 50px;
}
</style>
<form id="redactor" action="/app.php/document/editer-texte" method="post">
<label for="form_text">Titre de l'article</label>
<!-- Affichage des erreurs pour ce champ précis. -->
<!-- Génération de l'input. -->
<textarea id="form_text" name="form[text]"></textarea>
<input type="submit" value="enregistrer" />
</form>
<br/>
<footer>
keokod.com Auto-Entreprise pour les technologies de l'information et de la communication © 2012 web@keokod.com
</footer>
</body>
</html> |
J'ai effacé le contenu de json.txt, uploader une image pour la mettre dans
l'éditeur, après cela mon fichier txt est toujours vide ?
Comment ça fonctionne ? A quel moment fait-il appel à "imageUpload:" ?
Voici le lien du wysiwig :
http://redactorjs.com/
Je vous remercie d'avance pour la réponse. :)