有可能覆盖每颗星的值吗?我需要定义 step = 3.75,min = 0 和 max = 15,并防止选择半颗星。我想要的价值观是:
星 1 => 0; 星 2 => 3.75; 星级 3 => 7.5; 星 4 => 11,25; 星 5 => 15。
表单.php
echo $form->field($model, 'rating')->widget(StarRating::classname(), [
'pluginOptions' => [
'stars' => 5,
'step' => 3.75,
'min' => 0,
'max' => 15,
]
]);
但是当我这样做时,每颗星星的选择显示不正确,选择了一半的星星。
我以为您只想显示客户端(带有手动编号)。而且您不会从数据库中获取数字,
正确的方法是覆盖star-rating
文件。应该参考 Kartik 论坛。
您必须覆盖第一颗星的分数为零(突出显示第一颗星 = 0)
但是,您可以在模型中使用以下代码。
public function beforeSave($insert)
{
// if ($insert) { // only for Save (No Update)
if (!empty($this->Your_field)) {
$this->setAttribute('Your_field', $this->Your_field-3.75);
}
// }
return parent::beforeSave($insert);
}
代替your_field
,输入您的字段名称(汇率字段)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句