【发布时间】:2023-03-15 14:42:01
【问题描述】:
问候,我不太确定如何在我的项目中实现我的愿景。
开始,让我们专注于 Order 控制器。
所以我的订单包含许多子视图。比如详情、历史、地址、附件、备注等。我把它们放在一个jQuery标签界面上。
让我们展示一些代码。
Layout.php
<div class="page-content">
<div class="row">
<div class="col-md-12">
<ul class="nav nav-tabs responsive hidden-xs hidden-sm">
<li class="<?php echo ($activeTabSub === "1") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">Master details</a>
</li>
<li class="<?php echo ($activeTabSub === "2") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">History</a>
</li>
<li class="<?php echo ($activeTabSub === "wyk") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">Address</a>
</li>
<li class="<?php echo ($activeTabSub === "3") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">Files</a>
</li>
<li class="<?php echo ($activeTabSub === "4") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">Notes</a>
</li>
<li class="<?php echo ($activeTabSub === "7") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">ETC</a>
</li>
<li class="<?php echo ($activeTabSub === "8") ? "active" : ""; ?>">
<a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">ETC</a>
</li>
<li class="<?php echo ($activeTabSub === "9") ? "active" : ""; ?>"><a href="<?PHP echo base_url();?>x/y/<?PHP echo $zgl; ?>">ETC</a>
</li>
</ul>
</div>
</div>
<?PHP $this->load->view($widget,$activeTabSub); ?>
<?PHP $this->load->view($main_content,$activeTabSub); ?>
</div>
在我的示例中,$widget 视图是一个子视图,它是一个带有工具的小部件,例如每个 activeTabSub 的不同编辑/添加按钮。 $main_content 是每个人的 html 视图。
现在是控制器 [Order]
public function functiontolink1()
{
$data['main_content'] = 'x/y';
$data['widget'] = 'x/widget';
$data['heading'] = "";
$data['activeTab'] = 'pzlec';
$data['activeTabSub'] = '2';
$data['strona'] = 'text';
$data['dzial'] = 'text';
$seg= $this->uri->segment(3);
$data['zgl'] = $seg;
if(isset($seg)){
$data['pracownicy'] = $this->Zlecenia_model->pracownicy($zgloszenie);
switch($this->userGroup){
case 1 :
$data['main_content'] = 'x/y';
break;
case 2 :
$data['main_content'] = 'x/y';
break;
case 3 :
$data['widget'] = 'Client/x/widget';
$data['main_content'] = 'Client/x/y';
break;
default: show_404(); break;
}
$this->load->view('Client/x/layout',$data);
}else{
show_404();
}
}
public function functiontolink2()
{
$data['widget'] = 'x/widget';
$data['heading'] = "";
$data['activeTab'] = 'pzlec';
$data['activeTabSub'] = '2';
$data['strona'] = 'text';
$data['dzial'] = 'text';
$seg= $this->uri->segment(3);
if(isset($seg)){
$data['zgl'] = $seg;
$data['json'] = $this->Zlecenia_model->getSingle($zgloszenie);
$vvv= json_decode($data['json']);
$data['client'] = $this->Order_model->getclient($vvv[0]->klient);
switch($this->userGroup){
case 1 :
$data['main_content'] = 'x/y';
break;
case 2 :
$data['main_content'] = 'x/y';
break;
case 3 :
$data['widget'] = 'Client/x/widget';
$data['main_content'] = 'Client/x/y';
break;
default: show_404(); break;
}
$this->load->view('Client/x/layout',$data);
$this->load->view('zgloszenie/layout',$data);
}else{
show_404();
}
}
您可以想象,每个链接都有 9 个这样的视图函数。 问题开始于我想要一些数据,即所有这 9 个子视图中的客户数据 - 仅调用一次,而不是每个页面点击 [tab]。我不太确定我的设计尝试是否很好。你有什么建议吗?
【问题讨论】:
-
你能举个例子说明一下吗?很难理解。
-
可悲的是,这是我能形容的最好的了
-
它通常是多个子页面的想法,可以从主要内容中继承数据,而无需在每个子页面上执行主查询我会这么说
-
我认为您需要创建布局文件,但让我知道确实想为每个视图加载所有功能视图,就像这些视图对于每个视图都是通用的,让我知道然后我会给你解决方案.
-
您的问题也不清楚,请进行编辑。
标签: php codeigniter codeigniter-3