Créer des pages personnalisées dans Prestashop 1.5.3
J'aimerais créer une page personnalisée dans Prestashop 1.5.3 sans l'aide de CMS.
Malheureusement, je ne peux pas trouver toutes les tutoriels qui travaillent avec 1.5.3.
Pour l'instant j'ai créé un test.php fichier dans les boutiques de la racine du répertoire avec le contenu suivant:
<?php
include(dirname(__FILE__).'/config/config.inc.php');
include(dirname(__FILE__).'/header.php');
$smarty->display(_PS_THEME_DIR_.'test.tpl');
?>
J'ai placé le test correspondant.tpl dans mes thèmes basefolder. Il contient tout simplement 'bonjour le monde'.
J'ai changé le blockmenu.php et créé un lien vers ma page:
$this->_menu .= '<li><a href="test.php">TEST</a></li>'.PHP_EOL;
Si je clique sur le lien, la page s'affiche mais le html est une sorte de corruption. Le corps-id de la page est définie sur pagenotfound et la colonne de gauche est générée, mais n'est pas affiché. Est-il possible de définir l' $nom_page pour ma page personnalisée afin que je puisse vérifier si ma page personnalisée est chargé et pour supprimer la génération de colonnes droite et gauche?
Est-il un autre moyen de créer une fonctionnelle de la page personnalisée sans CMS?
OriginalL'auteur user1567896 | 2013-01-15
Vous devez vous connecter pour publier un commentaire.
Il suffit de créer un contrôleur avec le nom que vous voulez pour la page, et le mettre dans /overrides/controllers/front/.
Le nom du contrôleur doit être NameyouwantforthepageController.php
Ici est une classe de base qui fonctionne:
Prendre un coup d'oeil à la FrontController pour voir quelle méthode vous avez besoin de remplacer pour ajouter des fonctionnalités, par exemple
setMedia()
pour ajouter des fichiers CSS /JS.Vous serez alors en mesure d'ajouter une jolie url dans le back-office dans le SEO panel.
public $php_self = 'mypage';
pour être en mesure de sélectionner la page correspondante dans le RÉFÉRENCEMENT & Url de menu.Bonjour et Merci pour la réponse, mais comment puis-je accéder à ma page web, l'URL qui dois-je utiliser ?
Vous pouvez accéder à la page avec
www.yoursite.com/index.php?controller=nameOfYourController
. Mais la meilleure façon est d'ajouter une url dans le SEO panel dans le back-officeJe pense que vous devriez modifier cette réponse de
/controllers/front/
à/overrides/controllers/front/
. Vous êtes d'accord avec moi??oui, certainement. Édité ma réponse. merci pour la suggestion
OriginalL'auteur romainberger
Tout fonctionne bien sauf le "public $php_self = 'mapage'".
Si vous mettez votre fichier dans le répertoire override (bonnes pratiques), l'identifiant "mypage" n'apparaît pas sur le SEO Menu.
Mais, si vous mettez votre contrôleur de fichier dans le répertoire principal, c'est de travailler.
L'classes/Meta.php ne scanne pas les remplacer répertoire, seul le répertoire racine (vous pouvez le voir sur la ligne 56 de Meta.php)
Substitution de la classe Meta.php avec ce code de PrestaShop pour analyser les remplacer répertoire et ajouter les pages :
OriginalL'auteur Plici Stéphane
Un modèle pour notre nouvelle page personnalisée - thèmes/site-courant-thème/custom-page.tpl
créer une page d'accueil dans prestashop
veuillez activer le mode d'erreur en éditant /config/defines.inc.php
Merci, j'ai juste oublier d'effacer la mémoire cache.
OriginalL'auteur Gofenice Technologies
Bonjour geys cette solution de travail perfectlly à remplacer également.
1/dans le dossier /override créer une page manufacturer-detail.php et de mettre ce code:
inclure(dirname(FICHIER).'/config/config.inc.php');
Contrôleur::getController('ManufacturerDetailController')->run();
Outils::displayFileAsDeprecated();
inclure(dirname(FICHIER).'/header.php');
$smarty->display(_PS_THEME_DIR_. " fabricant de détails.tpl');
inclure(dirname(FICHIER).'/footer.php');
2/Dans le dossier /override/controllers/front de créer une page manufacturerDetailController.php et de mettre ce code:
classe ManufacturerDetailController s'étend FrontController{
* Suppression de la double anti-slash pour activer la partie
* si vous souhaitez utiliser la feuille de style externe et JavaScript de la page.
* Créer les fichiers CSS et JS dans le css et le js répertoires du thème en conséquence
*/
}
3/dans le dossier /themes/votre-par défaut-thème créer une page manufacturer-detail.php et de mettre ce code:
Bonjour tout le monde
4/Vous pouvez aller pour le RÉFÉRENCEMENT & Url dans votre back-office et d'ajouter de nouvelles url
Vous pouvez accéder à tou votre page http://yourstore.com/index?controller=ManufacturerDetail
OU
http://yourstore.com/urr-you-have-added-from-back-office
OriginalL'auteur F.Amine