Используя codeigniter, у меня есть веб-страница и несколько ссылок на этой странице, что является лучшим способом для кодирования этого в контроллере, так что это не беспорядок - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть веб-страница, которая содержит несколько ссылок на другие страницы в теле. В настоящее время я кодирую каждую ссылку внутри страницы следующим образом:

<href = '<?php echo base_url(); ?>Home/tikidology'>

И это вызывает функцию в контроллере:

class Home extends CI_Controller{
function tikidology(){
$this->load->view('pages/tikidology');}}

Так что моя страница контроллера заполняется этимиоднолинейные функции. Есть ли способ поместить все мои ссылки, которые находятся на одной странице, в одну функцию в контроллере?

1 Ответ

0 голосов
/ 01 октября 2019

В руководстве CodeIgniter " Static Pages " показан один из возможных способов сделать то, что вы хотите.

Короче говоря, оно демонстрирует функцию view, которая принимает аргумент. Аргумент используется для «выбора» правильного представления.

Версия без излишеств может выглядеть следующим образом.

class Home extends CI_Controller
{    
    public function view($page = 'home')
    {
        $this->load->view('pages/'.$page);
    }
}

В руководстве по документу показан некоторый другой код, который следует рассмотреть при добавлении.

Чтобы использовать вышеизложенное, ссылка на тикидологию будет https://example.com/home/view/tickidology, делая значение $page равным 'tickidology'. Вы можете использовать маршрутизацию, чтобы исключить необходимость включать «view /» в URI, если хотите.

Значение по умолчанию $page - это «home», которое может относиться или не относиться к вашему сайту. Идея состоит в том, что если Home::view() вызывается без аргумента, все равно есть представление (по умолчанию) для загрузки.

Хотя это и не часть ответа, я предлагаю вам использовать функцию URL Helper anchor() ( doc here ) для создания ссылок, например,

echo anchor('home/view/tikidology', 'Tickidology');

Кстати, при использовании base_url() сегменты URI могут (должны) использоваться в качестве аргумента функции, например,

<href = '<?php echo base_url('home/view/tikidology'); ?>'>Tikidology</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...