Ссылка не работает в фреймворке codeigniter, как исправить?

1

Сделал вывод постов на страницу, но slug не работает. Помогите, пожалуйста, уже 2 часа сижу, не могу понять...

Посты выводятся, вывел title и text, но ссылки не работают.

codeigniter

6 ответов

3

Без кода сложно понять. У меня неработали ссылки, когда не ставил закрывающий слеш (/). Думаю, что стоит route проверить, верно ли прописан. 

2
$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';

 

Есть ли тут ошибки?

3

У меня 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 блока.

2

<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.

И как мне подключить библиотеку? Просто, я думаю можно и без неё сделать, раз Сергей дал такое домашнее задание. А так всё сделал по аналогии с новостями.

 

2

Библиотека 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 ?>

 

2

student_B1eOljF6 можно ли с вам как-то связаться, хочу поговорить с вами. На счёт этого, если можите...

Sign up or Log in to write an answer