0
0

проблема появилась при повторении кода 

3.3 Левый блок сайта: новости

при переходе к новости из боковой панели все работает, но при переходе по ссылке из списка новостей к новости редактированию или удалению происходит переход на страницу без "news" типа http://kinomonster.com/view/news-1 вместо http://kinomonster.com/news/view/news-1  причем недавно все работало в routes все прописано верно.

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

в views->news->index я написал 

<h1>Все новости</h1>

<p><a href="create">добавить новость</a></p><br>

<?php foreach ($news 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']; ?>">Х</a></p>
<?php endforeach ?>

как и в уроке, но если даже дописать news в эти ссылки ничего не происходит

я не понимаю в чем может быть проблема еще 

вроде ошибка появилась при работе с контроллером news.php

но я вообще не понимаю как онеа там могла появиться

<?php


defined('BASEPATH') OR exit('No direct script access allowed');

class News extends MY_Controller
{
public function __construct(){
parent::__construct();
$this->load->model('news_model');
}
public function index() {
$this->data['title']="Все новости";
$this->data['news']=$this->news_model->getNews();

$this->load->view('templates/header', $this->data);
$this->load->view('news/index', $this->data);
$this->load->view('templates/footer');
}
public function view($slug = NULL) {
$this->data['news_item'] = $this->news_model->getNews($slug);

if(empty($this->data['news_item'])){
show_404();
}
$this->data['title'] = $this->data['news_item']['title'];
$this->data['content'] = $this->data['news_item']['text'];

$this->load->view('templates/header', $this->data);
$this->load->view('news/view', $this->data);
$this->load->view('templates/footer');
}
public function create(){
$this->data['title'] = "добавить новость";

if ($this->input->post('slug') && $this->input->post('title') && $this->input->post('text')){
$slug = $this->input->post('slug');
$title = $this->input->post('title');
$text = $this->input->post('text');

if($this->news_model->setNews($slug, $title, $text)){
$this->load->view('templates/header', $this->data);
$this->load->view('news/success', $this->data);
$this->load->view('templates/footer');
}
}else{
$this->load->view('templates/header', $this->data);
$this->load->view('news/create', $this->data);
$this->load->view('templates/footer');
}
}

public function edit($slug = NULL){
$this->data['title']="редактировать новость";
$this->data['news_item']=$this->news_model->getNews($slug);

//if(empty($data['news_item'])){
// show_404();
//} после изменения будет ошибка тк после обработки контроллет идет на newsedit

$this->data['title_news']=$this->data['news_item']['title'];
$this->data['content_news']=$this->data['news_item']['text'];
$this->data['slug_news']=$this->data['news_item']['slug'];

if($this->input->post('slug') && $this->input->post('title')&& $this->input->post('text')){
$slug=$this->input->post('slug');
$title=$this->input->post('title');
$text=$this->input->post('text');
echo "новость успешно отредактирована";
if($this->news_model->update_news($slug, $title, $text)){

}
}
$this->load->view('templates/header', $this->data);
$this->load->view('news/edit', $this->data);
$this->load->view('templates/footer');


}


public function delete($slug = NULL){
$this->data['title']="удалить новость";
$this->data['news_delete']=$this->news_model->getNews($slug);

//if(empty($data['news_delete'])){
// show_404();
//} //после изменения будет ошибка тк после обработки контроллет идет на newsedit

$this->data['title']="удалить новость";
$this->data['result']="ошибка удаления";
if($this->news_model->delete_news($slug)){
$this->data['result'] = $this->data['news_delete']['title']." успешно удалена";
}

$this->load->view('templates/header', $this->data);
$this->load->view('news/delete', $this->data);
$this->load->view('templates/footer');
}
}

при прописывании ссылки вручную все до сих пор нормально

 магия, все только что снова само заработало хотя до этого и перезагрузка компа не помогла. я ничего не менял. причем такое вроде не в 1 раз, как так?


student_yxi4Rgnt
5 years ago






Еще нет ответов