Tutoriel : Créer des nouvelles pages dans l'annuaire

Proposez ici vos templates, vos plugins ou demandez en un.
Tous les tutoriels disponibles pour Arfooo Annuaire sont disponible dans cette rubrique

Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Angra-Mainyu » Lun 10 Jan 2011 11:11

Bonjour, comme prévu, je reprends un peu ce topic pour aider ceux qui ont toujours du mal à créer de nouvelles pages pour leur annuaire.

Méthode n° 1 :
Utilisation d'un controller déjà existant dans l'annuaire.
Dans ces manipulations, nous allons nous appuyer sur le fichier /controllers/infoController.php.
Ce fichier est utilisé par exemple pour afficher les conditions d'utilisations.

Tout d'abord, on va commencer à créer plusieurs fichiers dans le dossier /templates/tontheme/info/
Normalement, vous n'avez que le fichier UseCondition.tpl de présent.

Nous créons donc plusieurs fichiers
aboutUs.tpl
legalNotice.tpl
partners.tpl
useConditionAnywhere.tpl

La seconde étape consiste à associer les actions à réaliser lorsque une url devrait correspondre à l'affichage de ces fichiers.
On se rend dans le fichier /controllers/infoController.php, et plutôt que vous proposer d'ajouter des fonctions et éviter toutes erreurs de parenthèses, je vous donne le résultat final
Code: Tout sélectionner

class InfoController extends AppController
{
    function useConditionAction()
    {
        $this->set("directoryCondition", $this->customMessage->getDirectoryCondition());
    }
   
   function legalNoticeAction()
   {
      $this->set('legalNotice','start of my legal notice... I have a lot to say here');
   }
   
   function partnersAction() {
      
                // $this->viewFile = 'monlapinNoir.tpl';
      $this->set('infoPartners','I\'m looking for some good partners');
   }
   
   function aboutUsAction()
   {
      $this->set("directoryCondition", $this->customMessage->getDirectoryCondition());   
   }
}


Ainsi, lorsque l'on appellera la page partenaire, la fonction partnersAction de ce controller sera appellé.
Lorsque l'on appellera la page "a propos", la fonction aboutUsAction de ce controller sera appellé.
Comme vous le voyez, ce n'est pas compliquer de bien manger.

Néanmoins, il faut faire connaître comment traiter ses appels de fonctions dans notre annuaire.
Nous allons donc ajouter les règles de réécriture des url dans le fichier /config/rewrite.php

Dans ce fichier, en dessous de
Code: Tout sélectionner
'#^/webmaster-loading.html$#' => '/webmaster/loading',


nous allons ajouter
Code: Tout sélectionner
// New page from Info Controller
/***
ici on redirige les pages html vers les actions du controller
 
  '#^/partners.html$#' => '/info/partners',
  description : la page monannuaire.com/partners.tml renvoiera donc vers le fichier /Controller/infoController.php
  Le traitement des informations sera effectué dans la fonction partnersAction()
 
***/
'#^/partners.html$#' => '/info/partners',
'#^/mentionsLegales.html$#' => '/info/legalNotice',
'#^/aboutUs.html$#' => '/info/aboutUs',


Cette partie du rewrite redirigera les pages html vers les bonnes fonctions du controller.
Maintenant, il nous faut gérer les liens qui permettront d'aller sur ces pages.
Nous allons utilisez les règles issue du tableau $reverseRewrites

Juste au dessus de
Code: Tout sélectionner
  '#^/category/showAll$#' => '/allcategories.html',


rajouter
Code: Tout sélectionner
// New page from Info Controller
/***
ici on redirige les actions du vers la page a afficher

'#^/info/partners$#' => '/partners.html',
On demande ici la réalisation des actions dans le fichier /controllers/infoController.php,
la fonction appellée est partnersAction() et l'affichage sera fait via la page wwww.monnuaire.com/partners.html
A ce niveau, on dira que c'est le fichier theme/info/partners.tpl qui sera appellé par le template pour l'affichage des données

***/
'#^/info/partners$#' => '/partners.html',
'#^/info/legalNotice$#' => '/mentionsLegales.html',
'#^/info/aboutUs$#' => '/aboutUs.html',


Si vous sauvegarder vos fichiers et tenter d'atteindre des url tel que
http://www.monarfoooooo.com/mentionsLegales.html, vous obtiendrez une page blanche.
Notez que ce n'est pas la page d'erreur d'Arfooo, signe que cela fonctionne bien.

