menu Controller

This commit is contained in:
merdan 2022-09-23 14:49:42 +05:00
parent 604c710092
commit f0474e5784
4 changed files with 30 additions and 27 deletions

View File

@ -48,7 +48,8 @@ class Menus extends Controller
public function edit($id){
$menu = $this->mRepository->findOrFail($id);
return view($this->_config['view'], compact('menu'));
$categories = $repository->getCategoryTree(null, ['id']);
return view($this->_config['view'], compact('menu','categories'));
}
public function update(MenuRequest $request,$id){

View File

@ -195,6 +195,7 @@ return [
'no' => 'No',
'position' => 'Position',
'description' => 'Description',
'categories' => 'Categories'
],
]
];

View File

@ -1,12 +1,12 @@
@extends('admin::layouts.content')
@section('page_title')
{{ __('admin::app.catalog.categories.add-title') }}
{{ __('admin::app.catalog.menus.add-title') }}
@stop
@section('content')
<div class="content">
<form method="POST" action="{{ route('admin.catalog.menus.store') }}" @submit.prevent="onSubmit" enctype="multipart/form-data">
<form method="POST" action="{{ route('admin.catalog.menus.store') }}" @submit.prevent="onSubmit">
<div class="page-header">
<div class="page-title">
<h1>
@ -71,7 +71,7 @@
@if ($categories->count())
<accordian title="{{ __('admin::app.catalog.products.categories') }}" :active="true">
<accordian title="{{ __('admin::app.catalog.menus.categories') }}" :active="true">
<div slot="body">
<tree-view behavior="normal" value-field="id" name-field="categories" input-type="checkbox" items='@json($categories)' fallback-locale="{{ config('app.fallback_locale') }}"></tree-view>
</div>
@ -90,8 +90,8 @@
<script type="text/x-template" id="description-template">
<div class="control-group" :class="[errors.has('description') ? 'has-error' : '']">
<label for="description" :class="isRequired ? 'required' : ''">{{ __('admin::app.catalog.categories.description') }}</label>
<textarea v-validate="isRequired ? 'required' : ''" class="control" id="description" name="description" data-vv-as="&quot;{{ __('admin::app.catalog.categories.description') }}&quot;">{{ old('description') }}</textarea>
<label for="description" :class="isRequired ? 'required' : ''">{{ __('admin::app.catalog.menus.description') }}</label>
<textarea v-validate="isRequired ? 'required' : ''" class="control" id="description" name="description" data-vv-as="&quot;{{ __('admin::app.catalog.menus.description') }}&quot;">{{ old('description') }}</textarea>
<span class="control-error" v-if="errors.has('description')">@{{ errors.first('description') }}</span>
</div>
</script>

View File

