Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| webdev:javascript:ajax [12/04/2017 16:30] – [PHP] dolo | webdev:javascript:ajax [12/04/2017 16:32] (Version actuelle) – dolo | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== AJAX ====== | ||
| + | ==== JS (jQuery) ==== | ||
| + | < | ||
| + | $.ajax( | ||
| + | { | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | { | ||
| + | // console.log('////////////////////////////////////////////// | ||
| + | // console.log(data); | ||
| + | filer = $('# | ||
| + | for(var i = 0, max = data.length ; i < max ; i++) | ||
| + | { | ||
| + | filer.append(data[i]); | ||
| + | } | ||
| + | }, | ||
| + | ' | ||
| + | { | ||
| + | // console.log('//////////////////////////////////////////////// | ||
| + | // console.log(error); | ||
| + | // console.log(request); | ||
| + | }, | ||
| + | }); | ||
| + | </ | ||
| + | [[http:// | ||
| + | ==== PHP ==== | ||
| + | === Spécifique à Prestashop 1.6 : === | ||
| + | < | ||
| + | function getTailoredFiles() | ||
| + | { | ||
| + | // header(' | ||
| + | if( !Tools:: | ||
| + | { | ||
| + | die(false); | ||
| + | } | ||
| + | |||
| + | $order = new Order(Tools:: | ||
| + | $order_folder = ' | ||
| + | if( is_dir(_PS_UPLOAD_DIR_ . $order_folder) ) | ||
| + | { | ||
| + | $order_folder_files = scandir( _PS_UPLOAD_DIR_ . $order_folder ); | ||
| + | $order_folder_files = array_diff( $order_folder_files, | ||
| + | |||
| + | foreach($order_folder_files as $order_file) | ||
| + | { | ||
| + | $return[] = array( | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ); | ||
| + | } | ||
| + | |||
| + | if( !empty($return)) | ||
| + | { | ||
| + | $return_json = json_encode( $return ); | ||
| + | echo $return_json; | ||
| + | die(); | ||
| + | } | ||
| + | } | ||
| + | die(false); | ||
| + | } | ||
| + | </ | ||
| + | === Wordpress === | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * http:// | ||
| + | |||
| + | == 1. Ajouter le script == | ||
| + | < | ||
| + | wp_enqueue_script(' | ||
| + | wp_localize_script(' | ||
| + | </ | ||
| + | |||
| + | == 2. Appel AJAX en JS == | ||
| + | < | ||
| + | $.ajax( | ||
| + | { | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | { | ||
| + | // console.log('////////////////////////////////////////////// | ||
| + | // console.log(data); | ||
| + | $(' | ||
| + | { | ||
| + | $('# | ||
| + | $(' | ||
| + | }); | ||
| + | }, | ||
| + | // ' | ||
| + | // { | ||
| + | // console.log('//////////////////////////////////////////////// | ||
| + | // console.log(error); | ||
| + | // console.log(request); | ||
| + | // }, | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | == 3. Ajouter une fonction sur le custom hook == | ||
| + | < | ||
| + | add_action(' | ||
| + | add_action(' | ||
| + | |||
| + | public function ajaxHomeFilter() | ||
| + | { | ||
| + | header( " | ||
| + | |||
| + | // On récupère les variables avec $_POST | ||
| + | |||
| + | $return = ''; | ||
| + | |||
| + | // traitement... | ||
| + | |||
| + | echo json_encode($return); | ||
| + | wp_die(); | ||
| + | } | ||
| + | </ | ||