Ваш макет, в котором вы пытаетесь отобразить переменную, не является вашим представлением .
По сути, этого не может быть. Позвольте мне объяснить: ваш макет является global , ну, макет. Что-то особенное для indexAction () IndexController логически (/ должно быть) недоступно в глобальном макете, поскольку ваш макет не будет иметь эту переменную, если вы в конечном итоге вызовете, скажем, barAction () FooController .
Ваше представление будет в views / scripts / index / index.phtml - здесь вы можете использовать <?php echo $this->username; ?>
Я еще не работал с переменными в макетах, но это то, что я почерпнул из документации : если вы хотите, чтобы в вашем макете отображалась переменная, попробуйте использовать $this->_helper->layout->username = "user1"
в своем действии , это должно позволить вам использовать echo $this->layout()->username
в макете.
Будьте осторожны, однако, если вы используете переменные макета, вы также должны устанавливать их в каждом действии. Если вы просто хотите, чтобы ваша indexAction () показывала имя пользователя, попробуйте добавить эхо в ваше представление.