Bonjour,

Je suis bloqué, j'arrive pas à reproduire le même Style de mon template.

1. Mon formulaire d'authentification

<form action="login" method="post"/>
                                                    <fieldset>
                                                        <label>
                                                            <span class="block input-icon input-icon-right">
                                                                <input type="text" name="username" class="span12" placeholder="Nom d'utilisateur" />
                                                                <i class="icon-user"></i>
                                                            </span>
                                                        </label>
                                                        <label>
                                                            <span class="block input-icon input-icon-right">
                                                                <input type="password" name="password" class="span12" placeholder="Mot de Passe" />
                                                                <i class="icon-lock"></i>
                                                            </span>
                                                        </label>
                                                        <div class="space"></div>
                                                        <div class="clearfix">
                                                            <button type="submit" class="width-35 pull-right btn btn-small btn-primary">
                                                                <i class="icon-key"></i>
                                                                Connexion
                                                            </button>
                                                        </div>
                                                        <div class="space-4"></div>
                                                    </fieldset>
                                                </form>

Comme vous pouvez le remarquer, j'ai un <i> englober dans ma balise button, chose que j'arrive pas à reproduire et en plus mon button ne prend pas le style du template

<?php echo $this->Session->flash("auth"); ?>
<?php echo $this->Form->create('User'); ?>
                                                    <fieldset>
                                                        <label>
                                                            <span class="block input-icon input-icon-right">
                                                                <!-- <input type="text" name="username" class="span12" placeholder="Nom d'utilisateur" /> -->
                                                                <?php echo $this->Form->input('username',
                                                                array ("label"=>"", "class" => "span12", "placeholder" => "Identifiant"));?>
                                                                <i class="icon-user"></i>
                                                            </span>
                                                        </label>
                                                        <label>
                                                            <span class="block input-icon input-icon-right">
                                                                <!-- <input type="password" name="password" class="span12" placeholder="Mot de Passe" /> -->
                                                                <?php echo $this->Form->input('password',
                                                                array('label' => '', 'class' => 'span12', 'placeholder' => 'Mot de Passe'));?>
                                                                <i class="icon-lock"></i>
                                                            </span>
                                                        </label>
                                                        <div class="space"></div>
                                                    <!-- <div class="clearfix">
                                                            <button type="submit" class="width-35 pull-right btn btn-small btn-primary">
                                                                <i class="icon-key"></i>
                                                                Connexion
                                                            </button>
                                                        </div> -->
                                                        <div class="space-4"></div>
                                                    </fieldset>
<?php echo $this->Form->end('Se Connecter'); ?>

2. Lien de déconnexion

* Mon template (vous remarquer la balise <i> incluse dans la balise <a>

<li>
                <a href="#">
                <i class="icon-off"></i>
            Déconnexion
                    </a>
         </li>

* En utilisant le HTMLHelper je ne sais pas comment reproduire le même style

<li>
                                    <i class="icon-off"></i>
                                    <?php echo $this->Html->link("Déconnexion",
                                    array('controller' => 'users', 'action' => 'logout', 'full_base' => true));?>
                                </li>

3 réponses


Bonjour, une solution serait de faire ton lien à la main, sauf que pour le href t'utilise la fonction url au lieu de link:
http://book.cakephp.org/2.0/fr/core-libraries/helpers/html.html#HtmlHelper::url

Bonjour Pikachu.
Pour le lien de déconnexion par exemple :

<li>
    <?= $this->Html->link('<i class="icon-off"></i> Déconnexion', array('controller' => 'users','action' => 'logout', 'full_base' => true), array('escape' => false)); ?>
</li>

Par contre, je ne pense pas que le paramètre "full_base" soit nécessaire dans ce cas là.

Lorsque tu veux mettre du code Html dans un lien (donc pour les boutons aussi), en ajoutant le paramètre "escape" avec l'argument "false", cela permet que cakePHP prenne en compte le code Html intégré.

Une autre petite remarque, lorsque tu utilises le Helper Form et que tu ne veux pas de label sur le champ, au lieu de mettre du vide ("") dans le paramètre label, mets plutôt false en argument.

Si j'ai bien compris, essaye comme cela

<?php echo $this->Form->input('username',array ("label"=>"", "class" => "span12", "placeholder" => "Identifiant", 'after'=>'<i class="icon-lock"></i>'));?>