[XenForo] XF - Créer une page XenForo

Statut
N'est pas ouverte pour d'autres réponses.

Walky 🇫🇷

Cryptoboy
Ancien staff
Inscription
18 Octobre 2012
Messages
1 278
Réactions
1 187
Points
23 400
Créer une page XenForo

----------------------------------------------------------

Avant toute chose : Si vous voulez des explication sur les variables dans le code etc... Lisez ce qui se trouve après les deux //

Dans le dossier library de votre FTP, créer un nouveau dossier (pour ma part ça sera : TutoPage), dans ce dossier créer un autre dossier nommé ControllerPublic (veillez à bien garder ce nom pour que ça fonctionne) et enfin dans ce dossier créer un nouveau fichier (pour ma part ça sera : Page.php, (Gardez bien .php comme fichier d'extension)).
Ce qui nous donne comme chemin (pour ma part) : TutoPage/ControllerPublic/Page

Rappel : En PHP on traduit les / par des _
Ce qui nous donne : TutoPage_ControllerPublic_Page

Gardez bien ce chemin à l'esprit :D

Ensuite créer un nouveau dossier dans TutoPage (pour moi) nommé : Route. Dans ce dossier créer un nouveau fichier (pour ma part ça sera : PageURL.php).

Ce qui nous donne comme chemin : TutoPage_Route_PageURL

Ouvrez ce fichier PageURL.php.

Dans ce fichier, ajoutez ce code :
PHP:
<?php

class TutoPage_Route_PageURL implements XenForo_Route_Interface // changez la class par la votre et ne changez pas ce qui se trouve après implements
{
    public function match($routePath, Zend_Controller_Request_Http $request, Xenforo_Router $router) // vous pouvez changer le match mais pas ce qui est entre paranthèses
    {
        return $router->getRouteMatch('TutoPage_ControllerPublic_Page', $routePath); // changez la class (TutoPage_ControllerPublic_Page) par la votre
    }
}

Sauvegardez.

Allez dans votre AdminCP et créer un nouveau template dans le style maître.

Nom du template : templateTest (pour moi)
Contenu : {$simpleTexte} Pour tester notre futur variable
Extension : Reliez ce template en choisissant votre extension de le menu déroulant

Ouvrez maintenant le fichier Page.php

Ajoutez ce code :
PHP:
<?php

class TutoPage_ControllerPublic_Page extends XenForo_ControllerPublic_Abstract // changez la class par la votre et ne changez pas ce qui se trouve après extends
{
    public function actionIndex()
    {
        $simpleTexte = 'Texte de la variable'; // on définit une variable pour tester

        $viewParams = array( // on ajoute notre variable dans un tableau
            'simpleTexte' => $simpleTexte
        );
        return $this->responseView('TutoPage_ViewPublic_Page', 'templateTest', $viewParams); // on retourne le template ainsi qu'on ajoute la variable $simpleTexte au template ; n'oubliez pas de changer le nom du template, le chemin TutoPage_ViewPublic_Page n'a pas besoin d'exister
    }
}

Sauvegardez.

Dernière étape :D

Rendez-vous dans : AdminCP -> Développement -> Préfixes de routage -> Créer un nouveau préfixe de routage

Voici ce que vous devrez mettre :

Préfixe de routage : Page (vous pouvez mettre ce que vous voulez ; je vous conseil de ne pas mettre de majuscule :))
Type de routage : Public
Class de routage : TutoPage_Route_PageURL (mettez votre class à vous)
Utiliser une class pour construire le lien : Seulement quand les données sont fournies
Extension : Sélectionnez votre extension

Sauvegardez.

Allez maintenant sur votre page : (pour moi /page)
Le texte de votre variable devrait apparaître :D

Enjoy :)

D'autres tutoriels seront à venir :)
 

Jowa

Membre
Inscription
23 Mai 2013
Messages
1 150
Réactions
193
Points
2 866
Créer une page XenForo

