user1311784
user1311784

Reputation: 345

change position of the flash message

I have something like this:

controller.

public function add() {
        $this->layout = 'home';
        $this->Session->destroy();

        if ($this->request->is('post')) {
                $this->Session->setFlash(__('xxx', true));

        }
    }

view. home.ctp

<div id="container">
        <div id="header">
        </div>
        <div id="content">

            <?php echo $this->fetch('content'); ?>
        </div>

        <div id="footer">
            <?php echo $this->Session->flash(); ?>
        </div>
</div>

My question is: Why the flash message is not showed in the footer? well, what I want is show the message below the form, but to simplify the problem, with this code the message is also showed in the top. But should be in the footer. Also if i delete

 <?php echo $this->Session->flash(); ?>

the message is also showed on the top of the page.

So, how can i change the position of this flash message?

Edit:

<?php var_dump($this->fetch('content')); ?>

output:

string '<div id="flashMessage" class="message"> The user xxxxx</div>

<div class="users form">  
<form action="/cake/users/add" id="UserAddForm" method="post" accept-charset="utf-8"><div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>    <fieldset>
<legend>
Add User
</legend>

<div class="input text required error"><label for="UserUsername">Username</label><input name="data[User][username]" maxlength="50" type="text" value="" id="UserUsername" class="form-er'... (length=1187)

Upvotes: 0

Views: 1510

Answers (2)

user1630599
user1630599

Reputation:

When I delete my <?php echo $this->Session->flash(); ?> I don't get flash messages. I think you should consider @clapas's answer.

Upvotes: 1

clapas
clapas

Reputation: 1846

You are setting the layout to 'home', is that right? Did you create a home.ctp under views/layouts? I ask you because the view that you show looks like the default layout shipped with Cake (default.ctp).

For me, the code looks fine mate, just be sure you are displaying the right layout.

Upvotes: 1

Related Questions