Как удалить имя действия из url в cakephp?

I am working on cakephp project. I have removed index.php from URL using .htaccess file and now I want to remove view name from URL & add some other two varying parameter. Suppose I choose country & city then these two parameter should appear in URL on selecting them.

Проблема, с которой я сталкиваюсь, - это то,

www.example.com/Controllername/viewname

Но мое требование похоже на это

www.example.com/Controllername/param1/param2

Если я передаю этот путь, он ищет param1 как контроллер и param2 как view.

Первоначально должно быть:

www.example.com/Controllername/
6
nl ja de

2 ответы

В вашем APP/routes.php :

// www.example/com/Controllername
Router::connect('/Controllername', 
    array('controller'=>'Controllername', 'action'=>'index'));

// www.example.com/Controllername/param1/param2
Router::connect('/Controllername/:param1/:param2',
    array('controller'=>'Controllername', 'action'=>'index'), 
    array('pass' => array('param1', 'param2')));

и ваш контроллер:

// set to null/a value to prevent missing parameter errors
public function index($param1=null, $param2=null) {
   //echo $param1 . ' and ' . $param2;
}

При создании ссылок:

array('controller'=>'Controllername', 'action'=>'index', 'param1'=>'foo', 'param2'=>'bar');

Order matters. Change paramX to anything you want i.e. country and town

обратите внимание, что это не распространяется: controllername/param1 - оба должны присутствовать в этом примере.

Есть и другие способы добиться этого.

2
добавлено
спасибо за ответ. Когда я попробовал это, я получил URL пример. com/app/webroot/index.php/controllername/viewname/fo & zwnj; o/& hellip; Но я не хочу viewname в URL
добавлено автор amol challawar, источник

Я думаю, вы должны сначала убедиться, что модуль mod-rewrite включен. Вам не нужно было удалять index.php из url, используя .htaccess, если mod_rewrite был включен. Проверьте, как включить его в руководстве вашего веб-сервера и по умолчанию .htaccess cakephp должен иметь возможность обрабатывать остальную часть маршрутизации для вас.

После того, как вы включите модуль перезаписи, вы можете изменить маршруты, как указано в @Ross в предыдущем ответе, в APP/routes.php :

// www.example/com/Controllername
Router::connect('/Controllername', 
array('controller'=>'Controllername', 'action'=>'index'));

// www.example.com/Controllername/param1/param2
Router::connect('/Controllername/:param1/:param2',
array('controller'=>'Controllername', 'action'=>'index'), 
array('pass' => array('param1', 'param2')));
0
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp