IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MkFramework Discussion :

La modification du layout/template1.php ne change rien à ma page


Sujet :

MkFramework

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut La modification du layout/template1.php ne change rien à ma page
    Bonjour à tous,

    je débute sur mkframework et je trouve sons systeme de CRUD au top!

    aussi j'ai décidé de transformer une application vers mkframework. Pour cela je suis les tuto video disponibles sur youtube.

    je m’intéresse surtout aux permissions.

    Dans le podcast "Episode 9 ACL troisieme partie" , il y a une petit parenthese ou il est question d'ajouter le nom de login sur la page en cours.

    Il est indiqué de modifier le fichier layout/template1.php et d'y ajouter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php if( _root::getAuth() and _root::getAuth()->getAccount() ) ?>
     
           <p style="text-align:right">Bienvenue  <?php echo _root::getAuth()->getAccount()->login; ?> </p>
           <?php endif; ?>
    A ma surprise cela n'a aucun effet.

    J'ai changé le contenu de la balise <title> tjours rien. J'ai meme effacé le contenu du fichier, encore rien!

    y a t-il un autre fichier template quelque part? car j'ai besoin de savoir qui est connecté avant de continuer dans la gestion des droits

    merci à tous.

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Bonjour,
    Pouvez-vous vérifier dans la méthode before() de votre module que vous appelez bien template1 ? (si c'est une application "bootstrap", il charge par defaut le layout bootstrap.php)
    via $
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $this->oLayout=new _layout('template1');
    ?

    on parle bien du fichier template1.php dans le répertoire layout de votre application (dans data/genere/votreApplication)

    note: vous pouvez forcer les logs pour voir tout ce que fait votre application, en modifiant le fichier conf/site.ini.php
    et dans la section [log]
    mettre "information" à 1
    Vous verrez ainsi dans le repertoire data/log de votre site tout ce qui se passe: chargement du layout, des vues...
    Plus d'infos ici: http://mkframework.com/faq.html#log
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour votre reponse,

    effectivement il s'agissait du layout bootstrap qui est "appelé" dans ma methode before(). j'ai ainsi pu modifier le titre de la page d'accueil.

    Par contre le nom du connecté est toujours invisible.

    j'y ai edité ce code (dans le layout bootstrap):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
      <body>
     
    	<?php echo $this->load('menu') ?>
     
    	<div class="container theme-showcase" role="main">
    	   <div> <?php if( _root::getAuth() and _root::getAuth()->getAccount() ) ?>
    		   <p style="text-align:right">Bienvenue  <?php echo _root::getAuth()->getAccount()->login; ?> </p>
    	      <?php /* endif; */ ?> 
    	   </div>
    		<div class="page-header">
    		</div>
     
    		<?php echo $this->load('main') ?>
    	</div>
     
        <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
        <!-- Include all compiled plugins (below), or include individual files as needed -->
    	<script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
      </body>
    Toujours aucun changement si ce n'est la ligne supplémentaire creee par la <div>.

    PS: endif me generait une erreur c'est pourquoi je l'ai commenté

    merci encore

  4. #4
    Membre habitué
    Homme Profil pro
    Responsable SAV
    Inscrit en
    Mars 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable SAV

    Informations forums :
    Inscription : Mars 2010
    Messages : 122
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Il ne faut pas oublier que même si vous avez mis en place une méthode d'authentification,
    on peut avoir dans la même application, des modules où il n'est pas nécessaire d'être authentifié,
    alors pourriez-vous vérifier si dans le contrôleur de votre module, vous avez bien demandé une authentification,
    je m'explique :
    prenons par exemple, votre module par défaut : "default"
    vous avez main et le dossier view

    Sans rien changer à votre layout actuel "template1.php
    vérifier que dans votre contrôleur main du module default, vous ayez bien la ligne _root::getAuth()->enable(); comme ci-dessous :
    autrement, les lignes que vous avez ajoutées sur votre template1.php pour afficher le login de l'utilisateur actuel ne sera pas affiché.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    <?php 
    class module_default extends abstract_module{
     
       public function before(){
     
        _root::getAuth()->enable(); // contrôler l'authentification
        $this->oLayout=new _layout('template1'); // chargement du template
     
        $this->oLayout->addModule('menu','menu::index');
    	}
     
    	public function _index(){
    	    $oView=new _view('default::index');
     
    		$this->oLayout->add('main',$oView);
    	}
     
    	public function after(){
    		$this->oLayout->show();
    	}
    }
    Cordialement

  5. #5
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Pour le probleme du endif

    il manque le ":" à la fin du if
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php if( _root::getAuth() and _root::getAuth()->getAccount() ):?>
    Pour l'affichage du login, il faut en effet activer l'authentification soit module par module (post précédent de hadeslabs) soit en modifiant le fichier conf/site.ini.PHP
    section [auth]

    plus d'infos ici:
    http://mkframework.com/faq.html#authenabled
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

Discussions similaires

  1. Modification d'un code php
    Par serialcbg dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 30/01/2009, 21h13
  2. [PHP-JS] Échange de données
    Par Ministar dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 15/10/2007, 12h27
  3. Flash / Php / Mysql: échange variable
    Par floowers dans le forum Flash
    Réponses: 1
    Dernier message: 26/04/2007, 01h59
  4. Réponses: 12
    Dernier message: 20/08/2006, 22h35
  5. Réponses: 8
    Dernier message: 31/05/2006, 10h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo