-
Posts
36 -
Joined
-
Last visited
Apaccy's Achievements
Newbie (1/14)
1
Reputation
-
création d'un fichier pour un tâche cron
Apaccy replied to MishoO's topic in PrestaShop pour les développeurs
Salut, Pour avoir eu une erreur 500 a cause d'une erreur de syntaxe (sûrement la fonction eval()) Je te propose de checker tes sources avec cette commande : find . -iname '*.php' -exec php -l '{}' \; | grep '^No syntax errors' -v Cordialement, -
Configurer un Module Tiers par appel Ajax
Apaccy replied to Apaccy's topic in PrestaShop pour les développeurs
Je n'ai pas réussit a "résoudre" mon problème, néanmoins, je vous fais part de mon avancée. J'ai crée un petit script dans le dossier admin de prestaShop : Ce fichier donne à tous les modules tiers (Administrable) la capacité de travailler en Async tout en conservant le système de sécurité de prestashop. Deux inconvénient : - création de fichiers dans le repertoir admin. - déconnection (redirection) <?php /** * file : /admin/ajax.module.php */ define('PS_ADMIN_DIR', getcwd()); include(PS_ADMIN_DIR.'/../config/config.inc.php'); /* Getting cookie or logout */ require_once(dirname(__FILE__).'/init.php'); $json_data = (object) array('status' => false, 'message' => '', 'data'=>array()); $module = empty($_GET['module']) ? null : $_GET['module']; $controller = empty($_GET['controller']) ? 'Ajax' : $_GET['controller']; $action = empty($_GET['action']) ? null : $_GET['action']; $param = empty($_GET['param']) ? null : $_GET['param']; $file = _PS_MODULE_DIR_ . '/' . $module . '/'.$controller.'.php'; if ( !empty($module) && file_exists($file) ) { require_once($file); $controller = ucfirst($controller); $ajax = new $controller(); if ( method_exists($ajax, $action) ) { try { $data = $ajax->$action($param); $json_data->status = true; $json_data->data = $data; } catch(Exception $e) { $json_data->message = $e->getMessage(); } } else { $json_data->message = "Unknow service action"; } } else { $json_data->message = "Unknow service"; } echo json_encode($json_data); public function getContent() { $html = <<<xxx <script> function submitForm() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if(xhr.readyState == 4) { if(xhr.status == 200) alert("Received:" + xhr.responseText); else alert("Error code " + xhr.status); } }; xhr.open( "POST", "ajax.module.php?module=my_module&controller=Ajax&action=save", true); ///prestashop/admin/ajax.module.php xhr.send(null); } </script> xxx; $html .= '<a href="javascript:submitForm();">send and load</a>'; return $html; } Ce n'est pas un super code, mais il est la et il pourrai intérésé des gens. @+ -
[PrestaShop] Soirée développeurs jeudi 19 avril au Bého Paris
Apaccy replied to Carl Favre's topic in Discussion générale
Bonsoir à tous, Je serai moi aussi présent ! A bientôt !- 65 replies
-
- soirée développeurs
- prestashop
-
(and 1 more)
Tagged with:
-
Bonjour, Je développe un module. Lorsque je configure mon module dans le BO (back-office), j'aimerai que les enregistrements se fasse a travers des appel ajax et non depuis un bouton submit traditionnel. Ce-ci pour des raisons d'ergonomie. Le BO utilise un cookie dont le chemin est "admin". De ce fait, mon appel ajax devrai avoir une url de la forme : "/admin/*" pour conserver le fonctionnement d'identification par cookie. Ainsi, je ne pense pas pouvoir attaquer la configuration de mon module depuis l'url "/modules/" D'où ma question : comment exécuter une fonction de mon module(/modules/my_module/class.php) en ajax depuis le back-office? Merci a vous,
-
Yop, J'ai essayer de faire un module prestashop1.4 "blockworpress". Ok, dans le header ca marche car pas de confie avec Prestashop. Par contre dans un module ca coince un peu tout ca ... Quoi qu'il en soit, voici comment j'avai tester avec prestashop 1.3.6 (puisque c'est la version que tu utilise) : > </pre> <ul> {foreach from=$annee item=article} {$article->post_title} {/foreach} </ul>
-
Presta 1.4 : feuille style différente chaque categorie
Apaccy replied to LeHibou's topic in PrestaShop pour les développeurs
Hello, Cette exemple pourrai etre une solution {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if $blockCategTree.id eq 1} <link href="/themes/.../1.css" rel="stylesheet" type="text/css" media="all" /> {elseif $blockCategTree.id eq 2} <link href="/themes/.../2.css" rel="stylesheet" type="text/css" media="all" /> {/if} @++ --- Edit : J'ai parler un peu trop vite. Je n'avais pas fait attention. Pour la version 1.4, on peut écrire dans le fichier /themes/prestashop/header.tpl: {if isset($css_files)} {foreach from=$css_files key=css_uri item=media} <link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" /> {/foreach} {/if} {if $currentCategoryId eq 1} <link href="/themes/.../1.css" rel="stylesheet" type="text/css" media="all" /> {elseif $currentCategoryId eq 2} <link href="/themes/.../2.css" rel="stylesheet" type="text/css" media="all" /> {/if} -
slide 980px au dessus des 3 colonnes
Apaccy replied to matni's topic in PrestaShop pour les développeurs
Bonjour Newcomer, Peut être aurai tu un peu de code a nous montrer ? un lien serrai le top ... @++ -
Smarty utilise le point pour acceder au clef du tableau Liste darticles: {$annee.post_title} J'avais essayer rapidement et j'obtenais un object et non pas un Array d'où mon precedent message.
-
Hello, Liste darticles: {$annee->post_title} devrai faire l'affaire
-
Bonjour, Patanock, ajoute l'option 'filter_type' et penses à vider les cookie ? Dans un module tiers, j'ai moi aussi voulu ajouter une colonne dont le type de filtre est un . Et ca marche sur la version 1.3.6.0 ! J'ai pris exemple sur le module /admin/AdminOrders.php Je poste ici un petit mémo technique qui se base sur un module personnel, ca peut toujours en aider certaine. /* Quiz tab for admin panel, /modules/quiz/AdminQuiz.php */ $field_type = array( 'title' => $this->l('Type'), // l'entête affiché de la colonne avec traduction 'type' => 'select', // indique qu'il faut utiliser une comboBox() pour le filtre 'select'=>array( 'poll'=> 'All Poll', // All Poll 'quiz'=> 'All Quiz',// All Quiz ), 'filter_key'=>'a!type',// 'a' représente l'alias du nom de la table, 'type' le nom de la colonne 'filter_type' => null, // valeur possible : 'date', 'datetime', 'int', 'bool', 'decimal', 'select' ); $this->fieldsDisplay = array( 'id' => array('title' => 'ID'), 'type' => $field_type, //... ); Ainsi, lors d'un filtrage, la requête deviendra par exemple : WHERE 1 AND a.`type` LIKE '%poll%' Seul les valeur autre que 'date', 'datetime', 'int', 'bool', 'decimal', 'select' de l'option 'filter_type' permet de faire une recherche sur une chaine de caractère. ( Je n'ai pas trouvé de solution existante pour obtenir un filtrage de ce type : WHERE 1 AND a.`type` = 'poll' , mais il est possible d'ajouter un peu de code dans /admin/AdminTab.php a la fin de la fonction postProcces() vers la ligne 715 pour améliorer ca ... Le hic, c'est qu'en faisant ca a chaque nouvelle mise a jour il faudra re-modifier le code prestashop
-
Bonsoir, Voici peut être quelques pistes a prendre : 1] Faire un EXPLAIN de ta requête, (et nous montrer le résultat) 2] Optimiser la requête en évitant de les imbriquer 3] Reconstruire tes index @+
-
[Résolu] Ajouter un champs dans la table category
Apaccy replied to Tolrac's topic in PrestaShop pour les développeurs
Yop, Dans le doute, il y a la propriété Category->level_depth qui te permet de déterminer si une catégorie possède un parent. if( $myCategory->level_depth != 0) { echo $myCategory->name . ' est une sous categorie'; } Cdlt, -
[Résolu] Ajouter un champs dans la table category
Apaccy replied to Tolrac's topic in PrestaShop pour les développeurs
Tu n'a normalement pas de requête SQL a écrire. Il faut ajouter une propriété public a ta classe et ajuster deux trois fonction comme getField() Que représente ton nouveau champ ? Doit-il être multilingue ? @+ -
[Résolu] Ajouter un champs dans la table category
Apaccy replied to Tolrac's topic in PrestaShop pour les développeurs
Bonjour, Pour cela, il faut adapter le model de donné et c'est la classe /prestashop/classes/Category.php qui le permet. Cdlt, -
[NON RÉSOLU] Recherche module de sondage GRATUIT.
Apaccy replied to em72's topic in Modules et thèmes gratuits
Hello, Si tu es motivé pour finir ce que je n'ai pas commencé... PS : Mais je trouverai bien un peu de temps pour finir ça... blockquizz.zip