1

我是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>
4

7 回答 7

6

根据 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,该方法都将帮助您找到正确的链接

于 2013-08-22T19:38:36.073 回答
1
<a href="<?php echo base_url() ?>controller_name/function_name">
于 2016-12-09T10:15:24.633 回答
0

如果链接指向您网站上的其他页面,那么我认为您最好的选择是使用 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 建议的方式进行操作。

于 2013-08-22T22:09:45.467 回答
0

如果您使用 mod_rewriteindex.php从 URL 中删除 ,您可以编写您的 URL,href="/sellbook"否则您将不得不包含它,例如href="/index.php/sellbook".

当然,这假设您有一个正确配置的路由名称sellbook。有关如何实现此目的的详细信息,请参阅http://ellislab.com/codeigniter/user-guide/general/routing.html 。

于 2013-08-22T18:23:09.570 回答
0
<li><a href="<?php echo site_url('/') . 'controller_name/function_name' ?>">Home</a></li>
<li><a href="<?php echo site_url('/') . 'controller_name/function_name' ?>">Buy Books</a> </li>
<li><a href="<?php echo site_url('/') . 'controller_name/function_name' ?>">Sell Books</a> </li>
<li><a href="<?php echo site_url('/') . 'controller_name/function_name' ?>">Books on Demand</a> </li>
<li><a href="<?php echo site_url('/') . 'controller_name/function_name' ?>">Request a Book</a> </li>
<li><a href="<?php echo site_url('/') . 'controller_name/function_name' ?>">About Us</a> </li>
于 2019-11-07T05:32:39.790 回答
0
<a href="<?php echo base_url('Customer/Settings');?>">Account Details</a>

你可以这样使用

于 2016-12-21T06:42:23.303 回答
-1

//使用
site_url与控制器名称和方法的链接和

$this->load->view('page_name');
于 2017-02-10T12:44:38.347 回答