Codeignitor маршрутизация - PullRequest
       18

Codeignitor маршрутизация

0 голосов
/ 02 сентября 2018

У меня есть сайт CodeIgniter, и структура ссылок для внутренних страниц выглядит следующим образом:

http://www.example.com/pages/Campus-Tour/18/3

страниц - это имя моего контроллера и тур по кампусу, 18 и 3 - значения, переданные в метод индекса.

Я хочу создать красивую ссылку, так что я могу использовать что-то подобное в routs.php?

$route['campus-life/campus-tour'] = 'pages/Campus-Tour/18/3';

показать этот URL "http://www.example.com/campus-life/campus-tour"

Может кто-нибудь помочь, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 02 сентября 2018

К вашему сведению: Допустимое имя функции начинается с буквы или подчеркивание , , за которым следует любое количество букв, цифр или подчеркиваний.


Если вы передаете URL-адрес данных с этим на pages/Campus-Tour/18/3 этот campus-life/campus-tour, то, как вы можете видеть, в нем явно отсутствует параметр URL.

Что вы можете сделать, это <form> отправить с помощью POST, и в функции вы можете отловить их.

В поле зрения

<form action ="campus-life/campus-tour" method ="post">
    <input type="hidden" name="first_param" value = "18"/>
    <input type="hidden" name="second_param" value = "3"/>
    <input type="submit"> # make this a No button. Should looks like <a> tag. Use CSS. (check Link)
</form>

В контроллере

function Name() #add valid function/controller name
{
    # catch the POST values
}

Ссылка: Как сделать кнопку похожей на ссылку?

0 голосов
/ 11 октября 2018

Ниже приведен синтаксис для маршрутизации. Пожалуйста, используйте это:

$ route ['pages / Campus-Tour / (: any) / (: any)'] = 'pages / campus-tour / $ 1 / $ 2';

0 голосов
/ 02 сентября 2018

Пожалуйста, используйте этот синтаксис для маршрутизации.

$route['string-that-you-want-to-show-in-url'] = 'controller/function/arg1/arg2';

Пример -

$route['campus-life/campus-tour'] = 'pages/campus_tour/$1/$2';

Примечание: - PHP не поддерживает дефис (-) внутри имени функции, имя вашей функции (Campus-Tour) недопустимо, проверьте его и используйте указанный выше синтаксис.

...