Jump to content

Recommended Posts

Je souhaite crée des nouvelles pages "indépendantes" des pages déja existantes.

 

genre avoir une page a customiser (en double langue) lesoiseaux.php... et bien j'ai beau crée les tpl le controlleur plus la page en racine du site.... pas moyen d'avoir un affichage de quoi que ce soit!!!

 

C'est pourtant un étape qui devrait être "facile"

 

 

Merci pour vos commentaires, voire lumières ... car la, la difficulté est inattendue et commence légèrement a me courir :)

Share this post


Link to post
Share on other sites

Bonjour,

 

Oui c'est très facile :

 

- Une classe (si besion)

- Un contrôleur

- Un TPL dans le thème

- Ajout de la page dans le BO (préférences => SEO & URL => Créer

 

Ensuite, il ne reste qu'à taper l'url définie précédemment ;)

Share this post


Link to post
Share on other sites

Aussi, si tu le souhaite, c'est comme ça que je crée mes pages sous prestashop, va dans ton back office puis : préférences - cms - créer une page dans cette catégorie !

Share this post


Link to post
Share on other sites

Hi!

 

Merci pour vos réponses @alex: oui c'est une solution mais j'ai besoin d'y mettre des tpl différents @DevOnWeb: facile facile... c'est ce que j'avais fait au départ mais ça marche pas bien ... d'ou mon appel AU SECOURS :)

 

Voila le truc

 

j'ai créé a la base du site xtest.php

 

 

require(dirname(__FILE__).'/config/config.inc.php');
Tools::displayFileAsDeprecated();

Tools::redirect('index.php?controller=xtest'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');

 

 

Puis un controleur / front XtestController.php

 

class IndexControllerCore extends FrontController
{
public $php_self = 'xtest';

public function initContent()
{
parent::initContent();

$this->context->smarty->assign('HOOK_HOME', Hook::exec('displayHome'));
$this->setTemplate(_PS_THEME_DIR_.'xtest.tpl');
}
}

 

 

un xtest.tpl dans themes\default naturellement

 

Puis BO seo/url je choisi la page et reecriture xtest

 

index.php?controller=xtest => blanc

 

 

D'ou ma question : ou cela merde t il? :)

Share this post


Link to post
Share on other sites

Salut j'ai peut etre la réponse à ta question. J'ai fait comme ca :

 

Je crée une page Mapagecontroller.php

 

<?php

 

class MapageControllerCore extends FrontController

{

public $php_self = 'Mapage.php';

public $ssl = true;

 

public function preProcess()

{

parent::preProcess();

 

}

 

public function setMedia()

{

parent::setMedia();

Tools::addCSS(_THEME_CSS_DIR_.'Mapagecss.css');

}

 

public function displayContent()

{

$_POST = array_merge($_POST, $_GET);

parent::displayContent();

self::$smarty->display(_PS_THEME_DIR_.'Mapage.tpl');

}

}

 

Garde bien la 1ere lettre en majuscule et le reste de la casse pareil.

 

Ensuite tu crée ta page Mapage.php

 

 

<?php

 

 

require(dirname(__FILE__).'/config/config.inc.php');

ControllerFactory::getController('MapageController')->run();

 

 

Puis tu crée Mapage.tpl (que tu met dans ton thème)

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 

<link href="css/Mapagecss.css" rel="stylesheet" type="text/css" />

{capture name=path}{l s='Le titre que tu veux voir dans le fil d'ariane'}{/capture}

{include file="$tpl_dir./breadcrumb.tpl"}

<h1>Le titre de ta page!</h1>

</head>

 

<body>

 

</body>

 

</html>

 

Ensuite, tu remontes tes 3 pages via ftp. Puis tu vas dans preferences-Seo, tu fais nouveau, tu prends Mapage.php et tu lui attribues la description, le titre, mots clés et url rewriting.

 

Et voilà :)))

Courage

  • Like 1

Share this post


Link to post
Share on other sites

Mazzeeelllltttooovv!

 

En fin un résultat! Merci 1000 fois - c'est l'appel de la page qui merdait donc

Share this post


Link to post
Share on other sites

Ravie que t'y sois arrivé. Donc comme on dis dans ces cas là : félicitations :))

Bonne soirée

Share this post


Link to post
Share on other sites

Bizarre car cette technique marchait chez moi avec la version 1.4 mais ne marche plus avec la version 1.5

 

en effet la ligne

ControllerFactory::getController('ProductController')->createProductCover();

 

renvoit une erreur 500

Le site Web a rencontré une erreur lors de l'extraction de http://localhost/prestashop1.5/modules/covercustom/app/cover-create.php?0.3397159609012306.

 

Vous confirmez que ControllerFactory::getController marche bien avec prestashop 1.5 ?

Edited by ademus (see edit history)

Share this post


Link to post
Share on other sites

Bonjour

 

 

