Url Codeigniter:根据URI段在循环中加载不同的视图
我有一个从模型中加载的建筑列表。这些建筑在我的视野中呈环形显示,如下所示: 控制器 看法Url Codeigniter:根据URI段在循环中加载不同的视图,url,codeigniter,view,segment,Url,Codeigniter,View,Segment,我有一个从模型中加载的建筑列表。这些建筑在我的视野中呈环形显示,如下所示: 控制器 看法 [...] 每个构建都有一些可能的“操作”,例如“信息”、“价格”、“颜色”。默认状态显示“信息” 我希望能够加载特定建筑的特定操作 例如,我有一家工厂和一家药店,默认情况下都显示“信息”选项卡。 如果单击药店的“价格”选项卡,如何显示工厂的“信息”选项卡和药店的“价格”选项卡 我的URL如下所示: 默认值 场地/建筑物 显示药店的价格 场地/建筑物/价格/药店 也许我应该寻找一个局部视图解决方案,但我
[...]
每个构建都有一些可能的“操作”,例如“信息”、“价格”、“颜色”。默认状态显示“信息”
我希望能够加载特定建筑的特定操作
例如,我有一家工厂和一家药店,默认情况下都显示“信息”选项卡。
如果单击药店的“价格”选项卡,如何显示工厂的“信息”选项卡和药店的“价格”选项卡
我的URL如下所示:
默认值
场地/建筑物
显示药店的价格
场地/建筑物/价格/药店
也许我应该寻找一个局部视图解决方案,但我真的需要一个建议或解决方案;)
事先非常感谢(我也为我的英语不好道歉)那么像这样的话:
$this->Base_Model->getUserBuildingFromWebname($webname);
然后在建筑物控制器中,您可以添加以下内容:
public function index( $webname = null )
{
if( !is_null($webname) )
$buildingId = $this->Base_Model->getUserBuildingFromWebname($webname);
else
$buildingId = null;
$data["showBuildingDetails"] = $buldingId;
//the rest of your index() function
}
public function price ( $webname )
{
return $this->index($webname);
}
如果不了解更多关于设置的信息,很难说,但是您需要在price()函数中使用某种条件 是否从数据库中获取信息/价格操作 如果是这样的话
<?php foreach($buildings as $b): ?>
<div class="building">
<?php if($this->uri->segment(3)==$b['building_name']) {
echo 'Price';
} else {
echo 'Info';
}
?>
</div>
<?php endforeach; ?>
但是如前所述,如果不了解更多关于系统的信息,很难给出一个合理的答案。谢谢你的回答,但实际上我在索引函数中得到了所有建筑物的列表。然后在我的视图中,我遍历并默认显示“info”。我想做的是显示信息,但如果在URL中传递了建筑,那么我将显示其他建筑的信息以及传递的建筑的价格。在我看来,通过做一个测试,我以一种“丑陋”的方式取得了成绩,但我真的不喜欢它。任何想法都将不胜感激,再次感谢!谢谢你,罗斯,它让我相信在视图中进行测试是设置的“最佳”解决方案。
public function index( $webname = null )
{
if( !is_null($webname) )
$buildingId = $this->Base_Model->getUserBuildingFromWebname($webname);
else
$buildingId = null;
$data["showBuildingDetails"] = $buldingId;
//the rest of your index() function
}
public function price ( $webname )
{
return $this->index($webname);
}
<?php foreach($buildings as $b): ?>
<div class="building">
<?php if($this->uri->segment(3)==$b['building_name']) {
echo 'Price';
} else {
echo 'Info';
}
?>
</div>
<?php endforeach; ?>