Maintenant, je vous fourni les codes que j'ai mis dans les divers fichiers tpl.

a/ partners.tpl
Code: Tout sélectionner

Oups, je crois que j'ai oublié de mettre le header, le footer et le scootter dans cette page.
Je ne risque pas d'avoir beaucoup de partenaire, surtout si je suis à pied sur la toile.


b/ aboutUs.tpl
Code: Tout sélectionner
{include file="includes/header.tpl" title="{'infoUseCondition_html_title'|lang}" metaDescription="{'infoUseCondition_meta_description'|lang}"}   

<div class="show_arbo">
<a href="{$setting.siteRootUrl}" class="link_showarbo">{'show_arbo_directory'|lang}</a> &gt; <a href="{'/info/aboutUs'|url}" class="link_showarbo">A propos de nous et de moi</a>
</div>
               
<div class="title_h_1">
<h1>A propos</h1>
</div>
<div class="column_in">
   Comme vous pouvez le voir, dans ce template j'ai ajout&eacute; le header et le footer via
   un include.
   Cela n'est pas compliquer d'avoir une page complete fonctionnelle d'arfooo.
   On prend juste par exemple la page useCondition.tpl et on change la
   partie centrale.
   
   Si vous avez activ&eacute; le cache, n'oublier pas de l'&eacute;ffacer avant de rafra&icirc;chir vos pages.
   Ou est donc ce scooter....
</div>

<div class="title_h_1">
<h1>A propos de l'ajout d'un bout de page... regarder le code source...</h1>
</div>
<div class="column_in">
{include file="/info/partners.tpl"}
<br />
C'est aussi utile de ne pas avoir une page avec le header et le footer , non ?


</div>

<div class="title_h_1">
<h1>{'infoUseCondition_h1'|lang}</h1>
</div>
<div class="column_in">
{$directoryCondition.description|htmlspecialchars_decode|nl2br}
</div>

{include file="includes/footer.tpl"}


c/ legalNotice.tpl
Code: Tout sélectionner
{include file="includes/header.tpl" title="{'infoUseCondition_html_title'|lang}" metaDescription="{'infoUseCondition_meta_description'|lang}"}   

<div class="show_arbo">
<a href="{$setting.siteRootUrl}" class="link_showarbo">{'show_arbo_directory'|lang}</a> &gt; <a href="{'/info/aboutUs'|url}" class="link_showarbo">A propos de nous et de moi</a>
</div>
               
<div class="title_h_1">
<h1>A propos</h1>
</div>
<div class="column_in">
   Mentions légales...
   
   <h2>Payez moi une bi&egrave;re &agrave; moi aussi.</h2>
   
</div>

<div class="title_h_1">
<h1>A propos de l'ajout d'un bout de page... ha non, d&eacute;sol&eacute;...</h1>
</div>

{include file="includes/footer.tpl"}


d/ useConditionAnywhere.tpl
Code: Tout sélectionner
<div class="show_arbo">
<a href="{$setting.siteRootUrl}" class="link_showarbo">{'show_arbo_directory'|lang}</a> &gt; <a href="{'/info/aboutUs'|url}" class="link_showarbo">A propos de nous et de moi</a>
</div>
               
<div class="title_h_1">
<h1>A propos</h1>
</div>
<div class="column_in">
   Mentions légales...
   
   <h2>Payez moi une bi&egrave;re &agrave; moi aussi.</h2>
   
</div>

<div class="title_h_1">
<h1>A propos de l'ajout d'un bout de page... ha non, d&eacute;sol&eacute;...</h1>
</div>



Refaite des essais et regarder les différences.
Vos nouvelles pages doivent être maintenant fonctionnelles.

Maintenant, on va se créer un petit menu pour afficher les pages.
On va installer ce menu dans le menu droit d'arfooo.
On créera donc un fichier /templates/theme/menu/menuright/nouvellePage.tpl

Le code de celui ci est
Code: Tout sélectionner
<div class="menuright">
<ul>
<li class="header">{'menuright_new_page'|lang}</li>
<li><a href="{'/info/aboutUs'|url}" title="{'menuright_aboutUs'|lang}">{'menuright_aboutUs'|lang}</a></li>
<li><a href="{'/info/partners'|url}" title="{'menuright_our_partners'|lang}">{'menuright_our_partners'|lang}</a></li>
<li><a href="{'/info/legalNotice'|url}" title="{'menuright_legalNotice'|lang}">{'menuright_legalNotice'|lang}</a></li>
<li><a href="{'/info/useCondition'|url}" title="{'infoUseCondition_arbo'|lang}">{'infoUseCondition_arbo'|lang}</a></li>

<li class="text_last"></li>
</ul>
</div>


Ce fichier contient des variables de langues,
on édite alors le fichier /languages/fr.php
et on rajoute une partie
Code: Tout sélectionner
//menuright/nouvellePage.tpl

$language['menuright_new_page'] = 'Mon beau sapin, roi d..';
$language['menuright_aboutUs'] = 'A propos de nous';
$language['menuright_our_partners'] = 'Nos partenaires';
$language['menuright_legalNotice'] = 'Mentions légales';
$language['infoUseCondition_arbo'] = 'Conditions d\'utilisation';


Pour afficher ce menu sur toutes les pages,

ouvrez le fichier /menu/menuright/menurigt.tpl
et à la fin de celui-ci ajouter
Code: Tout sélectionner
{include file="menu/menuright/nouvellePage.tpl"}


Vous pouvez à nouveau faire des tests.

Normalement, tout fonctionne.

En bonus, je vous offre le fichier
/info/monlapinNoir.tpl

le code est le suivant
Code: Tout sélectionner
{include file="includes/header.tpl" title="{'infoUseCondition_html_title'|lang}" metaDescription="{'infoUseCondition_meta_description'|lang}"}   

<div class="show_arbo">
<a href="{$setting.siteRootUrl}" class="link_showarbo">{'show_arbo_directory'|lang}</a> &gt; <a href="{'/info/aboutUs'|url}" class="link_showarbo">A propos de nous et de moi</a>
</div>
               
<div class="title_h_1">
<h1>A propos</h1>
</div>
<div class="column_in">
   Mentions légales...
   
   <h2>Payez moi une bi&egrave;re &agrave; moi aussi.</h2>
   
</div>

<div class="title_h_1">
<h1>A propos de l'ajout d'un bout de page... ha non, d&eacute;sol&eacute;...</h1>
</div>

{include file="info/useConditionAnywhere.tpl"}

{include file="includes/footer.tpl"}


Pour voir son utilisation, juste pour pour exemple, décommenter la ligne
Code: Tout sélectionner
// $this->viewFile = 'monlapinNoir.tpl';

dans la fonction partnersAction().


