我想添加一个从配置文件中获取数组的下拉字段。我试过这个,但收到了错误。
在config / gallery.php中:
return [
'column_num' => [
''=>'-- Choose one --',
'one' => 'Category: One column',
'one-second'=> 'Category: Two columns',
'one-third'=> 'Category: Three columns',
'one-fourth'=> 'Category: Four columns',
'one-fifth'=> 'Category: Five columns',
'one-sixth'=> 'Category: Six columns',
],
];
在app / PageTemplates.php
中...
$this->crud->addField([
'name' => 'column_num',
'label' => 'Number of columns',
'type' => 'select_from_array',
'options' => config('gallery.column_num'),
'fake' => true,
'store_in' => 'extras',
]);
======更新=====
错误:
a1e88af9db4bb80b9055323bf64be621df2f9960.php行中的ErrorException 19:未定义的索引:值(查看: /Users/sokada/Code/backpack-ceci/vendor/backpack/crud/src/resources/views/fields/select_from_array.blade.php) (视图: /Users/sokada/Code/backpack-ceci/vendor/backpack/crud/src/resources/views/fields/select_from_array.blade.php) (视图: /用户/ sokada /代码/ backpack- CECI /供应商/背包/污物/ SRC /资源/视图/场/ select_from_array.blade.php) 在a1e88af9db4bb80b9055323bf64be621df2f9960.php第19行 CompilerEngine-> handleViewException(object(ErrorException),' 1')in
的PhpEngine.php第44行
我试过这个as in the doc,但它仍然会出错。
$this->crud->addField([
// select_from_array
'name' => 'template',
'label' => "Template",
'type' => 'select_from_array',
'options' => [‘one’ => ‘One’, ‘two’ => ‘Two’],
'allows_null' => false,
// 'allows_multiple' => true, // OPTIONAL; needs you to cast this to array in your model;
]);
错误
PageTemplates.php第114行中的ErrorException:使用undefined 恒定的'一' - 假设'一'''在PageTemplates.php第114行中 HandleExceptions-> handleError(' 8','使用未定义的常量'one' - 假设''一个''', ' /Users/sokada/Code/backpack-ceci/app/PageTemplates.php' ;,' 114', PageTemplates.php第114行中的array())
这与if语句有关。
<option value="{{ $key }}"
@if ((isset($field['value']) && $key==$field['value'])
|| ( ! is_null( old($field['name']) ) && old($field['name']) == $key)
|| (is_array($field['value']) && in_array($key, $field['value'])) )
selected
@endif
>{{ $value }}</option>
答案 0 :(得分:0)
目前,我需要将@foreach
中的vendor/backpack/crud/src/resources/views/fields/select_from_array.blade.php
语句修改为以下内容以避免错误。
@if (count($field['options']))
@foreach ($field['options'] as $key => $value)
<option value="{{ $key }}"
@if ((isset($field['value']) && $key==$field['value'])
|| ( ! is_null( old($field['name']) ) && old($field['name']) == $key)
)
selected
@endif
>{{ $value }}</option>
@endforeach
@endif
我希望tabacitu能够找到更好的解决方案。
答案 1 :(得分:0)
我知道这是一个&#34; old&#34;问题,但我遇到了同样的错误,用这个代码解决了它:
&#39;选项&#39; =&GT; [0 => &#34;被阻止&#34;,1 =&gt; &#34; OK&#34;,2 =&gt; &#34;代理&#34;,3 =&gt; &#34; DNS&#34],