[英]Laravel Voyager: How to Add UI features to Backend/CMS Voyager
Does anyone know how to connect features UI and make dynamically to the menu in CMS Voyager
?有谁知道如何连接功能 UI 并动态制作
CMS Voyager
中的菜单?
I just wanna add some features like on the website selling the property.我只想添加一些功能,例如在销售该物业的网站上。 there must be some features like how many Amount of bedrooms and I just want the features bedroom to be dynamically, and can be edited by users to add or change the amount of bedrooms from Admin backend (CMS Voyager).
必须有一些功能,例如卧室数量,我只希望功能卧室是动态的,并且可以由用户编辑以从管理后端(CMS Voyager)添加或更改卧室数量。
features will be add here将在此处添加功能
<div class="page-content edit-add container-fluid">
<div class="row">
<div class="col-md-12">
<div class="panel panel-bordered">
<!-- form start -->
<form role="form"
class="form-edit-add"
action="{{ $edit ? route('voyager.'.$dataType->slug.'.update', $dataTypeContent->getKey()) : route('voyager.'.$dataType->slug.'.store') }}"
method="POST" enctype="multipart/form-data">
<!-- PUT Method if we are editing -->
@if($edit)
{{ method_field("PUT") }}
@endif
<!-- CSRF TOKEN -->
{{ csrf_field() }}
<div class="panel-body">
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<!-- Adding / Editing -->
@php
$dataTypeRows = $dataType->{($edit ? 'editRows' : 'addRows' )};
@endphp
@foreach($dataTypeRows as $row)
<!-- GET THE DISPLAY OPTIONS -->
@php
$display_options = $row->details->display ?? NULL;
if ($dataTypeContent->{$row->field.'_'.($edit ? 'edit' : 'add')}) {
$dataTypeContent->{$row->field} = $dataTypeContent->{$row->field.'_'.($edit ? 'edit' : 'add')};
}
@endphp
@if (isset($row->details->legend) && isset($row->details->legend->text))
<legend class="text-{{ $row->details->legend->align ?? 'center' }}" style="background-color: {{ $row->details->legend->bgcolor ?? '#f0f0f0' }};padding: 5px;">{{ $row->details->legend->text }}</legend>
@endif
<div class="form-group @if($row->type == 'hidden') hidden @endif col-md-{{ $display_options->width ?? 12 }} {{ $errors->has($row->field) ? 'has-error' : '' }}" @if(isset($display_options->id)){{ "id=$display_options->id" }}@endif>
{{ $row->slugify }}
<label class="control-label" for="name">{{ $row->display_name }}</label>
@include('voyager::multilingual.input-hidden-bread-edit-add')
@if (isset($row->details->view))
@include($row->details->view, ['row' => $row, 'dataType' => $dataType, 'dataTypeContent' => $dataTypeContent, 'content' => $dataTypeContent->{$row->field}, 'action' => ($edit ? 'edit' : 'add')])
@elseif ($row->type == 'relationship')
@include('voyager::formfields.relationship', ['options' => $row->details])
@else
{!! app('voyager')->formField($row, $dataType, $dataTypeContent) !!}
@endif
@foreach (app('voyager')->afterFormFields($row, $dataType, $dataTypeContent) as $after)
{!! $after->handle($row, $dataType, $dataTypeContent) !!}
@endforeach
@if ($errors->has($row->field))
@foreach ($errors->get($row->field) as $error)
<span class="help-block">{{ $error }}</span>
@endforeach
@endif
</div>
@endforeach
</div><!-- panel-body -->
<div class="panel-footer">
<button type="submit" class="btn btn-primary save">{{ __('voyager::generic.save') }}</button>
</div>
</form>
<iframe id="form_target" name="form_target" style="display:none"></iframe>
<form id="my_form" action="{{ route('voyager.upload') }}" target="form_target" method="post"
enctype="multipart/form-data" style="width:0;height:0;overflow:hidden">
<input name="image" id="upload_file" type="file"
onchange="$('#my_form').submit();this.value='';">
<input type="hidden" name="type_slug" id="type_slug" value="{{ $dataType->slug }}">
{{ csrf_field() }}
</form>
</div>
</div>
</div>
</div>
<div class="modal fade modal-danger" id="confirm_delete_modal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×</button>
<h4 class="modal-title"><i class="voyager-warning"></i> {{ __('voyager::generic.are_you_sure') }}</h4>
</div>
<div class="modal-body">
<h4>{{ __('voyager::generic.are_you_sure_delete') }} '<span class="confirm_delete_name"></span>'</h4>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{{ __('voyager::generic.cancel') }}</button>
<button type="button" class="btn btn-danger" id="confirm_delete">{{ __('voyager::generic.delete_confirm') }}</button>
</div>
</div>
</div>
</div>
<!-- End Delete File Modal -->
<script>
var params = {};
var $file;
function deleteHandler(tag, isMulti) {
return function() {
$file = $(this).siblings(tag);
params = {
slug: '{{ $dataType->slug }}',
filename: $file.data('file-name'),
id: $file.data('id'),
field: $file.parent().data('field-name'),
multi: isMulti,
_token: '{{ csrf_token() }}'
}
$('.confirm_delete_name').text(params.filename);
$('#confirm_delete_modal').modal('show');
};
}
$('document').ready(function () {
$('.toggleswitch').bootstrapToggle();
//Init datepicker for date fields if data-datepicker attribute defined
//or if browser does not handle date inputs
$('.form-group input[type=date]').each(function (idx, elt) {
if (elt.type != 'date' || elt.hasAttribute('data-datepicker')) {
elt.type = 'text';
$(elt).datetimepicker($(elt).data('datepicker'));
}
});
@if ($isModelTranslatable)
$('.side-body').multilingual({"editing": true});
@endif
$('.side-body input[data-slug-origin]').each(function(i, el) {
$(el).slugify();
});
$('.form-group').on('click', '.remove-multi-image', deleteHandler('img', true));
$('.form-group').on('click', '.remove-single-image', deleteHandler('img', false));
$('.form-group').on('click', '.remove-multi-file', deleteHandler('a', true));
$('.form-group').on('click', '.remove-single-file', deleteHandler('a', false));
$('#confirm_delete').on('click', function(){
$.post('{{ route('voyager.media.remove') }}', params, function (response) {
if ( response
&& response.data
&& response.data.status
&& response.data.status == 200 ) {
toastr.success(response.data.message);
$file.parent().fadeOut(300, function() { $(this).remove(); })
} else {
toastr.error("Error removing file.");
}
});
$('#confirm_delete_modal').modal('hide');
});
$('[data-toggle="tooltip"]').tooltip();
});
</script>
Your problem is:你的问题是:
<iframe id="form_target" name="form_target" style="display:none"></iframe>
remove that line from your code从您的代码中删除该行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.