sarga/packages/Webkul/Velocity/src/Resources/views/admin/meta-info/meta-data.blade.php

373 lines
17 KiB
PHP

@extends('admin::layouts.content')
@section('page_title')
{{ __('velocity::app.admin.meta-data.title') }}
@stop
@php
$locale = request()->get('locale') ?: app()->getLocale();
$channel = request()->get('channel') ?: core()->getCurrentChannelCode();
@endphp
@section('content')
<div class="content">
<form
method="POST"
@submit.prevent="onSubmit"
enctype="multipart/form-data"
@if ($metaData)
action="{{ route('velocity.admin.store.meta-data', ['id' => $metaData->id]) }}"
@else
action="{{ route('velocity.admin.store.meta-data', ['id' => 'new']) }}"
@endif
>
@csrf
<div class="page-header">
<div class="page-title">
<h1>{{ __('velocity::app.admin.meta-data.title') }}</h1>
</div>
<input type="hidden" name="locale" value="{{ $locale }}" />
<input type="hidden" name="channel" value="{{ $channel }}" />
<div class="control-group">
<select class="control" id="channel-switcher" name="channel">
@foreach (core()->getAllChannels() as $channelModel)
<option
value="{{ $channelModel->code }}" {{ ($channelModel->code) == $channel ? 'selected' : '' }}>
{{ $channelModel->name }}
</option>
@endforeach
</select>
</div>
<div class="control-group">
<select class="control" id="locale-switcher" name="locale">
@foreach (app('Webkul\Core\Repositories\ChannelRepository')->findOneByField('code', $channel)->locales as $localeModel)
<option
value="{{ $localeModel->code }}" {{ ($localeModel->code) == $locale ? 'selected' : '' }}>
{{ $localeModel->name }}
</option>
@endforeach
</select>
</div>
<div class="page-action">
<button type="submit" class="btn btn-lg btn-primary">
{{ __('velocity::app.admin.meta-data.update-meta-data') }}
</button>
</div>
</div>
<accordian :title="'{{ __('velocity::app.admin.meta-data.general') }}'" :active="true">
<div slot="body">
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.activate-slider') }}</label>
<label class="switch">
<input
id="slides"
name="slides"
type="checkbox"
class="control"
data-vv-as="&quot;slides&quot;"
{{ $metaData && $metaData->slider ? 'checked' : ''}} />
<span class="slider round"></span>
</label>
</div>
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.sidebar-categories') }}</label>
<input
type="number"
min="0"
class="control"
id="sidebar_category_count"
name="sidebar_category_count"
value="{{ $metaData ? $metaData->sidebar_category_count : '10' }}" />
</div>
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.header_content_count') }}</label>
<input
type="number"
min="0"
class="control"
id="header_content_count"
name="header_content_count"
value="{{ $metaData ? $metaData->header_content_count : '5' }}" />
</div>
<div class="control-group">
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.home-page-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : $channel }} - {{ $metaData ? $metaData->locale : $locale }}]</span>
</label>
<textarea
class="control"
id="home_page_content"
name="home_page_content">
{{ $metaData ? $metaData->home_page_content : '' }}
</textarea>
</div>
<div class="control-group">
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.product-policy') }}
<span class="locale">[{{ $metaData ? $metaData->channel : $channel }} - {{ $metaData ? $metaData->locale : $locale }}]</span>
</label>
<textarea
class="control"
id="product-policy"
name="product_policy">
{{ $metaData ? $metaData->product_policy : '' }}
</textarea>
</div>
</div>
</accordian>
<accordian :title="'{{ __('velocity::app.admin.meta-data.images') }}'" :active="false">
<div slot="body">
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.advertisement-four') }}</label>
@php
$images = [
4 => [],
3 => [],
2 => [],
];
$index = 0;
foreach ($metaData->get('locale')->all() as $key => $value) {
if ($value->locale == $locale) {
$index = $key;
}
}
$advertisement = json_decode($metaData->get('advertisement')->all()[$index]->advertisement, true);
@endphp
@if(! isset($advertisement[4]) || ! count($advertisement[4]))
@php
$images[4][] = [
'id' => 'image_1',
'url' => asset('/themes/velocity/assets/images/big-sale-banner.webp'),
];
$images[4][] = [
'id' => 'image_2',
'url' => asset('/themes/velocity/assets/images/seasons.webp'),
];
$images[4][] = [
'id' => 'image_3',
'url' => asset('/themes/velocity/assets/images/deals.webp'),
];
$images[4][] = [
'id' => 'image_4',
'url' => asset('/themes/velocity/assets/images/kids.webp'),
];
@endphp
<image-wrapper
:multiple="true"
input-name="images[4]"
:images='@json($images[4])'
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@else
@foreach ($advertisement[4] as $index => $image)
@php
$images[4][] = [
'id' => 'image_' . $index,
'url' => asset('/storage/' . $image),
];
@endphp
@endforeach
<image-wrapper
:multiple="true"
input-name="images[4]"
:images='@json($images[4])'
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@endif
</div>
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.advertisement-three') }}</label>
@if(! isset($advertisement[3]) || ! count($advertisement[3]))
@php
$images[3][] = [
'id' => 'image_1',
'url' => asset('/themes/velocity/assets/images/headphones.webp'),
];
$images[3][] = [
'id' => 'image_2',
'url' => asset('/themes/velocity/assets/images/watch.webp'),
];
$images[3][] = [
'id' => 'image_3',
'url' => asset('/themes/velocity/assets/images/kids-2.webp'),
];
@endphp
<image-wrapper
input-name="images[3]"
:images='@json($images[3])'
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@else
@foreach ($advertisement[3] as $index => $image)
@php
$images[3][] = [
'id' => 'image_' . $index,
'url' => asset('/storage/' . $image),
];
@endphp
@endforeach
<image-wrapper
input-name="images[3]"
:images='@json($images[3])'
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@endif
</div>
<div class="control-group">
<label>{{ __('velocity::app.admin.meta-data.advertisement-two') }}</label>
@if(! isset($advertisement[2]) || ! count($advertisement[2]))
@php
$images[2][] = [
'id' => 'image_1',
'url' => asset('/themes/velocity/assets/images/toster.webp'),
];
$images[2][] = [
'id' => 'image_2',
'url' => asset('/themes/velocity/assets/images/trimmer.webp'),
];
@endphp
<image-wrapper
input-name="images[2]"
:images='@json($images[2])'
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@else
@foreach ($advertisement[2] as $index => $image)
@php
$images[2][] = [
'id' => 'image_' . $index,
'url' => asset('/storage/' . $image),
];
@endphp
@endforeach
<image-wrapper
input-name="images[2]"
:images='@json($images[2])'
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
</image-wrapper>
@endif
</div>
</div>
</accordian>
<accordian :title="'{{ __('velocity::app.admin.meta-data.footer') }}'" :active="false">
<div slot="body">
<div class="control-group">
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.subscription-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : $channel }} - {{ $metaData ? $metaData->locale : $locale }}]</span>
</label>
<textarea
class="control"
id="subscription_bar_content"
name="subscription_bar_content">
{{ $metaData ? $metaData->subscription_bar_content : '' }}
</textarea>
</div>
<div class="control-group">
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.footer-left-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : $channel }} - {{ $metaData ? $metaData->locale : $locale }}]</span>
</label>
<textarea
class="control"
id="footer_left_content"
name="footer_left_content">
{{ $metaData ? $metaData->footer_left_content : '' }}
</textarea>
</div>
<div class="control-group">
<label style="width:100%;">
{{ __('velocity::app.admin.meta-data.footer-middle-content') }}
<span class="locale">[{{ $metaData ? $metaData->channel : $channel }} - {{ $metaData ? $metaData->locale : $locale }}]</span>
</label>
<textarea
class="control"
id="footer_middle_content"
name="footer_middle_content">
{{ $metaData ? $metaData->footer_middle_content : '' }}
</textarea>
</div>
</div>
</accordian>
</form>
</div>
@stop
@push('scripts')
<script src="{{ asset('vendor/webkul/admin/assets/js/tinyMCE/tinymce.min.js') }}"></script>
<script type="text/javascript">
$(document).ready(function () {
tinymce.init({
height: 200,
width: "100%",
image_advtab: true,
valid_elements : '*[*]',
selector: 'textarea#home_page_content,textarea#footer_left_content,textarea#subscription_bar_content,textarea#footer_middle_content,textarea#product-policy',
plugins: 'image imagetools media wordcount save fullscreen code',
toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat | code',
});
$('#channel-switcher, #locale-switcher').on('change', function (e) {
$('#channel-switcher').val()
if (event.target.id == 'channel-switcher') {
let locale = "{{ app('Webkul\Core\Repositories\ChannelRepository')->findOneByField('code', $channel)->locales->first()->code }}";
$('#locale-switcher').val(locale);
}
var query = '?channel=' + $('#channel-switcher').val() + '&locale=' + $('#locale-switcher').val();
window.location.href = "{{ route('velocity.admin.meta-data') }}" + query;
})
});
</script>
@endpush