{"id":989,"date":"2026-06-29T19:42:50","date_gmt":"2026-06-29T16:42:50","guid":{"rendered":"https:\/\/presta.site\/blog\/como-crear-una-nueva-pagina-usando-el-controlador-frontal-de-un-modulo\/"},"modified":"2026-06-29T19:42:50","modified_gmt":"2026-06-29T16:42:50","slug":"como-crear-una-nueva-pagina-usando-el-controlador-frontal-de-un-modulo","status":"publish","type":"post","link":"https:\/\/presta.site\/blog\/es\/como-crear-una-nueva-pagina-usando-el-controlador-frontal-de-un-modulo\/","title":{"rendered":"C\u00f3mo crear una nueva p\u00e1gina usando el controlador frontal de un m\u00f3dulo"},"content":{"rendered":"<p>As\u00ed que desea crear una nueva p\u00e1gina. Es muy f\u00e1cil, solo necesita escribir unas pocas l\u00edneas de c\u00f3digo.<\/p>\n<p>Este tutorial es para <strong>PrestaShop 1.6<\/strong>. Otras versiones son similares pero pueden diferir ligeramente.<\/p>\n<p><!--more--><\/p>\n<p>Digamos que queremos crear un controlador &#8220;<strong>Test<\/strong>&#8221; para un m\u00f3dulo &#8220;<strong>MyModule<\/strong>&#8220;. Cambie &#8220;Test&#8221; y &#8220;MyModule&#8221; a sus valores reales.<\/p>\n<ol>\n<li>Primero necesita navegar al directorio de su m\u00f3dulo.<\/li>\n<li>Cree all\u00ed un nuevo directorio &#8220;<strong>controllers<\/strong>&#8220;. Y dentro de \u00e9l cree un directorio &#8220;<strong>front<\/strong>&#8220;.<br \/>\nPor lo que la estructura de archivos deber\u00eda ser &#8220;mymodule\/controllers\/front\/&#8221;<\/li>\n<li>En ese directorio &#8220;front&#8221; cree un nuevo archivo PHP: <strong>test.php<\/strong><\/li>\n<li>Pegue el siguiente c\u00f3digo en ese archivo:\n<div class=\"codecolorer-container php blackboard\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"kw2\">class<\/span> MyModuleTestModuleFrontController <span class=\"kw2\">extends<\/span> ModuleFrontController<br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Como puede ver, la clase del controlador extiende ModuleFrontController y debe llamarse como &lt;<strong>module_name<\/strong>&gt;&lt;<strong>controller_name<\/strong>&gt;ModuleFrontController.<\/li>\n<\/ol>\n<p><strong>\u00a1Todo listo!<\/strong><\/p>\n<p>Puede ver su nueva p\u00e1gina mediante la siguiente URL:<br \/>\n<strong>your_site<\/strong>\/index.php?fc=module&amp;module=<strong>mymodule<\/strong>&amp;controller=<strong>test<\/strong><br \/>\nO<br \/>\n<strong>your_site<\/strong>\/module\/<strong>mymodule<\/strong>\/<strong>test<\/strong><br \/>\nVaya a su back office a la pesta\u00f1a Preferencias &gt; SEO y URLs. All\u00ed puede hacer clic en &#8220;<strong>A\u00f1adir una nueva p\u00e1gina<\/strong>&#8221; y configurar una URL amigable personalizada para su p\u00e1gina.<\/p>\n<h3>Ahora, puede personalizar la nueva p\u00e1gina<\/h3>\n<p>Por ejemplo, use la variable <strong>display_column_left<\/strong> para controlar la visualizaci\u00f3n de la columna izquierda.<\/p>\n<div class=\"codecolorer-container php blackboard\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"kw2\">class<\/span> MyModuleTestModuleFrontController <span class=\"kw2\">extends<\/span> ModuleFrontController<br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw2\">public<\/span> <span class=\"re0\">$display_column_left<\/span> <span class=\"sy0\">=<\/span> <span class=\"kw4\">false<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<h3>Agreguemos algo de contenido a la nueva p\u00e1gina<\/h3>\n<p>Cree un nuevo archivo de plantilla: &#8220;mymodule<strong>\/views\/templates\/front\/test.tpl<\/strong>&#8221; y coloque all\u00ed algo de texto.<br \/>\nUse esa plantilla:<\/p>\n<div class=\"codecolorer-container php blackboard\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/>7<br \/>8<br \/>9<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"kw2\">class<\/span> MyModuleTestModuleFrontController <span class=\"kw2\">extends<\/span> ModuleFrontController<br \/>\n<span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"kw2\">public<\/span> <span class=\"kw2\">function<\/span> initContent<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#123;<\/span><br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; parent<span class=\"sy0\">::<\/span><span class=\"me2\">initContent<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<br \/>\n&nbsp; &nbsp; &nbsp; &nbsp; <span class=\"re0\">$this<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">setTemplate<\/span><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'test.tpl'<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n&nbsp; &nbsp; <span class=\"br0\">&#125;<\/span><br \/>\n<span class=\"br0\">&#125;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n","protected":false},"excerpt":{"rendered":"<p>As\u00ed que desea crear una nueva p\u00e1gina. Es muy f\u00e1cil, solo necesita escribir unas pocas l\u00edneas de c\u00f3digo. Este tutorial es para PrestaShop 1.6. Otras versiones son similares pero pueden diferir ligeramente.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-989","post","type-post","status-publish","format-standard","hentry","category-tutorials"],"_links":{"self":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/989","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/comments?post=989"}],"version-history":[{"count":0,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/posts\/989\/revisions"}],"wp:attachment":[{"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/media?parent=989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/categories?post=989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/presta.site\/blog\/wp-json\/wp\/v2\/tags?post=989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}