Bonsoir, après quelques heures de recherches, j'ai trouver la solution.. Je poste cette réponse afin qu'elle puisse aider les autres dev souhaitant utiliser le markdown de grafikart.
La Fonction uploader sert à la fois de d'upload et de suppression de l'image, je m'explique :
public function uploader($Location = null){
$destination = IMG_DIR;
$directory_Images = BASE_URL.DS.'public'.DS.'attachmentImg';
if($Location){
if($this->Request->is('delete')) {
$image_Delete = $destination . DS . $Location;
unlink($image_Delete);
}
}else{
if($this->Request->is('post')){
$location = basename($_FILES['image']['name']);
$uploadfile = $destination . $location;
move_uploaded_file($_FILES['image']['tmp_name'], $uploadfile);
// debug($directory_Images);
$results = ['id' => $location, 'url' => $directory_Images.DS.$location];
header('Content-Type: application/json');
echo json_encode($results);
}
}
Afin d'afficher les images que vous avez pu uploader dans divers articles et les réutiliser. Voici une solution
Dans votre controller article, vous aller chercher toutes les images uplodaer et vous les lister comme la fonction. A l'issue vous faites un json encode et vous l'envoyer avec la fonction compact()
public function edit($idArticle){
$directory_Images = ROOT.DS.'public'.DS.'attachmentImg';
$directory_Images_2 = BASE_URL.DS.'public'.DS.'attachmentImg';
$all_Image = array_diff(scandir($directory_Images), array('..', '.', '.DS_Store'));
$images = [];
foreach ($all_Image as $k => $loc){
$images[] = ['id' => basename($loc), 'url' => $directory_Images_2.DS.$loc];
}
$imagesForMarkdown = json_encode($images);
..;
..
..
..
$this->Render('admin.article.edit', compact('form' , 'List_Categorie_Recursive', 'imagesForMarkdown'));
Ensuite dans votre vue d'edition, vous appeler avec jquery la librairir meditor
$(document).ready(function() {
var md = new MdEditor('.meditor', {
uploader: url,
preview: true,
images: <?php echo $imagesForMarkdown;?>
});
});
Et voila à vous de jouer, pour mettre les liens en BDD et ainsi de suite.