Bonjour,

J'ai commencé à suivre mais j'ai un souci dès le début. L'affichage du menu avec bootstrap ne fonctionne pas... Voici le code que j'ai. Je n'ai pas vu d'erreur donc je ne comprends pas le problème. Je développe en local avec easyPHP avec la dernière version de CakePHP (2.0 si je ne me trompe pas).

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title><?php echo $title_for_layout; ?></title>
    <link rel="stylesheet/less" href="<?php echo $this->Html->url('/css/bootstrap.less'); ?>">
    <?php echo $this->Html->script('less'); ?>
    </head>
    <body>
        <div class="topbar">
          <div class="topbar-inner">
            <div class="container">
              <h3><a href="#">Title</a></h3>
              <ul class="nav">
            <li><a href="#" title=""></a></li>
          </ul>
        </div>
      </div>
    </div>

        <div class="container">
        </div>
    </body>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</html>

Merci pour votre aide :)

13 réponses


Cyberium
Auteur
Réponse acceptée

J'ai trouvé le problème ! Je ne devais pas renommer en "less.js" mais en "less" ! Par défaut, Windows masque les extensions... Donc voilà, il m'a suffit d'enlever "la fausse" extension pour que ça fonctionne.

PS: Grafikart je connais ton site grâce à Nicolas, franchement, bravo pour tes tutos et le design du site/forum.

slyvaan
Réponse acceptée

La vue c'est bien le index.ctp, fais gaffe à ne pas mettre stp mais bien ctp.
Cependant pour l'utilisation de cake, je te conseille vraiment de voir les bases, qui te simplifient vraiment la tâche. Tu as moyen de contourner toutes les conventions mais autant les suivre, ça te facilite beaucoup la vie et ça évite des erreurs bêtes.

Tu as bien le CSS et le script Less au bon endroit dans ton application ?

Tous les fichiers .less doivent être dans le dossier "app/webroot/css/" et le fichier "less.js" dans le dossier "app/webroot/js".
Vérifie également que tu as renommé le javascript en less.js, vu qu'il ne s'appelle pas comme ça de base, et que tu l'appelles comme ça dans ton layout.

Cyberium
Auteur

Je viens de remarquer une chose, le titre de ma page est: Errors :s

Cyberium
Auteur

Bon pour le titre Errors, c'est normal. Sinon j'ai encore un souci... Ca fait 30 min que je cherche et à relire 10 lignes de code c'est horripilant ! (Navré si je parle comme un gros noob, je sais plein de choses mais pas leurs noms) C'est quand on créait le tableau $d pour afficher le titre, j'ai un Missing Value... Voici mon code et je refait appel à vous chère communauté !

<?php
class PagesController extends AppController{
    public $uses = array('Posts');
    function index(){
        $d'pages'] = current($this->Posts->find('first', array(
            'conditions' => array('type' => 'page'
            ))));
            $this->set($d);
    }   
}

Je met pas mon index.stp c'est inutile sachant que c'est du HTML et que l'erreur ne vient surement pas de là...
Merci beaucoup !

public $uses = array('Posts');

Ton model devrait être au singulier si tu suis les conventions de Cakephp.

Remplace juste le Posts par Post.

Cyberium
Auteur

Ma table se nomme Posts (faut tout mettre au pluriel donc je mets tout au pluriel lol).

Faut pas tout mettre au pluriel, consulte bien la documentation de Cakephp.

Les conventions de base se font comme suit :

  • La table dans la base de données est au pluriel
  • Le controller lié à cette tavle est nommé au pluriel
  • Le model doit être quand à lui au singulier.
Cyberium
Auteur

Je débute totalement avec CakePHP et ça fait un moment que j'ai plus codé en PHP. Je me remets dans le bain (non sans difficulté). Merci pour tes explications. Qu'est ce que le modèle ? Okay pour la table et le controller.

Sinon j'ai remplacé Posts par Post pour le $uses et pour le array deux lignes plus bas mais ma page reste la même:

Missing View
Error: The view for PagesController::index() was not found.
Error: Confirm you have created the file: E:\Program Files\EasyPHP-5.3.8.1\www\cakephp\app\View\Pages\index.ctp
Notice: If you want to customize this error message, create app\View\Errors\missing_view.ctp

Tu n'as pas créé la vue de ton action. Lis le message tout y est clair.

Sinon je te conseille de regarder les tout premiers tutoriaux de Grafikart sur Cakephp, même s'ils sont sur la version 1.2 ou 1.3 de cake, tu auras les bases des conventions au moins.

Cyberium
Auteur

Je vais regarder les vidéos précédentes alors (snif encore plusieurs heures). Je pensais que la vue était dans l'index.stp ...

Cyberium
Auteur

MOUARF ! J'avais mis stp... Je parle à ma copine en même temps et je la priais de faire la vaisselle d'où le "stp"... Ca fonctionne maintenant. Mais je vais tout de même faire un tour sur les bases de CakePHP.

Rien à voir mais je veux pas viroler le forum: Qui a des exemples de site développé sous CakePHP ?

Merci pour ton aide en tout cas !