根据数据库条目显示图标
Display icon based on database entry
我有一个索引视图从特定模型返回 table。在索引视图中显示的 table 中,我打算根据数据库字段的条目显示图标(例如,数据库字段为“0”,图标应为 glyphicon-remove,当它为“1”时' 它应该是 glyphicon-ok)。遵循 MVC 思想和 DRY 的最佳方法是什么?逻辑(根据值分配图标)应该放在控制器的索引函数中还是将逻辑放在相应的视图(甚至模型)中更好?
您可以使用不同的方式来完成。喜欢
- 正在将字形图标 类 存储到数据库
field
- 将 glyphicon 类 设置为数组并根据您的条件显示它
- 设置条件,在View中显示数据时[HTML]
示例 [在视图中]
$data = array(/*YOUR QUERY DATA IS HERE*/);
foreach ($data as $key => $value) { /*Check your Database field is `0` or `1`*/
$icon = 'glyphicon glyphicon-remove';
if ($value->YOUR_FIELD==1) { /*Check with your proper field name*/
$icon = 'glyphicon glyphicon-ok'
}
echo "<span class='{$icon}'></span>";
}
What is the best approach to follow the MVC idea and DRY?
A helper。明显不是控制器。
我已经为该任务编写了一个名为 bool() 的辅助方法。
/**
* Bool
*
* @param mixed $value
* @param array $options
* @return string
*/
public function bool($value, $options = array()) {
$defaults = array(
'true' => __d('app', 'Yes'),
'false' => __d('app', 'No'),
'escape' => true,
);
$options = Hash::merge($defaults, $options);
$return = $options['false'];
if ($value == true) {
$return = $options['true'];
}
if ($options['escape'] === true) {
return h($return);
}
return $return;
}
然后使用它:
$this->MyHelper->bool($yourValue, [
'true' => 'glyphicon glyphicon-ok',
'false' => 'glyphicon glyphicon-remove']
);
根据任务的不同,最好编写另一个辅助方法,该方法使用 bool() 进行检查但输出整个字符串,无论您想要呈现什么。您没有显示任何代码,所以这只是一个猜测。
我有一个索引视图从特定模型返回 table。在索引视图中显示的 table 中,我打算根据数据库字段的条目显示图标(例如,数据库字段为“0”,图标应为 glyphicon-remove,当它为“1”时' 它应该是 glyphicon-ok)。遵循 MVC 思想和 DRY 的最佳方法是什么?逻辑(根据值分配图标)应该放在控制器的索引函数中还是将逻辑放在相应的视图(甚至模型)中更好?
您可以使用不同的方式来完成。喜欢
- 正在将字形图标 类 存储到数据库
field
- 将 glyphicon 类 设置为数组并根据您的条件显示它
- 设置条件,在View中显示数据时[HTML]
示例 [在视图中]
$data = array(/*YOUR QUERY DATA IS HERE*/);
foreach ($data as $key => $value) { /*Check your Database field is `0` or `1`*/
$icon = 'glyphicon glyphicon-remove';
if ($value->YOUR_FIELD==1) { /*Check with your proper field name*/
$icon = 'glyphicon glyphicon-ok'
}
echo "<span class='{$icon}'></span>";
}
What is the best approach to follow the MVC idea and DRY?
A helper。明显不是控制器。
我已经为该任务编写了一个名为 bool() 的辅助方法。
/**
* Bool
*
* @param mixed $value
* @param array $options
* @return string
*/
public function bool($value, $options = array()) {
$defaults = array(
'true' => __d('app', 'Yes'),
'false' => __d('app', 'No'),
'escape' => true,
);
$options = Hash::merge($defaults, $options);
$return = $options['false'];
if ($value == true) {
$return = $options['true'];
}
if ($options['escape'] === true) {
return h($return);
}
return $return;
}
然后使用它:
$this->MyHelper->bool($yourValue, [
'true' => 'glyphicon glyphicon-ok',
'false' => 'glyphicon glyphicon-remove']
);
根据任务的不同,最好编写另一个辅助方法,该方法使用 bool() 进行检查但输出整个字符串,无论您想要呈现什么。您没有显示任何代码,所以这只是一个猜测。