Ссылка не работает в фреймворке codeigniter, как исправить?
Сделал вывод постов на страницу, но slug не работает. Помогите, пожалуйста, уже 2 часа сижу, не могу понять...
Посты выводятся, вывел title и text, но ссылки не работают.
6 ответов
Без кода сложно понять. У меня неработали ссылки, когда не ставил закрывающий слеш (/). Думаю, что стоит route проверить, верно ли прописан.
$route['default_controller'] = 'main';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['news'] = 'news';
$route['news/create'] = 'news/create';
$route['news/edit'] = 'news/edit';
$route['news/delete'] = 'news/delete';
$route['news/(:any)'] = 'news/view/$1';
$route['post'] = 'post';
$route['post/create'] = 'post/create';
$route['post/edit'] = 'post/edit';
$route['post/delete'] = 'post/delete';
$route['post/(:any)'] = 'post/view/$1';
Есть ли тут ошибки?
У меня posts, не думаю, что это сильно влияет:
$route['posts'] = 'posts';
$route['posts/create'] = 'posts/create';
$route['posts/edit'] = 'posts/edit';
$route['posts/delete'] = 'posts/delete';
$route['posts/(:any)'] = 'posts/view/$1';
А ссылки в цикле как пытаетесь вывести?
У меня так:
<h1>Все посты</h1><br>
<?php if($this->dx_auth->is_admin()) { ?>
<p><a href="create">Добавить пост</a></p><br>
<?php } ?>
<?php foreach ($posts as $key => $value): ?>
<p><a href="view/<?php echo $value['slug']; ?>"><?php echo $value['title']; ?></a>
<?php if($this->dx_auth->is_admin()) { ?>
| <a href="edit/<?php echo $value['slug']; ?>">edit</a> | <a href="delete/<?php echo $value['slug']; ?>">delete</a></p>
<?php } ?>
<?php endforeach ?>
Только у вас скорее всего библиотека для управления пользователями и ролями dx_auth не установлена, поэтому вам нужно пока без if блока.
<h1>Все посты</h1>
<p><a href="create">добавить пост</a></p><br>
<?php foreach ($post as $key => $value): ?>
<p><a href="view/<?php echo $value['slug'];?>"><?php echo $value['title'];?></a> | <a href="edit/<?php echo $value['slug']; ?>">edit</a> | <a href="delete/<?php echo $value['slug']; ?>">X</a></p>
<?php endforeach ?>
Вот мой код, он тоже работает. но именно не получается по ссылке переходить или нажимая на кнопку, у меня после перехода на другую страницу показывает, 404 not found.
И как мне подключить библиотеку? Просто, я думаю можно и без неё сделать, раз Сергей дал такое домашнее задание. А так всё сделал по аналогии с новостями.
Библиотека dx_auth подключается вконце курса, вам пока она не нужна.
В итоге на какой URL вы переходите со страницы? И с какой страницы вы пытаетесь перейти? Со страницы posts? (\kinomonster\application\views\posts\index.php) или с главной? (\kinomonster\application\views\main\index.php)?
Если c \view\main\index.php, тогда код в цикле такой:
<?php foreach ($posts as $key => $value): ?>
<a href="/posts/view/<?php echo $value['slug']; ?>"><h3><?php echo $value['title']; ?></h3></a>
<hr>
<p><?php echo $value['text']; ?></p>
<a href="/posts/view/<?php echo $value['slug']; ?>" class="btn btn-warning pull-right">читать</a>
<div class="margin-8"></div>
<?php endforeach ?>
student_B1eOljF6 можно ли с вам как-то связаться, хочу поговорить с вами. На счёт этого, если можите...