Added the cms pages create and edit form in two separate accordian one for design and one for seo

This commit is contained in:
Prashant Singh 2019-08-27 10:27:46 +05:30
parent a18bf91728
commit 0e048f6dcb
4 changed files with 113 additions and 96 deletions

View File

@ -48,6 +48,7 @@ It packs in lots of demanding features that allows your business to scale in no
* Customer Cart, Wishlist, Product Reviews. * Customer Cart, Wishlist, Product Reviews.
* Simple and Configurable Products. * Simple and Configurable Products.
* Price rules (Discount) inbuilt. * Price rules (Discount) inbuilt.
* CMS Pages.
* Check out [click here](https://bagisto.com/features/). * Check out [click here](https://bagisto.com/features/).
**For Developers**: **For Developers**:

View File

@ -991,6 +991,8 @@ return [
'cms' => [ 'cms' => [
'pages' => [ 'pages' => [
'general' => 'General',
'seo' => 'SEO',
'pages' => 'Page', 'pages' => 'Page',
'title' => 'pages', 'title' => 'pages',
'add-title' => 'Add Page', 'add-title' => 'Add Page',

View File

@ -28,91 +28,98 @@
<div class="form-container"> <div class="form-container">
@csrf() @csrf()
<accordian :title="'{{ __('admin::app.cms.pages.general') }}'" :active="true">
<div slot="body">
<div class="control-group" :class="[errors.has('page_title') ? 'has-error' : '']">
<label for="page_title" class="required">{{ __('admin::app.cms.pages.page-title') }}</label>
<div class="control-group" :class="[errors.has('page_title') ? 'has-error' : '']"> <input type="text" class="control" name="page_title" v-validate="'required'" value="{{ old('page_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.page-title') }}&quot;">
<label for="page_title" class="required">{{ __('admin::app.cms.pages.page-title') }}</label>
<input type="text" class="control" name="page_title" v-validate="'required'" value="{{ old('page_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.page-title') }}&quot;"> <span class="control-error" v-if="errors.has('page_title')">@{{ errors.first('page_title') }}</span>
</div>
<span class="control-error" v-if="errors.has('page_title')">@{{ errors.first('page_title') }}</span> <div class="control-group" :class="[errors.has('url_key') ? 'has-error' : '']">
</div> <label for="url-key" class="required">{{ __('admin::app.cms.pages.url-key') }}</label>
<div class="control-group" :class="[errors.has('url_key') ? 'has-error' : '']"> <input type="text" class="control" name="url_key" v-validate="'required'" value="{{ old('url-key') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.url-key') }}&quot;" v-slugify>
<label for="url-key" class="required">{{ __('admin::app.cms.pages.url-key') }}</label>
<input type="text" class="control" name="url_key" v-validate="'required'" value="{{ old('url-key') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.url-key') }}&quot;" v-slugify> <span class="control-error" v-if="errors.has('url_key')">@{{ errors.first('url_key') }}</span>
</div>
<span class="control-error" v-if="errors.has('url_key')">@{{ errors.first('url_key') }}</span> @inject('channels', 'Webkul\Core\Repositories\ChannelRepository')
</div> @inject('locales', 'Webkul\Core\Repositories\LocaleRepository')
@inject('channels', 'Webkul\Core\Repositories\ChannelRepository') <div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']">
@inject('locales', 'Webkul\Core\Repositories\LocaleRepository') <label for="url-key" class="required">{{ __('admin::app.cms.pages.channel') }}</label>
<div class="control-group" :class="[errors.has('channels[]') ? 'has-error' : '']"> <select type="text" class="control" name="channels[]" v-validate="'required'" value="{{ old('channel[]') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.channel') }}&quot;" multiple="multiple">
<label for="url-key" class="required">{{ __('admin::app.cms.pages.channel') }}</label> @foreach($channels->all() as $channel)
<option value="{{ $channel->id }}">{{ $channel->name }}</option>
@endforeach
</select>
<select type="text" class="control" name="channels[]" v-validate="'required'" value="{{ old('channel[]') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.channel') }}&quot;" multiple="multiple"> <span class="control-error" v-if="errors.has('channels[]')">@{{ errors.first('channels[]') }}</span>
@foreach($channels->all() as $channel) </div>
<option value="{{ $channel->id }}">{{ $channel->name }}</option>
@endforeach
</select>
<span class="control-error" v-if="errors.has('channels[]')">@{{ errors.first('channels[]') }}</span> <div class="control-group" :class="[errors.has('locales[]') ? 'has-error' : '']">
</div> <label for="url-key" class="required">{{ __('admin::app.cms.pages.locale') }}</label>
<div class="control-group" :class="[errors.has('locales[]') ? 'has-error' : '']"> <select type="text" class="control" name="locales[]" v-validate="'required'" value="{{ old('locale[]') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.locale') }}&quot;" multiple="multiple">
<label for="url-key" class="required">{{ __('admin::app.cms.pages.locale') }}</label> @foreach($locales->all() as $locale)
<option value="{{ $locale->id }}">{{ $locale->name }}</option>
@endforeach
</select>
<select type="text" class="control" name="locales[]" v-validate="'required'" value="{{ old('locale[]') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.locale') }}&quot;" multiple="multiple"> <span class="control-error" v-if="errors.has('locales[]')">@{{ errors.first('locales[]') }}</span>
@foreach($locales->all() as $locale) </div>
<option value="{{ $locale->id }}">{{ $locale->name }}</option>
@endforeach
</select>
<span class="control-error" v-if="errors.has('locales[]')">@{{ errors.first('locales[]') }}</span> <div class="control-group" :class="[errors.has('html_content') ? 'has-error' : '']">
</div> <label for="html_content" class="required">{{ __('admin::app.cms.pages.content') }}</label>
<div class="control-group" :class="[errors.has('html_content') ? 'has-error' : '']"> <textarea type="text" class="control" id="content" name="html_content" v-validate="'required'" value="{{ old('html_content') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.content') }}&quot;"></textarea>
<label for="html_content" class="required">{{ __('admin::app.cms.pages.content') }}</label>
<textarea type="text" class="control" id="content" name="html_content" v-validate="'required'" value="{{ old('html_content') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.content') }}&quot;"></textarea> {!! __('admin::app.cms.pages.one-col') !!}
{!! __('admin::app.cms.pages.two-col') !!}
{!! __('admin::app.cms.pages.three-col') !!}
{!! __('admin::app.cms.pages.one-col') !!} <div class="mt-10 mb-10">
{!! __('admin::app.cms.pages.two-col') !!} <a target="_blank" href="{{ route('ui.helper.classes') }}" class="btn btn-sm btn-primary">
{!! __('admin::app.cms.pages.three-col') !!} {{ __('admin::app.cms.pages.helper-classes') }}
</a>
</div>
<div class="mt-10 mb-10"> <span class="control-error" v-if="errors.has('html_content')">@{{ errors.first('html_content') }}</span>
<a target="_blank" href="{{ route('ui.helper.classes') }}" class="btn btn-sm btn-primary"> </div>
{{ __('admin::app.cms.pages.helper-classes') }}
</a>
</div> </div>
</accordian>
<span class="control-error" v-if="errors.has('html_content')">@{{ errors.first('html_content') }}</span> <accordian :title="'{{ __('admin::app.cms.pages.seo') }}'" :active="true">
</div> <div slot="body">
<div class="control-group" :class="[errors.has('meta_title') ? 'has-error' : '']">
<label for="meta_title" class="required">{{ __('admin::app.cms.pages.meta_title') }}</label>
<div class="control-group" :class="[errors.has('meta_title') ? 'has-error' : '']"> <input type="text" class="control" name="meta_title" v-validate="'required'" value="{{ old('meta_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_title') }}&quot;">
<label for="meta_title" class="required">{{ __('admin::app.cms.pages.meta_title') }}</label>
<input type="text" class="control" name="meta_title" v-validate="'required'" value="{{ old('meta_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_title') }}&quot;"> <span class="control-error" v-if="errors.has('meta_title')">@{{ errors.first('meta_title') }}</span>
</div>
<span class="control-error" v-if="errors.has('meta_title')">@{{ errors.first('meta_title') }}</span> <div class="control-group" :class="[errors.has('meta_keywords') ? 'has-error' : '']">
</div> <label for="meta_keywords" class="required">{{ __('admin::app.cms.pages.meta_keywords') }}</label>
<div class="control-group" :class="[errors.has('meta_keywords') ? 'has-error' : '']"> <textarea type="text" class="control" name="meta_keywords" v-validate="'required'" value="{{ old('meta_keywords') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_keywords') }}&quot;"></textarea>
<label for="meta_keywords" class="required">{{ __('admin::app.cms.pages.meta_keywords') }}</label>
<textarea type="text" class="control" name="meta_keywords" v-validate="'required'" value="{{ old('meta_keywords') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_keywords') }}&quot;"></textarea> <span class="control-error" v-if="errors.has('meta_keywords')">@{{ errors.first('meta_keywords') }}</span>
</div>
<span class="control-error" v-if="errors.has('meta_keywords')">@{{ errors.first('meta_keywords') }}</span> <div class="control-group" :class="[errors.has('meta_description') ? 'has-error' : '']">
</div> <label for="meta_description">{{ __('admin::app.cms.pages.meta_description') }}</label>
<div class="control-group" :class="[errors.has('meta_description') ? 'has-error' : '']"> <textarea type="text" class="control" name="meta_description" value="{{ old('meta_description') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_description') }}&quot;"></textarea>
<label for="meta_description">{{ __('admin::app.cms.pages.meta_description') }}</label>
<textarea type="text" class="control" name="meta_description" value="{{ old('meta_description') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_description') }}&quot;"></textarea> <span class="control-error" v-if="errors.has('meta_description')">@{{ errors.first('meta_description') }}</span>
</div>
<span class="control-error" v-if="errors.has('meta_description')">@{{ errors.first('meta_description') }}</span> </div>
</div> </accordian>
</div> </div>
</div> </div>
</form> </form>

View File

@ -32,64 +32,71 @@
<div class="form-container"> <div class="form-container">
@csrf() @csrf()
<accordian :title="'{{ __('admin::app.cms.pages.general') }}'" :active="true">
<div slot="body">
<div class="control-group" :class="[errors.has('page_title') ? 'has-error' : '']">
<label for="page_title" class="required">{{ __('admin::app.cms.pages.page-title') }}</label>
<div class="control-group" :class="[errors.has('page_title') ? 'has-error' : '']"> <input type="text" class="control" name="page_title" v-validate="'required'" value="{{ $page->page_title ?? old('page_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.page-title') }}&quot;">
<label for="page_title" class="required">{{ __('admin::app.cms.pages.page-title') }}</label>
<input type="text" class="control" name="page_title" v-validate="'required'" value="{{ $page->page_title ?? old('page_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.page-title') }}&quot;"> <span class="control-error" v-if="errors.has('page_title')">@{{ errors.first('page_title') }}</span>
</div>
<span class="control-error" v-if="errors.has('page_title')">@{{ errors.first('page_title') }}</span> <div class="control-group" :class="[errors.has('url_key') ? 'has-error' : '']">
</div> <label for="url-key" class="required">{{ __('admin::app.cms.pages.url-key') }}</label>
<div class="control-group" :class="[errors.has('url_key') ? 'has-error' : '']"> <input type="text" class="control" name="url_key" v-validate="'required'" value="{{ $page->url_key ?? old('url_key') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.url-key') }}&quot;" disabled>
<label for="url-key" class="required">{{ __('admin::app.cms.pages.url-key') }}</label>
<input type="text" class="control" name="url_key" v-validate="'required'" value="{{ $page->url_key ?? old('url_key') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.url-key') }}&quot;" disabled> <span class="control-error" v-if="errors.has('url_key')">@{{ errors.first('url_key') }}</span>
</div>
<span class="control-error" v-if="errors.has('url_key')">@{{ errors.first('url_key') }}</span> <div class="control-group" :class="[errors.has('html_content') ? 'has-error' : '']">
</div> <label for="html_content" class="required">{{ __('admin::app.cms.pages.content') }}</label>
<div class="control-group" :class="[errors.has('html_content') ? 'has-error' : '']"> <textarea type="text" class="control" id="content" name="html_content" v-validate="'required'" data-vv-as="&quot;{{ __('admin::app.cms.pages.content') }}&quot;">{{ $page->html_content ?? old('html_content') }}</textarea>
<label for="html_content" class="required">{{ __('admin::app.cms.pages.content') }}</label>
<textarea type="text" class="control" id="content" name="html_content" v-validate="'required'" data-vv-as="&quot;{{ __('admin::app.cms.pages.content') }}&quot;">{{ $page->html_content ?? old('html_content') }}</textarea> {!! __('admin::app.cms.pages.one-col') !!}
{!! __('admin::app.cms.pages.two-col') !!}
{!! __('admin::app.cms.pages.three-col') !!}
{!! __('admin::app.cms.pages.one-col') !!} <div class="mt-10 mb-10">
{!! __('admin::app.cms.pages.two-col') !!} <a target="_blank" href="{{ route('ui.helper.classes') }}" class="btn btn-sm btn-primary">
{!! __('admin::app.cms.pages.three-col') !!} {{ __('admin::app.cms.pages.helper-classes') }}
</a>
</div>
<div class="mt-10 mb-10"> <span class="control-error" v-if="errors.has('html_content')">@{{ errors.first('html_content') }}</span>
<a target="_blank" href="{{ route('ui.helper.classes') }}" class="btn btn-sm btn-primary"> </div>
{{ __('admin::app.cms.pages.helper-classes') }}
</a>
</div> </div>
</accordian>
<span class="control-error" v-if="errors.has('html_content')">@{{ errors.first('html_content') }}</span> <accordian :title="'{{ __('admin::app.cms.pages.seo') }}'" :active="true">
</div> <div slot="body">
<div class="control-group" :class="[errors.has('meta_title') ? 'has-error' : '']">
<label for="meta_title" class="required">{{ __('admin::app.cms.pages.meta_title') }}</label>
<div class="control-group" :class="[errors.has('meta_title') ? 'has-error' : '']"> <input type="text" class="control" name="meta_title" v-validate="'required'" value="{{ $page->meta_title ?? old('meta_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_title') }}&quot;">
<label for="meta_title" class="required">{{ __('admin::app.cms.pages.meta_title') }}</label>
<input type="text" class="control" name="meta_title" v-validate="'required'" value="{{ $page->meta_title ?? old('meta_title') }}" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_title') }}&quot;"> <span class="control-error" v-if="errors.has('meta_title')">@{{ errors.first('meta_title') }}</span>
</div>
<span class="control-error" v-if="errors.has('meta_title')">@{{ errors.first('meta_title') }}</span> <div class="control-group" :class="[errors.has('meta_keywords') ? 'has-error' : '']">
</div> <label for="meta_keywords" class="required">{{ __('admin::app.cms.pages.meta_keywords') }}</label>
<div class="control-group" :class="[errors.has('meta_keywords') ? 'has-error' : '']"> <textarea type="text" class="control" name="meta_keywords" v-validate="'required'" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_keywords') }}&quot;">{{ $page->meta_keywords ?? old('meta_keywords') }}</textarea>
<label for="meta_keywords" class="required">{{ __('admin::app.cms.pages.meta_keywords') }}</label>
<textarea type="text" class="control" name="meta_keywords" v-validate="'required'" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_keywords') }}&quot;">{{ $page->meta_keywords ?? old('meta_keywords') }}</textarea> <span class="control-error" v-if="errors.has('meta_keywords')">@{{ errors.first('meta_keywords') }}</span>
</div>
<span class="control-error" v-if="errors.has('meta_keywords')">@{{ errors.first('meta_keywords') }}</span> <div class="control-group" :class="[errors.has('meta_description') ? 'has-error' : '']">
</div> <label for="meta_description">{{ __('admin::app.cms.pages.meta_description') }}</label>
<div class="control-group" :class="[errors.has('meta_description') ? 'has-error' : '']"> <textarea type="text" class="control" name="meta_description" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_description') }}&quot;">{{ $page->meta_description ?? old('meta_description') }}</textarea>
<label for="meta_description">{{ __('admin::app.cms.pages.meta_description') }}</label>
<textarea type="text" class="control" name="meta_description" data-vv-as="&quot;{{ __('admin::app.cms.pages.meta_description') }}&quot;">{{ $page->meta_description ?? old('meta_description') }}</textarea> <span class="control-error" v-if="errors.has('meta_description')">@{{ errors.first('meta_description') }}</span>
</div>
<span class="control-error" v-if="errors.has('meta_description')">@{{ errors.first('meta_description') }}</span> </div>
</div> </accordian>
</div> </div>
</div> </div>
</form> </form>