Bonjour,
Pour ajouter un champs d'upload de fichier au formulaire de réponse SAV dans Prestashop 1.7 :
Copier le fichier admin_dir/themes/default/template/controllers/customer_threads/helpers/view/view.tpl vers override/controllers/admin/templates/customer_threads/helpers/view
ajouter cette ligne à la ligne 28 :
{assign var='path' value="../../../../../../..{$img_base_path}themes/default/template/controllers/customer_threads/helpers/view"}
ajouter les lignes suivantes ligne 108 (pour Prestashop 1.7.8.3):
<div style="margin-top: 5px;"> <label for="joinFile">Joindre un fichier : </label> <input class="form-control" type="file" name="joinFile" id="joinFile" /> </div>
modifier tous les {include file="./xxxxxxxxxxxxxxxxxxx.tpl" } en conservant à chaque fois le bon nom du tpl par :
{include file="{$path}/xxxxxxxxxxxxxxxxxxx.tpl" }
Créer un override de la fonction postProcess() présente dans controllers/admin/AdminCustomerThreadsController.php, dans la fonction postProcess() ajouter les lignes suivantes :
$file_attachment = Tools::fileAttachment('joinFile'); $testFileUpload = (isset($file_attachment['rename']) && !empty($file_attachment['rename'])); if ($testFileUpload && rename($file_attachment['tmp_name'], _PS_UPLOAD_DIR_ . basename($file_attachment['rename']))) { $cm->file_name = $file_attachment['rename']; @chmod(_PS_UPLOAD_DIR_ . basename($file_attachment['rename']), 0664); $cm->update(); }
juste après les lignes suivantes :
if (!empty($_FILES['joinFile']['name'])) { $file_attachment['content'] = file_get_contents($_FILES['joinFile']['tmp_name']); $file_attachment['name'] = $_FILES['joinFile']['name']; $file_attachment['mime'] = $_FILES['joinFile']['type'];
🙏