@bighoc
php/javascript developer

Как заставить zend framework 2.0 ходить по ссылкам?

вот код моего контроллера
<?php
namespace Users\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class IndexController extends AbstractActionController{
   public function indexAction(){
      $view = new ViewModel();
      return $view;

   }
   public function registerAction(){
      $view = new ViewModel();
      $view->setTemplate('users/index/new-user');
      return $view;

   }
   public function loginAction(){
      $view = new ViewModel();
      $view->setTemplate('users/index/login');   
      return $view;

   }
}

в папку view/users/index/ положил соотвествующие .phtml
но при переходе - 404.

Что сделанно не так ?
  • Вопрос задан
  • 2268 просмотров
Решения вопроса 1
@bighoc Автор вопроса
php/javascript developer
Ответ нашёлся, нужно редактировать config/module.config.php

для хождении по ссылкам вид должен быть таковым.

<?php 
return array(
	'view_manager' => array(
		'template_path_stack' => array(
			__DIR__.'/../view'
			)
		),
	
	'router'=> array(
		'routes'=>array(
			'users'=>array(
				'type' =>'Zend\Mvc\Router\Http\Literal',
				'options' => array(
					'route'=>'/users',
					'defaults'=> array(
						'__NAMESPACE__'=> 'Users\Controller',
						'controller'=>'Index',
						'action'=>'index',
					)
				),
				'may_terminate' => true,
                'child_routes' => array(
                    // This route is a sane default when developing a module;
                    // as you solidify the routes for your module, however,
                    // you may want to remove it and replace it with more
                    // specific routes.
                    'default' => array(
                        'type'    => 'Segment',
                        'options' => array(
                            'route'    => '/[:controller[/:action]]',
                            'constraints' => array(
                                'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
                                'action'     => '[a-zA-Z][a-zA-Z0-9_-]*',
                            ),
                            'defaults' => array(
                            ),
                        ),
                    ),
                ),
			)
		)
	),
	'controllers'=>array(
		'invokables'=>array(
			'Users\Controller\Index'=> 'Users\Controller\IndexController'
			)
		),
)
?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Grag
С зендом дел не имел, но может стоит /user/index/login?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы