Я новичок в системе codeigniter. У меня проблема с ссылкой href. на моей домашней странице у меня есть меню, которое идет на другую страницу. например, в обычной php, если я хочу перейти на страницу Sell Books, тогда я просто поставлю sellBook.php в ссылку href. теперь в codeigniter, как я могу это сделать. мне нужно что-то написать в контроллере?
<li ><a href="http://www.studenthint.com/">Home </a> </li> <li><a href="">Buy Books</a> </li> <li><a href="sellBook.php">Sell Books</a> </li> <li><a href="#">Books on Demand</a> </li> <li><a href="#">Request a Book</a> </li> <li><a href="#">About Us</a> </li>
в соответствии с шаблоном MVC каждый из ваших URL-адресов является контроллером, поэтому:
если вы, например, хотите установить ссылку на
http://www.site.com/users
поэтому контроллер будет выглядеть так:
class Users extends CI_Controller{ function index(){ //do somenthing here } function list(){ //list your users } }
то в ваших представлениях, связанных с этим контроллером, просто:
<a href="<?php echo site_url('users'); ?>">this will link to your users controller and index() method</a> <a href="<?php echo site_url('users/list'); ?>">this will link to your users controller and list() method</a>
site_url (); метод поможет вам найти правильную ссылку, если вы используете index.php или нет в своих URL-адресах
<a href="<?php echo base_url() ?>controller_name/function_name">
Если вы используете mod_rewrite для удаления index.php
из URL-адреса, вы можете написать свой URL как href="/sellbook"
иначе вам придется включить его, например href="/index.php/sellbook"
.
Это предполагает, конечно, что у вас есть правильно настроенная sellbook
маршрута. См. http://ellislab.com/codeigniter/user-guide/general/routing.html для получения подробной информации о том, как этого добиться.
Если ссылки относятся к другим страницам вашего сайта, то я думаю, что лучше всего будет использовать помощник URL, предполагая, что вы используете стандартный формат seo, а не строки запроса. Таким образом, вам не нужно принимать во внимание, будете ли вы использовать .htaccess или нет. Например:
echo anchor('your_controller_name/your_function_name/param_1/param_2', 'Sell Books', 'title="Sell Books"'); // or for your home page echo anchor('/', 'Home', "title='Home'");
Если это внешняя ссылка, вы можете использовать ту же функцию или просто простой тег html:
echo anchor('http://google.com', 'Google Me', 'title="Google Me"'); // OR <a href="http://google.com" title="Google Me" >Google Me</a>
Примечание. Обязательно загрузите url_helper в контроллер, если вы будете использовать функцию привязки:
$this->load->helper('url') // or add to autoload.php
Вы также можете сделать это так, как предложил @sbaaaang.
<a href="<?php echo base_url('Customer/Settings');?>">Account Details</a>
Вы можете так использовать
// использование
site_url
в ссылке с именем и методом контроллера и
$this->load->view('page_name');