{"id":696,"date":"2014-10-09T14:19:20","date_gmt":"2014-10-09T12:19:20","guid":{"rendered":"http:\/\/www.h-hennes.fr\/blog\/?p=696"},"modified":"2022-01-18T15:59:41","modified_gmt":"2022-01-18T13:59:41","slug":"prestashop-1-4-creer-un-controller-front-office-pour-un-module","status":"publish","type":"post","link":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/","title":{"rendered":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module"},"content":{"rendered":"<p>Dans sa version 1.4, la gestion des controllers front office des modules n&rsquo;est pas aussi optimis\u00e9e que sur les versions suivantes.<br \/>\nMalgr\u00e9 tout cette version reste encore assez utilis\u00e9e sur des anciennes boutiques.<\/p>\n<p>Voici donc comment cr\u00e9er \u00ab\u00a0proprement\u00a0\u00bb un module qui disposera d&rsquo;un controller front office.<br \/>\nPar proprement j&rsquo;entends un module qui d\u00e9posera les fichiers n\u00e9cessaires aux bons emplacements, et qui peut \u00eatre d\u00e9sinstall\u00e9 sans laisser de traces \ud83d\ude42<\/p>\n<p>Le nom du module sera \u00ab\u00a0sample\u00a0\u00bb et sa structure sera la suivante :<\/p>\n<p><a href=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2014\/10\/sample-structure.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-697 size-full\" src=\"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2014\/10\/sample-structure.jpg\" alt=\"Structure du module sample\" width=\"109\" height=\"103\" \/><\/a><\/p>\n<p>Les contenus des fichiers css,js et tpl n&rsquo;ayant pas d&rsquo;importance je ne d\u00e9taillerais pas leur contenu. ( il s&rsquo;appelleront respectivement sample.css , sample.js et sample.tpl )<\/p>\n<p>Voici le contenu du fichier de gestion du module \u00ab\u00a0sample.php\u00a0\u00bb<br \/>\nC&rsquo;est dans ce fichier via les fonction _installModuleController et _uninstallModuleController que le controller Front office du module est bien install\u00e9 ou supprim\u00e9<\/p>\n<pre lang=\"php\" escaped=\"true\">&lt;?php\r\n\r\nif (!defined('_PS_VERSION_'))\r\nexit;\r\n\r\nclass Sample extends Module {\r\n\r\n\/** Nom de la page Front Office du module *\/\r\nprivate $_module_page_name = 'sample_front_office_page';\r\n\r\n\r\npublic function __construct() {\r\n\r\n$this-&gt;name = \"sample\";\r\n$this-&gt;tab = \"others\";\r\n$this-&gt;version = '0.1.0';\r\n$this-&gt;author = \"Hennes Herve\";\r\n$this-&gt;need_instance = 0;\r\n\r\nparent::__construct();\r\n$this-&gt;displayName = $this-&gt;l(\"Sample Module\");\r\n$this-&gt;description = $this-&gt;l(\"Sample module with front controller\");\r\n}\r\n\r\n\/**\r\n* Installation du module\r\n*\/\r\npublic function install() {\r\n\r\n\/\/Installation Standard du module\r\nif (! parent::install())\r\nreturn false;\r\n\r\n\/\/Installation du controller Front du module\r\nif ( !$this-&gt;_installModuleController())\r\nreturn false;\r\n\r\nreturn true;\r\n}\r\n\r\n\/**\r\n* D\u00e9sinstallation du module\r\n*\/\r\npublic function uninstall() {\r\nif (!parent::uninstall() || !$this-&gt;_uninstallModuleController()\r\n)\r\nreturn false;\r\n}\r\n\r\n\r\n\r\n\/**\r\n* Installation du controller Front Office du Module\r\n*\/\r\nprivate function _installModuleController() {\r\n\r\n\/\/Copie du fichier front Office\r\nif (!copy(dirname(__FILE__) . '\/' . $this-&gt;_module_page_name . '.php', dirname(__FILE__) . '\/..\/..\/' . $this-&gt;_module_page_name . '.php'))\r\nreturn false;\r\n\r\n\/\/Cr\u00e9ation des balises meta de la page pour la redirection (\r\n$meta = new Meta();\r\n$meta-&gt;page = $this-&gt;_module_page_name;\r\n$languages = Language::getLanguages();\r\n\r\n\/\/Ces \u00e9l\u00e9ments sont \u00e0 adapter suivant votre configuration\r\nforeach ($languages as $lang) {\r\n$meta-&gt;title[$lang['id_lang']] = 'Titre de la page';\r\n$meta-&gt;description[$lang['id_lang']] = 'Description de la page';\r\n$meta-&gt;keywords[$lang['id_lang']] = 'Keywords de la page';\r\n$meta-&gt;url_rewrite[$lang['id_lang']] = 'url-page';\r\n}\r\n\r\nreturn $meta-&gt;save();\r\n}\r\n\r\n\/**\r\n* D\u00e9sinstallation du controller Front Office du Module\r\n*\/\r\nprivate function _uninstallModuleController() {\r\n\r\nif ( is_file(dirname(__FILE__) . '\/..\/..\/' . $this-&gt;_module_page_name . '.php') )\r\nunlink(dirname(__FILE__) . '\/..\/..\/' . $this-&gt;_module_page_name . '.php');\r\nelse\r\nreturn false;\r\n\r\n$id_meta = Db::getInstance()-&gt;getValue(\"SELECT id_meta FROM \"._DB_PREFIX_.\"meta WHERE page='\".$this-&gt;_module_page_name.\"'\");\r\nif ( !$id_meta )\r\nreturn false;\r\n\r\n$meta = new Meta($id_meta);\r\nreturn $meta-&gt;delete();\r\n\r\n}\r\n\r\n}\r\n\r\n?&gt;\r\n\r\n\u00a0\r\n<\/pre>\n<p>Voici le contenu de la page Front Office \u00ab\u00a0sample_front_office_page.php\u00a0\u00bb qui sera copi\u00e9e \u00e0 la racine du site par le module et qui sera appell\u00e9e par les visiteurs du site.<\/p>\n<pre lang=\"php\" escaped=\"true\">&lt;?php\r\n\r\n\/**\r\n* Page FO qui sera copi\u00e9e automatiquement \u00e0 la racine du site lors de l'installation du module\r\n*\/\r\n\r\n\/\/Inclusion du fichier de config et du fichier de controller de notre module\r\nrequire(dirname(__FILE__).'\/config\/config.inc.php');\r\ninclude_once(dirname(__FILE__).'\/modules\/sample\/controllers\/SampleFrontController.php');\r\n\r\n\/\/Instanciation et lancement du Controller Module\r\n$controller = new SampleFrontController();\r\n$controller-&gt;run();\r\n\r\n?&gt;\r\n<\/pre>\n<p>Voici le contenu du controller front Office \u00ab\u00a0SampleFrontController.php\u00a0\u00bb qui va g\u00e9rer (contenu + traitement ) la page front office<\/p>\n<pre lang=\"php\" escaped=\"true\">&lt;?php\r\n\/**\r\n* FIchier controller\r\n*\/\r\nclass SampleFrontController extends FrontController {\r\n\r\n\/** Nom du fichier php front office *\/\r\npublic $php_self = 'sample_front_office_controller.php';\r\n\r\n\r\n\/**\r\n* Ajout des Css \/ Js\r\n*\/\r\npublic function setMedia() {\r\n\r\nparent::setMedia();\r\n\r\n\/\/Css et Js Sp\u00e9cifiques au module avec gestion des surcharges dans le theme\r\nif (is_file(_THEME_CSS_DIR_ . 'modules\/sample\/samples.css'))\r\nTools::addCSS(_THEME_CSS_DIR_ . 'modules\/sample\/samples.css');\r\nelse\r\nTools::addCSS(_MODULE_DIR_ . 'sample\/views\/css\/samples.css');\r\n\r\nif (is_file(_THEME_JS_DIR_ . 'modules\/sample\/sample.js'))\r\nTools::addJS(_THEME_JS_DIR_ . 'modules\/sample\/sample.js');\r\nelse\r\nTools::addJS(_MODULE_DIR_ . 'sample\/views\/js\/sample.js');\r\n\r\n}\r\n\r\n\/**\r\n* Traitement des donn\u00e9es de la page\r\n*\/\r\npublic function process() {\r\n\r\nparent::process();\r\n\r\n\r\n\/\/Envoi des informations au template\r\nself::$smarty-&gt;assign('data', 'test');\r\n}\r\n\r\n\/**\r\n* Affichage du contenu de la page\r\n*\/\r\npublic function displayContent() {\r\n\r\nparent::displayContent();\r\n\r\n\/\/Gestion de la surcharge des templates du module\r\nif (is_file(_PS_THEME_DIR_ . 'modules\/sample\/sample.tpl'))\r\n$tplFile = _PS_THEME_DIR_ . 'modules\/sample\/sample.tpl';\r\nelse\r\n$tplFile = _PS_MODULE_DIR_ . 'sample\/views\/sample.tpl';\r\n\r\nself::$smarty-&gt;display($tplFile);\r\n\r\n}\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans sa version 1.4, la gestion des controllers front office des modules n&rsquo;est pas aussi optimis\u00e9e que sur les versions suivantes. Malgr\u00e9 tout cette version reste encore assez utilis\u00e9e sur des anciennes boutiques. Voici donc comment cr\u00e9er \u00ab\u00a0proprement\u00a0\u00bb un module qui disposera d&rsquo;un controller front office. Par proprement j&rsquo;entends un module qui d\u00e9posera les fichiers [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[245,6],"tags":[235,289,288,104],"class_list":["post-696","post","type-post","status-publish","format-standard","hentry","category-prestashop-2","category-trucs-et-astuces","tag-controller","tag-front-office","tag-module","tag-prestashop","prestashop-1-4","prestashop-1-6","prestashop-1-7-7","prestashop-1-7-8","prestashop-8-0","prestashop-8-1"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"herve\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#article\",\"name\":\"Prestashop 1.4 : Cr\\u00e9er un controller Front Office pour un module | Herv\\u00e9 Hennes\",\"headline\":\"Prestashop 1.4 : Cr\\u00e9er un controller Front Office pour un module\",\"author\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/wp-content\\\/uploads\\\/2014\\\/10\\\/sample-structure.jpg\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#articleImage\",\"width\":109,\"height\":103,\"caption\":\"Structure du module sample\"},\"datePublished\":\"2014-10-09T14:19:20+02:00\",\"dateModified\":\"2022-01-18T15:59:41+02:00\",\"inLanguage\":\"fr-FR\",\"commentCount\":5,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#webpage\"},\"articleSection\":\"Prestashop, Trucs et astuces, controller, front office, module, prestashop, 1.4, 1.6, 1.7.7, 1.7.8, 8.0, 8.1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/trucs-et-astuces\\\/#listItem\",\"name\":\"Trucs et astuces\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/trucs-et-astuces\\\/#listItem\",\"position\":2,\"name\":\"Trucs et astuces\",\"item\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/trucs-et-astuces\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#listItem\",\"name\":\"Prestashop 1.4 : Cr\\u00e9er un controller Front Office pour un module\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#listItem\",\"position\":3,\"name\":\"Prestashop 1.4 : Cr\\u00e9er un controller Front Office pour un module\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/category\\\/trucs-et-astuces\\\/#listItem\",\"name\":\"Trucs et astuces\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#organization\",\"name\":\"Herv\\u00e9 Hennes\",\"description\":\"D\\u00e9veloppeur e-commerce\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/\",\"name\":\"herve\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/248532c833c69e304668cc20fd20ec6ddc1808306f57d5d14e632059f50347a4?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"herve\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#webpage\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/\",\"name\":\"Prestashop 1.4 : Cr\\u00e9er un controller Front Office pour un module | Herv\\u00e9 Hennes\",\"inLanguage\":\"fr-FR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/2014\\\/10\\\/09\\\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/author\\\/herve\\\/#author\"},\"datePublished\":\"2014-10-09T14:19:20+02:00\",\"dateModified\":\"2022-01-18T15:59:41+02:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/\",\"name\":\"Herv\\u00e9 Hennes\",\"description\":\"D\\u00e9veloppeur e-commerce\",\"inLanguage\":\"fr-FR\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.h-hennes.fr\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module | Herv\u00e9 Hennes","description":"","canonical_url":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#article","name":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module | Herv\u00e9 Hennes","headline":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module","author":{"@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author"},"publisher":{"@id":"https:\/\/www.h-hennes.fr\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.h-hennes.fr\/blog\/wp-content\/uploads\/2014\/10\/sample-structure.jpg","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#articleImage","width":109,"height":103,"caption":"Structure du module sample"},"datePublished":"2014-10-09T14:19:20+02:00","dateModified":"2022-01-18T15:59:41+02:00","inLanguage":"fr-FR","commentCount":5,"mainEntityOfPage":{"@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#webpage"},"isPartOf":{"@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#webpage"},"articleSection":"Prestashop, Trucs et astuces, controller, front office, module, prestashop, 1.4, 1.6, 1.7.7, 1.7.8, 8.0, 8.1"},{"@type":"BreadcrumbList","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog#listItem","position":1,"name":"Home","item":"https:\/\/www.h-hennes.fr\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/category\/trucs-et-astuces\/#listItem","name":"Trucs et astuces"}},{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/category\/trucs-et-astuces\/#listItem","position":2,"name":"Trucs et astuces","item":"https:\/\/www.h-hennes.fr\/blog\/category\/trucs-et-astuces\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#listItem","name":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#listItem","position":3,"name":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module","previousItem":{"@type":"ListItem","@id":"https:\/\/www.h-hennes.fr\/blog\/category\/trucs-et-astuces\/#listItem","name":"Trucs et astuces"}}]},{"@type":"Organization","@id":"https:\/\/www.h-hennes.fr\/blog\/#organization","name":"Herv\u00e9 Hennes","description":"D\u00e9veloppeur e-commerce","url":"https:\/\/www.h-hennes.fr\/blog\/"},{"@type":"Person","@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author","url":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/","name":"herve","image":{"@type":"ImageObject","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/248532c833c69e304668cc20fd20ec6ddc1808306f57d5d14e632059f50347a4?s=96&d=mm&r=g","width":96,"height":96,"caption":"herve"}},{"@type":"WebPage","@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#webpage","url":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/","name":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module | Herv\u00e9 Hennes","inLanguage":"fr-FR","isPartOf":{"@id":"https:\/\/www.h-hennes.fr\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/#breadcrumblist"},"author":{"@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author"},"creator":{"@id":"https:\/\/www.h-hennes.fr\/blog\/author\/herve\/#author"},"datePublished":"2014-10-09T14:19:20+02:00","dateModified":"2022-01-18T15:59:41+02:00"},{"@type":"WebSite","@id":"https:\/\/www.h-hennes.fr\/blog\/#website","url":"https:\/\/www.h-hennes.fr\/blog\/","name":"Herv\u00e9 Hennes","description":"D\u00e9veloppeur e-commerce","inLanguage":"fr-FR","publisher":{"@id":"https:\/\/www.h-hennes.fr\/blog\/#organization"}}]}},"aioseo_meta_data":{"post_id":"696","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-29 16:38:06","updated":"2022-10-03 06:24:07","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.h-hennes.fr\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.h-hennes.fr\/blog\/category\/trucs-et-astuces\/\" title=\"Trucs et astuces\">Trucs et astuces<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tPrestashop 1.4 : Cr\u00e9er un controller Front Office pour un module\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.h-hennes.fr\/blog"},{"label":"Trucs et astuces","link":"https:\/\/www.h-hennes.fr\/blog\/category\/trucs-et-astuces\/"},{"label":"Prestashop 1.4 : Cr\u00e9er un controller Front Office pour un module","link":"https:\/\/www.h-hennes.fr\/blog\/2014\/10\/09\/prestashop-1-4-creer-un-controller-front-office-pour-un-module\/"}],"_links":{"self":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/comments?post=696"}],"version-history":[{"count":5,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/696\/revisions"}],"predecessor-version":[{"id":724,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/posts\/696\/revisions\/724"}],"wp:attachment":[{"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/media?parent=696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/categories?post=696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.h-hennes.fr\/blog\/wp-json\/wp\/v2\/tags?post=696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}