----------------------------------------------------------

Avant toute chose : Si vous voulez des explication sur les variables dans le code etc... Lisez ce qui se trouve après les deux //

Dans le dossier library de votre FTP, créer un nouveau dossier (pour ma part ça sera : TutoPage), dans ce dossier créer un autre dossier nommé ControllerPublic (veillez à bien garder ce nom pour que ça fonctionne) et enfin dans ce dossier créer un nouveau fichier (pour ma part ça sera : Page.php, (Gardez bien .php comme fichier d'extension)).
Ce qui nous donne comme chemin (pour ma part) : TutoPage/ControllerPublic/Page

Rappel : En PHP on traduit les / par des _
Ce qui nous donne : TutoPage_ControllerPublic_Page

Gardez bien ce chemin à l'esprit :D

Ensuite créer un nouveau dossier dans TutoPage (pour moi) nommé : Route. Dans ce dossier créer un nouveau fichier (pour ma part ça sera : PageURL.php).

Ce qui nous donne comme chemin : TutoPage_Route_PageURL

Ouvrez ce fichier PageURL.php.

Dans ce fichier, ajoutez ce code :
PHP:
<?php

class TutoPage_Route_PageURL implements XenForo_Route_Interface // changez la class par la votre et ne changez pas ce qui se trouve après implements
{
    public function match($routePath, Zend_Controller_Request_Http $request, Xenforo_Router $router) // vous pouvez changer le match mais pas ce qui est entre paranthèses
    {
        return $router->getRouteMatch('TutoPage_ControllerPublic_Page', $routePath); // changez la class (TutoPage_ControllerPublic_Page) par la votre
    }
}

Sauvegardez.

Allez dans votre AdminCP et créer un nouveau template dans le style maître.

Nom du template : templateTest (pour moi)
Contenu : {$simpleTexte} Pour tester notre futur variable
Extension : Reliez ce template en choisissant votre extension de le menu déroulant

Ouvrez maintenant le fichier Page.php

Ajoutez ce code :
PHP:
<?php

class TutoPage_ControllerPublic_Page extends XenForo_ControllerPublic_Abstract // changez la class par la votre et ne changez pas ce qui se trouve après extends
{
    public function actionIndex()
    {
        $simpleTexte = 'Texte de la variable'; // on définit une variable pour tester

        $viewParams = array( // on ajoute notre variable dans un tableau
            'simpleTexte' => $simpleTexte
        );
        return $this->responseView('TutoPage_ViewPublic_Page', 'templateTest', $viewParams); // on retourne le template ainsi qu'on ajoute la variable $simpleTexte au template ; n'oubliez pas de changer le nom du template, le chemin TutoPage_ViewPublic_Page n'a pas besoin d'exister
    }
}

Sauvegardez.

Dernière étape :D

Rendez-vous dans : AdminCP -> Développement -> Préfixes de routage -> Créer un nouveau préfixe de routage

Voici ce que vous devrez mettre :

Préfixe de routage : Page (vous pouvez mettre ce que vous voulez ; je vous conseil de ne pas mettre de majuscule :))
Type de routage : Public
Class de routage : TutoPage_Route_PageURL (mettez votre class à vous)
Utiliser une class pour construire le lien : Seulement quand les données sont fournies
Extension : Sélectionnez votre extension

Sauvegardez.

Allez maintenant sur votre page : (pour moi /page)
Le texte de votre variable devrait apparaître :D

Enjoy :)

D'autres tutoriels seront à venir :)
Excellent, bien rédigé !
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 704
Réactions
8 499
Points
32 425
Super tuto, bien rédiger sa mérite un +10 appréciation :D
 

Reality King

Premium
Inscription
23 Septembre 2011
Messages
4 181
Réactions
2 838
Points
22 958
Salutation,

Merci de ce partage Walky.

cd6c4ae7b083641b01df2a32cb3a83f4.png
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut