Bonjour a tous :p j'ai suivi le tuto de A a Z du MVC mais se qui me perturbe c'est de voir les actu dans le localhost donc comme une page d'acceuil et je voudrait crée la mienne en mettant les lien du blog/page ect dans la topbar mais c devenu tellement brouillon que je sait plus ou commencer pour crée ma page "acceuil" :/
je suis en train de tester de coller un AcceuilController avec le controller et dans les view un Acceuil.php et j'me demandait si quelqu'un sait comment je pourrai faire pointer mon site direct sur ma page d'acceuil s'en faire tout ces fichier :/ du genre une seule page d'acceuil '.php' ...
si une bonne ame passe par la sa serait bien , car la j'membrouille bcp jtrouve pour la fin du mvc -_-'

EDIT: nivo administration et listing des pages et autre sa roule c'est juste la page d'acceuil qui coince ;) et j'pense sa aidera plus d'un :p

15 réponses


revlam
Réponse acceptée

ok

Alors dans ton répertoire controller tu créé un fichier HomeController.php dans lequel tu met :

<?php
    Class HomeController extends Controller {
        function index {
            return true;
        }
    }

Puis dans ton répertoire view tu créé un dossier Home puis à l'intérieur un fichier index.php dans lequel tu met

<h1>Ma Home Page Baby !!</h1>

Ensuite tu créé un fichier Home.php dans le dossier des modèles dans lequel tu met :

<?php
    Class Home extends Models {
    }

Et pour finir dans ton config.Conf.php. Tu ajoutes uns règle de routing

Routeur::SetRules('',home/index);

Dans ton conf.php

Router::setRules('','CONTROLLER/ACTION);
serda
Auteur

heu genre ma page acceuil est dans view jdoit mettre

Routeur::SetRules('/',acceuil.php);

??

serda
Auteur

fin perso j'voudrait qu'il pointe autre part que sur Post/view ... et je sait mmeme plus ou chercher sa -_-'

Hum... je pense que tu n'as pas compris le principe du MVC.
Il y a quoi dans ta page accueil.php ?

Perso pour ma page d'accueil j'ai créé un controller home et une vue index.php s'inscrivant dans un layout accueil.php et je fais un :
Routeur::SetRules('',home/index); (Pas de / dans la redirection chez moi mais je n'utilise pas le MVC de grafikart donc ce n'est peut être pas le même principe mais l'idée est la même).

Pour rappel une vue ne doit pas contenir d'accès aux BDD ni de traitement PHP important, elle doit se contenter d'afficher des variables traitées.

serda
Auteur

ba je vais me servir du posts/index comme acceuil ....
sinon j'ai compri le fonctionnement mais la rien que pour faire une page d'acceuil sa me depace ..

Non tu n'est pas obligé...

En fait si tu me disait ce que tu veux afficher dans ta page d'accueil je pourrais t'aider :)

serda
Auteur

ba en faite sur la page d'acceuil j'voudrait juste savoir la base => affichage de la topbar et dans le contenu mettre un acceuil en HTML du genre Bienvenue et si un jour ou tout de suite si j'veux ajouter un lien ver les blog ou les pages ou un article quelquonque comment faire ;)

En gros la porte du site . juste je veu pa afficher direct "le blog" .

serda
Auteur

Fatal error: Call to undefined method Router::SetRules() in C:\wamp\www\config\conf.php on line 18

<?php
class Conf{
    static $debug = 1;
    static $databases = array(
        'default' => array(
            'host' =>   'localhost',
            'database'  =>  'tuto',
            'login' =>  'root',
            'password'  =>  ''
        )
    );

}
Router::SetRules('',home/index);
Router::prefix('cockpit','admin');
Router::connect('','posts/index');
Router::connect('cockpit','cockpit/posts/index');
Router::connect('post/:slug-:id','posts/view/id:([0-9]+)/slug:([a-z0-9\-]+)');
Router::connect('blog/*','posts/*');

Ah excuse moi c'est ma fonction qui s'appel comme ca, ca semble être connect chez toi ! Donc c'est :

Router::connect('','home/index');

et supprime la ligne qui le faisait déjà :

Router::connect('','posts/index');
serda
Auteur

Haaaa yeah ! expliquer comme sa c'est sur sa aide ! ( si javais su de remplacer posts par home ...)

Beh trop merci a toi et de ton temps !

me reste a regler sa ;)

Le controller home n'a pas de méthode index

mais j'vai comme faire sa tout seul enfin j'espere xD

Tu n'as pas créé la fonction index dans ton HomeController.php j'ai édité mon message après que tu l'ai vu a priori :)

serda
Auteur

Va y excelent !!!!
Sa sent bon le projet dmon futur site la !!
Vraiment merci :p c'est officiel Sujet resolu ! ^^

Content pour toi :)

Salut, j'ai exactement le même soucis, comment faire pour la page d'accueil SVP!?