Создание дополнительной папки в представлениях с Zend? - PullRequest
1 голос
/ 07 декабря 2010

Со структурой по умолчанию:

application
- controllers
- - IndexController.php
- models
- views
- - scripts
- - - index
- - - - index.phtml
- - - - create.phtml

Мой IndexController.php в моей папке контроллеров будет выглядеть так:

class IndexController extends Zend_Controller_Action { ... }

Если бы я хотел добавить папку внутри, как это:

application
- controllers
- - IndexController.php
- models
- views
- - scripts
- - - index
- - - - posts
- - - - - index.phtml
- - - - - create.phtml
- - - - index.phtml
- - - - create.phtml

По какому пути и по какому имени файла я создаю контроллер для моих сообщений indexAction и createAction? Кроме того, какой контроллер вы расширяете и как его называете?

Ответы [ 2 ]

1 голос
/ 08 декабря 2010

Когда вы создаете новое действие (то есть: postsAction()), вам нужно создать файл, который соответствует имени вашего действия, в каталоге скриптов представления контроллеров (в этом случае postsAction() существует в indexController)

Итак, что вам нужно, это:

application
- controllers
- - IndexController.php
- views
- - scripts
- - - index
- - - - posts.phtml
- - - - index.phtml
- - - - create.phtml

Если вы хотите, чтобы структура имела /posts/index или /posts/create, тогда вы, вероятно, захотите иметь postsController, который будет содержать что-тоэто выглядит так:

application
- controllers
- - IndexController.php
- - PostsController.php
- models
- views
- - scripts
- - - index
- - - - index.phtml
- - - - create.phtml
- - - posts
- - - - index.phtml
- - - - create.phtml

Если вы хотите /index/posts-create в качестве действия в вашем indexController, вам понадобится такая структура каталогов - note : Когда вы используете действиес помощью camelCase (postsCreateAction()) Zend Framework преобразует его во все строчные буквы с тире как для URL, так и для сценариев просмотра.

application
- controllers
- - IndexController.php
- models
- views
- - scripts
- - - index
- - - - index.phtml
- - - - create.phtml
- - - - posts-create.phtml

Вы также можете включить значение по умолчанию ErrorController - это будет полезнов будущем.

0 голосов
/ 08 декабря 2010

если вы определите свои действия camelCase как:

public function showUsersFromSpaceAction()
{
}
  • ваш URL будет: index / show-users-from-space
  • исценарий просмотра: / views / index / show-users-from-space.phtml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...