fastadmin Crud 命令行执行的是/application/command/Crud.php 文件中的方法
执行Crud命令时,使用的模板文件(index.html/edit.html/add.html)在/application/command/Crud/index.stub(edit.stub/add.stub)
和设置extend/fast/From.php文件中的input方法
就可以实现在Crud命令行生成的模板中添加自己想要添加的数据,以上添加后Crud 的结果如下
总结:在From.php中找到对应的生成的html代码,修改就可以了,参数没有的时候自己去Crud.php中把数据库参数(自定义)传参就可以了
/**
* 生成文本框(按类型)
*
* @param string $type
* @param string $name
* @param string $value
* @param array $options
* @return string
*/
public function input($type, $name, $value = null, $options = [])
{
if (!isset($options['name']))
$options['name'] = $name;
$id = $this->getIdAttribute($name, $options);
if (!in_array($type, $this->skipValueTypes)) {
$value = $this->getValueAttribute($name, $value);
$options['class'] = isset($options['class']) ? $options['class'] . (stripos($options['class'], 'form-control') !== false ? '' : ' form-control') : 'form-control';
}
$merge = compact('type', 'value', 'id');
$options = array_merge($options, $merge);
$options['field_remarks'] = isset($options['field_remarks'])?$options['field_remarks']:' ';
return '<input' . $this->attributes($options) . '>'.'<p class="t_notic">'.$options['field_remarks'].'</p>';
}
/**
617行代码
*/
else if ($inputType == 'citypicker') {
$attrArr['field_remarks'] = '请填写'.$v['COLUMN_COMMENT'];
$attrArr['class'] = implode(' ', $cssClassArr);
$attrArr['data-toggle'] = "city-picker";
$formAddElement = sprintf("<div class='control-relative'>%s</div>", Form::input('text', $fieldName, $defaultValue, $attrArr));
$formEditElement = sprintf("<div class='control-relative'>%s</div>", Form::input('text', $fieldName, $editValue, $attrArr));
}