Как сделать постоянную ссылку в codeigniter .... социальный случай - PullRequest
0 голосов
/ 28 декабря 2011

Я хочу создать сайт, используя codeigniter.Сайт выглядит как социальный агрегатор для моей школы.для создания своего сайта я планирую:

  1. сделать класс "страниц".Класс "pages" имеет общую функцию login,
    регистрация, выход из системы и т. Д.
  2. превращение класса "user" в класс "user" имеет функцию, связанную с потребностями пользователя, например: редактировать профиль,добавить социальные API, view_profile и т. д.

я знаю, если мы хотим видеть профиль, мы должны передать URL, например:

www.Mysite.com/user/view_profile/ <user name>

Я не знаюкак сделать прямые страницы пользователя (например, постоянная ссылка).Я хочу, чтобы мой пользователь мог получить доступ к его страницам только для того, чтобы набрать:

www.Mysite.com/ <user name>

Я прочитал user_guide в воспламенителе кода, но я все еще не понимаю, что такое URL-адрес.Есть ли тело, которое может объяснить мне, как это сделать?

1 Ответ

0 голосов
/ 28 декабря 2011

Я бы настроил маршрут в application/config/routes.php, который сопоставляет любой URL с именем пользователя в качестве первого сегмента методу контроллера, обслуживающему ваш профиль.

Например, в вашем rout.php разместите этот код:

$route[':any'] = "user/view_profile/:any";

Клавиша :any будет передана функции в качестве переменной. Имейте в виду, что по умолчанию все на этом маршруте (что угодно) будет перенаправлено на метод этого контроллера, поэтому было бы неплохо, чтобы ваша структура постоянных ссылок выглядела так: yoursite.com/u/<username>, в этом случае вы не нужен маршрут; Вы можете просто передать сегмент URI следующим образом:

<?php
    class U extends CI_Controller
    {
        function __construct()
        {
            parent::__construct();
            // Load the users model
            $this->load->model('users_model');                
        }

        function index()
        {
            // Get the username from the URL
            $username = $this->uri->segment(2);

            // Get the users data from the database using the second URI segment
            $data['user'] = $this->users_model->get_user($username);

            // Load the view
            $this->load->view('path/to/view', $data);
        }
    }
...