我有一个控制器,数字,并且在该控制器中,我的一个功能是小部件,然后是小部件的几个公共功能,例如突出显示。
视图设置为digital / widgets / highlight.php
我希望将网址显示为domain.com/digital/widget/highlights以及breadcrumb(autocrumb)
public function widget()
{
$header["pageTitle"] = "TV Listing Widgets and Snippets";
$this->load->helper('breadcrumb');
$this->load->view('templates/header.php', $header);
$this->load->view('digital/widget');
$this->load->view('templates/modal.php');
$this->load->view('templates/footer.php');
}
public function highlights()
{
$header["pageTitle"] = "TV Highlights Widget";
$this->load->helper('breadcrumb');
$this->load->view('templates/header.php', $header);
$this->load->view('digital/widgets/highlights');
$this->load->view('templates/modal.php');
$this->load->view('templates/footer.php');
}
是否可以创建子类或函数或类似的东西?
答案 0 :(得分:0)
不像你在做什么。
CI网址的结构是:
domain.com/controller/function/arg1/arg2/etc...
因此,您希望“突出显示”是传递给窗口小部件的值($ value);然后,在widget函数内部,一些说明
的IF语句if ($value == 'highlight')
{
$this->highlight();
}
至少,我认为这就是你要做的事情
答案 1 :(得分:0)
您需要在CI中使用路线:
http://ellislab.com/codeigniter/user-guide/general/routing.html
您可以将/ digital / highlight /映射到/ digital / widget / highlight。
答案 2 :(得分:0)
谢谢!工作了
public function widgets($widget = null) {
switch($widget) {
case 'highlights':
$this->highlights();
break;
default:
$widget = "widgets";
$this->load->view(
等等
答案 3 :(得分:0)
You can using URI Routing https://www.codeigniter.com/userguide3/general/routing.html
$routes['digital/widget/highlights'] = 'digital/highlights';
but since you said some other functions too maybe for widget() function
If you want show some other functions inside widget segment, i recommedation you to make new controller Widget.php with written functions that work for Widget in it, then custom it to CI URI Routing maybe like this:
$route['digital/widget/(:any)'] = 'digital/widget/$1';
hope this helps, sorry for my english.