AU SECOURS - Crée une nouvelle page: MI

 

Nous avons tous besoin de secours quand nous posons des questions sur le forum, mais là vous n'êtes pas en train de vous noyer et les Au secours c'est pas une bonne méthode sur un forum pour avoir des réponses.

 

Sinon les forums deviendraient vite des torchons si tous mettent Au secours help A l'aide etc..

en plus vous criez les majuscule = crier depuis que la communication électonique existe !!

Share this post


Link to post
Share on other sites

Je me permets un up car j'ai bien suivi le tuto mais je ne vois pas le nom de ma page dans la liste déroulante "Page" de Préférences -> SEO&URLs -> créer.

 

Je suis sous prestashop 1.5, est-ce qu'il y a quelque chose à changer ?

 

Merci.

 

 

EDIT : oO truc tout bête... j'avais fait une copie d'un fichier modifié donc forcément il essayait de trouver la copie dans Meta.php qui n'existait pas donc erreur php... :D

Edited by guigs06.pro (see edit history)

Share this post


Link to post
Share on other sites

salut

 

Se qui marche sur la 1.4 ne marche plus sur la 1.5.4 j ai aussi galérer pour créer une page je te dit comment j ai fait et tu pourra rajouter ta page par la suite

 

Ma page créer s'appelle catalogue donc faudra remplacer

 

1/ dans dossier controllers / front j ai mis

 

<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2012 PrestaShop SA
*  @license	http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/
class CatalogueControllerCore extends FrontController
{

	public $php_self = 'catalogue';

 public function initContent()
 {

  parent::initContent();
  $this->setTemplate(_PS_THEME_DIR_.'catalogue.tpl');
 }
}

 

2/ A la racine avec tous les autres php j'ai créer le fichier catalogue.php

 

<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2012 PrestaShop SA
*  @license	http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*/

require_once(dirname(__FILE__).'/config/config.inc.php');
Controller::getController('CatalogueController')->run();

 

3/Dans mon dossier thème j ai créer le tpl avec

 

{*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2012 PrestaShop SA
*  @version  Release: $Revision: 6844 $
*  @license	http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}

LA le code de ma page

Edited by Glaber (see edit history)

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

Merci Glaber, je viens de tester ta solution sous Prestashop 1.5.3. Tout fonctionne très bien jusqu'au moment où j'ajoute la page dans SEO & URL's et là ma page est redirigée vers l'erreur 404-Page introuvable ...

 

Qu'es que j'ai mal fait ou pas fait ?

 

Merci.

Edited by max63800 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

@Glaber : Merci, entre temps j'avais trouvé et ça marche mais difficile de comprendre le modèle prestashop au niveau technique.

Est-ce qu'il y a une doc quelque part niveau code ? Car j'ai fait une page entre l'ajout au panier et le panier mais du coup je perds tous mes éléments en route :/

 

@max63800 : est-ce que tu as bien activé l'url simplifiée ? Et mis ta page .php à la racine ?

Sinon tu peux essayer de remplacer, dans ta page .php située à la racine :

 

Controller::getController('MaPageController')->run();

 

par

 

Tools::displayFileAsDeprecated();

 

Tools::redirect('index.php?controller=maPage'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently');

Edited by guigs06.pro (see edit history)

Share this post


Link to post
Share on other sites

Merci guisgs6.pro, effectivement j'avais oublié l'activation de l'url simplifiée, j'était pourtant certains de l'avoir fait....

Share this post


Link to post
Share on other sites

peut être un problème de redirection ta page marche si tu fait /index.php?controller=le_nom_de_ta_page

 

 

ps le Tools:: donne des erreur sur presta 1.5.4 d'ou le fichier modifier donner plus haut :)

Edited by Glaber (see edit history)

Share this post


Link to post
Share on other sites

J'ai un problème similaire, j'ai crée mes 3 fichiers je les ai remontés via le ftp, seulement quand je vais dans préférences==> SEO&URLs et que je crée une nouvelle page, mapage.php ne se trouve pas dans le menu déroulant. Donc forcément quand je tente d'accéder à ma page ça me renvoit une page blanche. Pouvez-vous m'aider?

Edited by Flobrand (see edit history)

Share this post


Link to post
Share on other sites

Bonjour, je relance le sujet car j'ai exactement le même problème que Flobrand.

J'ai bien créé mes 3 pages.

Ma page ne se trouve nulle part dans le SEO du back office. Pourquoi et comment faire?

Share this post


Link to post
Share on other sites

Bonjour ,

SVP j'ai le même problème sur la version PrestaShop 1.5.6.2 j'ai créer ces trois fichier mes j'ai eu une page blanche ,, est ce que j'ai rater quelque chose ?? !!!

Share this post


Link to post
Share on other sites

Up pour la version 1.6

 

Auriez-vous la solution à m'apporter ?

 

Merci à vous et bonne soirée

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More