@ -1,7 +1,7 @@
@extends('admin::layouts.content')
@section('page_title')
{{ __('admin::app.catalog.categories.edit-title') }}
{{ __('admin::app.catalog.menus.edit-title') }}
@stop
@push('css')
@ -21,20 +21,20 @@
$locale = core()->getRequestedLocaleCode();
@endphp
<form method="POST" action="" @submit.prevent="onSubmit" enctype="multipart/form-data">
<form method="POST" action="" @submit.prevent="onSubmit">
<div class="page-header">
<div class="page-title">
<h1>
<i class="icon angle-left-icon back-link" onclick="window.location = '{{ route('admin.catalog.menus.index') }}'"></i>
{{ __('admin::app.catalog.categories.edit-title') }}
{{ __('admin::app.catalog.menus.edit-title') }}
</h1>
<div class="control-group">
<select class="control" id="locale-switcher" onChange="window.location.href = this.value">
@foreach (core()->getAllLocales() as $localeModel)
<option value="{{ route('admin.catalog.menus.update', $category->id) . '?locale=' . $localeModel->code }}" {{ ($localeModel->code) == $locale ? 'selected' : '' }}>
<option value="{{ route('admin.catalog.menus.update', $menu->id) . '?locale=' . $localeModel->code }}" {{ ($localeModel->code) == $locale ? 'selected' : '' }}>
{{ $localeModel->name }}
</option>
@ -45,7 +45,7 @@
<div class="page-action">
<button type="submit" class="btn btn-lg btn-primary">
{{ __('admin::app.catalog.categories.save-btn-title') }}
{{ __('admin::app.catalog.menus.save-btn-title') }}
</button>
</div>
</div>
@ -59,36 +59,38 @@
<accordian title="{{ __('admin::app.catalog.categories.general') }}" :active="true">
<div slot="body">
<div class="control-group" :class="[errors.has('{{$locale}}[name]') ? 'has-error' : '']">
<label for="name" class="required">{{ __('admin::app.catalog.categories.name') }}
<label for="name" class="required">{{ __('admin::app.catalog.menus.name') }}
<span class="locale">[{{ $locale }}]</span>
</label>
<input type="text" v-validate="'required'" class="control" id="name" name="{{$locale}}[name]" value="{{ old($locale)['name'] ?? ($category->translate($locale)['name'] ?? '') }}" data-vv-as="&quot;{{ __('admin::app.catalog.categories.name') }}&quot;" v-slugify-target="'slug'"/>
<input type="text" v-validate="'required'" class="control" id="name" name="{{$locale}}[name]" value="{{ old($locale)['name'] ?? ($menu->translate($locale)['name'] ?? '') }}"
data-vv-as="&quot;{{ __('admin::app.catalog.menus.name') }}&quot;" />
<span class="control-error" v-if="errors.has('{{$locale}}[name]')">@{{ errors.first('{!!$locale!!}[name]') }}</span>
</div>
<div class="control-group" :class="[errors.has('status') ? 'has-error' : '']">
<label for="status" class="required">{{ __('admin::app.catalog.categories.visible-in-menu') }}</label>
<select class="control" v-validate="'required'" id="status" name="status" data-vv-as="&quot;{{ __('admin::app.catalog.categories.visible-in-menu') }}&quot;">
<option value="1" {{ $category->status ? 'selected' : '' }}>
{{ __('admin::app.catalog.categories.yes') }}
<label for="status" class="required">{{ __('admin::app.catalog.menus.visible-in-menu') }}</label>
<select class="control" v-validate="'required'" id="status" name="status" data-vv-as="&quot;{{ __('admin::app.catalog.menus.visible-in-menu') }}&quot;">
<option value="1" {{ $menu->status ? 'selected' : '' }}>
{{ __('admin::app.catalog.menus.yes') }}
</option>
<option value="0" {{ $category->status ? '' : 'selected' }}>
{{ __('admin::app.catalog.categories.no') }}
<option value="0" {{ $menu->status ? '' : 'selected' }}>
{{ __('admin::app.catalog.menus.no') }}
</option>
</select>
<span class="control-error" v-if="errors.has('status')">@{{ errors.first('status') }}</span>
</div>
<div class="control-group" :class="[errors.has('position') ? 'has-error' : '']">
<label for="position" class="required">{{ __('admin::app.catalog.categories.position') }}</label>
<input type="text" v-validate="'required|numeric'" class="control" id="position" name="position" value="{{ old('position') ?: $category->position }}" data-vv-as="&quot;{{ __('admin::app.catalog.categories.position') }}&quot;"/>
<label for="position" class="required">{{ __('admin::app.catalog.menus.position') }}</label>
<input type="text" v-validate="'required|numeric'" class="control" id="position" name="position" value="{{ old('position') ?: $menu->position }}"
data-vv-as="&quot;{{ __('admin::app.catalog.menus.position') }}&quot;"/>
<span class="control-error" v-if="errors.has('position')">@{{ errors.first('position') }}</span>
</div>
</div>
</accordian>
<accordian title="{{ __('admin::app.catalog.categories.description-and-images') }}" :active="true">
<accordian title="{{ __('admin::app.catalog.menus.description-and-images') }}" :active="true">
<div slot="body">
<description></description>
</div>
@ -96,16 +98,14 @@
@if ($categories->count())
<accordian title="{{ __('admin::app.catalog.categories.parent-category') }}" :active="true">
<accordian title="{{ __('admin::app.catalog.menus.parent-category') }}" :active="true">
<div slot="body">
<tree-view behavior="normal" value-field="id" name-field="categories" input-type="checkbox" value='@json($menu->categories->pluck("id"))'
items='@json($categories)' fallback-locale="{{ config('app.fallback_locale') }}"></tree-view>
</div>
</accordian>
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.parent_category.after', ['category' => $category]) !!}
@endif
</div>
@ -120,10 +120,11 @@
<script type="text/x-template" id="description-template">
<div class="control-group" :class="[errors.has('{{$locale}}[description]') ? 'has-error' : '']">
<label for="description" :class="isRequired ? 'required' : ''">{{ __('admin::app.catalog.categories.description') }}
<label for="description" :class="isRequired ? 'required' : ''">{{ __('admin::app.catalog.menus.description') }}
<span class="locale">[{{ $locale }}]</span>
</label>
<textarea v-validate="isRequired ? 'required' : ''" class="control" id="description" name="{{$locale}}[description]" data-vv-as="&quot;{{ __('admin::app.catalog.categories.description') }}&quot;">{{ old($locale)['description'] ?? ($category->translate($locale)['description'] ?? '') }}</textarea>
<textarea v-validate="isRequired ? 'required' : ''" class="control" id="description" name="{{$locale}}[description]"
data-vv-as="&quot;{{ __('admin::app.catalog.menus.description') }}&quot;">{{ old($locale)['description'] ?? ($menu->translate($locale)['description'] ?? '') }}</textarea>
<span class="control-error" v-if="errors.has('{{$locale}}[description]')">@{{ errors.first('{!!$locale!!}[description]') }}</span>
</div>
</script>