Merci de faire des retours sur ce tuto ( sauf sur mes photes d'ortho... hein Hexa )

Le lien pour télécharger les fichiers http://www.webmestre-annuaire.com/share/creerNouvellePage.zip
Dernière édition par Angra-Mainyu le Lun 13 Juin 2011 14:54, édité 2 fois.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37


Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede brazief » Lun 10 Jan 2011 19:48

Bonsoir,
Bravo et merci pour cet excellent tuto !

:D
Avatar de l’utilisateur
brazief
 
Messages: 98
Inscription: Lun 10 Mai 2010 18:28

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Pat-LeMans » Jeu 13 Jan 2011 19:16

J'ai suivi ton tuto mais malgré tout, j'ai un bug,

Voila l'erreur

Code: Tout sélectionner
Parse error: syntax error, unexpected '/' in /homez.143/vivreaum/sites-blogs.com/compiled/orange_template/fr/c_1_menu_menuright_menuright_tpl.php on line 11


Je vois pas trop ce qui cloche.

Le problème vient du lien que je met dans mon menuright en fait.

Voici le code que je met

<li class="last"><a href="{'/info/listeannuaire'|url}" title="{''menuright_listeannuaire'|lang">{'menuright_listeannuaire'|lang}</a></li>

Dans infocontroller, je met ca

Code: Tout sélectionner
function listeannuaireAction() {
     
                // $this->viewFile = 'monlapinNoir.tpl';
      $this->set('infolisteannuaire','I\'m looking for some good partners');
   }


Dans rewrite.php

Code: Tout sélectionner
'#^/listeannuaire.html$#' => '/info/listeannuaire',


Et

Code: Tout sélectionner
'#^/info/listeannuaire$#' => '/listeannuaire.html',


Je vide bien le cache, mais, toujours ce soucis, mais si j'enleve le lien de mon menu, et bien, plus d'erreur?
Annuaire de Sites et Blogs : Référencement gratuit de vos sites et blogs.
Pat-LeMans
 
Messages: 76
Inscription: Jeu 15 Jan 2009 17:02
Localisation: Le Mans

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Angra-Mainyu » Ven 14 Jan 2011 10:31

SAlut,
essai avec
Code: Tout sélectionner
<li class="last"><a href="{'/info/listeannuaire'|url}" title="{'menuright_listeannuaire'|lang}">{'menuright_listeannuaire'|lang}</a></li>


Tu as une balise non fermé.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Pat-LeMans » Ven 14 Jan 2011 14:34

C'est ok ca fonctionne.

Cela tient vraiment a pas grand chose, un tit apostrophe en trop dans

Code: Tout sélectionner
title="{[b][u]'[/u][/b]'menuright_listeannuaire'|lang">
Annuaire de Sites et Blogs : Référencement gratuit de vos sites et blogs.
Pat-LeMans
 
Messages: 76
Inscription: Jeu 15 Jan 2009 17:02
Localisation: Le Mans

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Tiboss » Sam 12 Mar 2011 23:53

Bonsoir, ce n'est pas encore fini, mais je suis sur la bonne voie.

Ce tuto est quand même un peu brouillon, mais il m'a bien aidé. Je remercie donc le courageux instigateur de cette excellente initiative.

Il n''est pas simple à administrer ce script, par contre, les templates ne sont finalement pas si sorciers. Mais pour moi qui ne connais pas un traitre mot de php, sans copier-coller, point de salut.

J'espère que les prochaines versions permettront de créer des pages supplémentaire et des menus sous admin aussi simplement qu'on peut créer les catégories et les sous-catégories.

J'inscrirai mon annuaire dès qu'il sera terminé (j'espère demain soir).

J'ai récupéré un template chez guide-création comme indiqué ici, et je doit dire que les amorces de menus dans leurs templates m'ont bien aidé aussi à comprendre
Tiboss
 
Messages: 11
Inscription: Ven 11 Mar 2011 12:08

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede leparigot » Mer 16 Mar 2011 08:55

alors t'en est où de ton truc ? ça focntionne ?
leparigot
 
Messages: 163
Inscription: Jeu 21 Jan 2010 12:39

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Tiboss » Mer 16 Mar 2011 09:32

J'ai été obligé d'abandonner le template indiqué ci-dessus.
C'est dommage, car il comportait 2 colonnes de menu (droite gauche) et gérait correctement la feuille au centre.
Malheureusement, il me faisait perdre le contrôle de l'administration et les catégories ne s'affichaient pas lors de la soumission d'un site.

Pour l'instant, je bricole encore le noyau d'arfoo en rajoutant des "images" en haut et en bas qui me plaisent, en affichant pas les catégories et les statistiques dans le "menuright" pour pouvoir y mettre mes pages à moi (en construction car hier je n'ai rien fait, trop occupé à autre chose).

Je suis toujours content de bosser sur ce projet malgré ces quelques déboires. Mes pages manquent aussi un peu d'images, mais je vais arranger ça par la suite.

Pareil, je verrai ensuite pour une image en background.

Par contre, je suis étonné du nombre de fichiers qui envahissent le cache. Normal d'en avoir plus de 600 ?

Merci de cet intérêt.

Cordialement
Tiboss
 
Messages: 11
Inscription: Ven 11 Mar 2011 12:08

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede bedot » Sam 19 Mar 2011 21:03

bonsoir

merci à toi Angra-Mainyu pour cette modif

@+
Avatar de l’utilisateur
bedot
 
Messages: 130
Inscription: Mer 29 Sep 2010 18:24

Re: Tutoriel : Créer des nouvelles pages dans l'annuaire

Messagede Angra-Mainyu » Mer 8 Juin 2011 11:29

Une nouvelle version de l'archive a été postée.
Création de nouvelle page réalisé avec des commentaires sur les pages pour vous aider à comprendre le fonctionnement de celles-ci.
Les pages crées dans le premier post devront être recréer par vos soins. Un peu de copie coller et le tour sera joué.
Dernière édition par Angra-Mainyu le Lun 13 Juin 2011 08:55, édité 1 fois.
Angra-Mainyu
 
Messages: 455
Inscription: Dim 14 Sep 2008 23:37

Suivante

Retourner vers Templates, plugins et tutoriels

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

 
Copyright © arfooo.com  2007 - 2011  -  Tous droits réservés  -  Partenaires de confiance
Sites du groupe: petites annonces gratuites   voyance en direct - tirage tarot   Consultant en référencement
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group | phpBB SEO Traduction par: phpBB-fr.com
cron