我与URI的一个问题。 我试图通过邮局一看,却不见回答。
教程可以在这里找到: http://codeigniter.com/user_guide/tutorial/news_section.html
基本上我复制一切,它工作正常,但有一个地方想,我不知道是否是我的浏览器或我错过配置的东西。
在“视图/新闻/ index.php的”我有下面的代码按教程:
<h2><? echo $news_item['title'] ?></h2>
<div id="main">
<? echo $news_item['text']?>
</div>
<p>[b]<a href="news/<? echo $news_item['slug']?>">View Article</a>[/b]</p>
现在的问题是,当我看着HTML源代码上我的浏览器我看到该链接为:
查看全文
我假设是正确的。 但是,当我点击,它指向我:
本地主机/ CI / index.php文件/新闻/新闻/ firstnews
正如你所看到的“新闻”在URI中重复两次。 它看起来像浏览器仅仅是附加href值的URI,它是开放的,而不是清洗下来到index.php文件,并添加它。
我试图删除从href值“新闻”位和它工作正常。
我使用丁目如果有什么差别。
那是我的misstake? 还是这只是在本教程的错误?
伊戈尔,我认为,这是一个教程的错误,你需要添加/ href属性。 例如
<a href="/news/<? echo $news_item['slug']?>">View Article</a>
此外,你应该使用的网址助手- http://codeigniter.com/user_guide/helpers/url_helper.html
PS还有就是你不调.htaccess文件的机会。
为了避免这种错误,我经常使用base_url()
写下的链接时。 像这样:
<?php echo anchor(base_url('news/'.$news_item['slug']),View article); ?>
请注意,我用的anchor()
base_url()
的函数URL帮手 。 在更多信息:
http://codeigniter.com/user_guide/helpers/url_helper.html
这是CI教程一个错误。
首先,我们建议使用site_url()
函数来帮助生成新闻蛞蝓URL。
您可以通过添加为此$this->load->helper('url');
在__construct()
的新闻控制器的控制器/ news.php
然后改变你的网址链接在你的意见/新闻/ index.php来<?php echo site_url('news/' . $news_item['slug']); ?>
<?php echo site_url('news/' . $news_item['slug']); ?>
最关键的错误是,在整个当前的文件你填充$data['news']
而你的其余功能,在看$data['news_item']
你应该改变看法/新闻/ view.php这些(二)变量和(三级)的变量在view()
中的控制器/ news.php功能
重新加载页面后,应该这样做! 有关CI论坛充分讨论查看以下链接: http://ellislab.com/forums/viewthread/209349/
对我来说,我改变
$data['news'] = $this->news_model->get_news($slug);
至:
$data['news_item'] = $this->news_model->get_news($slug);
并且工作正常,现在
顺便说一句,我发现这个混帐回购协议github.com/Crias/tutorial-codeigniter-news其中包含源代码,默认笨教程。
现在,你不需要输入(或复制粘贴),它再次使本教程的作品。