添加一些图片配置等
This commit is contained in:
parent
c76a81cdda
commit
060f10e5ac
|
|
@ -35,6 +35,10 @@ class CustomerController extends Controller
|
|||
'customer_groups' => CustomerGroupDetail::collection(CustomerGroupRepo::list())->jsonSerialize(),
|
||||
];
|
||||
|
||||
if ($request->expectsJson()) {
|
||||
return json_success('成功', $data);
|
||||
}
|
||||
|
||||
return view('admin::pages.customers.index', $data);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -7,13 +7,13 @@ use Illuminate\View\Component;
|
|||
class Image extends Component
|
||||
{
|
||||
public string $name;
|
||||
public string $image;
|
||||
public string $title;
|
||||
public string $value;
|
||||
|
||||
public function __construct(string $name, ?string $image, ?string $value)
|
||||
public function __construct(string $name, ?string $title, ?string $value)
|
||||
{
|
||||
$this->name = $name;
|
||||
$this->image = $image ?? '';
|
||||
$this->title = $title ?? '';
|
||||
$this->value = $value ?? '';
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2075,7 +2075,19 @@ var base = document.querySelector('base').href;
|
|||
var asset = document.querySelector('meta[name="asset"]').content;
|
||||
var editor_language = ((_document$querySelect = document.querySelector('meta[name="editor_language"]')) === null || _document$querySelect === void 0 ? void 0 : _document$querySelect.content) || 'zh_cn';
|
||||
$(document).on('click', '.open-file-manager', function (event) {
|
||||
bk.fileManagerIframe();
|
||||
var _this = this;
|
||||
|
||||
bk.fileManagerIframe(function (images) {
|
||||
if (!$(_this).find('img').length) {
|
||||
$(_this).append('<img src="' + images[0].url + '" class="img-fluid">');
|
||||
$(_this).find('i').remove();
|
||||
} else {
|
||||
$(_this).find('img').prop('src', images[0].url);
|
||||
}
|
||||
|
||||
$(_this).next('input').val(images[0].path);
|
||||
$(_this).next('input')[0].dispatchEvent(new Event('input'));
|
||||
});
|
||||
});
|
||||
|
||||
if (typeof Vue != 'undefined') {
|
||||
|
|
@ -2117,7 +2129,7 @@ var tinymceInit = function tinymceInit() {
|
|||
height: 400,
|
||||
plugins: "link lists fullscreen table hr wordcount image imagetools code",
|
||||
menubar: "",
|
||||
toolbar: "undo redo | toolbarImageButton | bold italic underline strikethrough | forecolor backcolor | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatpainter removeformat | charmap emoticons | preview | template link anchor table toolbarImageUrlButton | fullscreen code",
|
||||
toolbar: "undo redo | toolbarImageButton | lineheight | bold italic underline strikethrough | forecolor backcolor | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatpainter removeformat | charmap emoticons | preview | template link anchor table toolbarImageUrlButton | fullscreen code",
|
||||
// contextmenu: "link image imagetools table",
|
||||
toolbar_items_size: 'small',
|
||||
image_caption: true,
|
||||
|
|
@ -2166,7 +2178,6 @@ __webpack_require__.r(__webpack_exports__);
|
|||
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
|
||||
fileManagerIframe: function fileManagerIframe(callback) {
|
||||
var base = document.querySelector('base').href;
|
||||
var $this = $(this);
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '图片管理器',
|
||||
|
|
@ -2180,10 +2191,7 @@ __webpack_require__.r(__webpack_exports__);
|
|||
var iframeWindow = window[layerInstance.find("iframe")[0]["name"]];
|
||||
|
||||
iframeWindow.callback = function (images) {
|
||||
if (callback && typeof callback === "function") return callback(images);
|
||||
$this.find('img').prop('src', images[0].url);
|
||||
$this.next('input').val(images[0].path);
|
||||
$this.next('input')[0].dispatchEvent(new Event('input'));
|
||||
callback(images);
|
||||
};
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -365,6 +365,10 @@ body[class^=page-account-] {
|
|||
background: #FD560F;
|
||||
}
|
||||
|
||||
.tinymce-format-p p {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.steps-wrap {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
|
@ -525,8 +529,8 @@ header .header-content .menu-wrap .nav-link {
|
|||
padding-right: 1rem;
|
||||
}
|
||||
header .header-content .logo img {
|
||||
max-width: 140px;
|
||||
max-height: 30px;
|
||||
max-width: 180px;
|
||||
max-height: 50px;
|
||||
}
|
||||
header .header-content .right-btn .nav-link {
|
||||
color: #333;
|
||||
|
|
@ -634,13 +638,7 @@ footer .footer-content .text {
|
|||
color: #666666;
|
||||
}
|
||||
footer .footer-content h6 {
|
||||
font-weight: bold;
|
||||
}
|
||||
footer .footer-content .list-unstyled {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
footer .footer-content .list-unstyled li {
|
||||
line-height: 26px;
|
||||
font-size: 14px;
|
||||
}
|
||||
footer .footer-bottom {
|
||||
height: 60px;
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
|
|
@ -9,7 +9,16 @@ const asset = document.querySelector('meta[name="asset"]').content;
|
|||
const editor_language = document.querySelector('meta[name="editor_language"]')?.content || 'zh_cn';
|
||||
|
||||
$(document).on('click', '.open-file-manager', function(event) {
|
||||
bk.fileManagerIframe();
|
||||
bk.fileManagerIframe(images => {
|
||||
if (!$(this).find('img').length) {
|
||||
$(this).append('<img src="' + images[0].url + '" class="img-fluid">');
|
||||
$(this).find('i').remove()
|
||||
} else {
|
||||
$(this).find('img').prop('src', images[0].url);
|
||||
}
|
||||
$(this).next('input').val(images[0].path)
|
||||
$(this).next('input')[0].dispatchEvent(new Event('input'));
|
||||
});
|
||||
});
|
||||
|
||||
if (typeof Vue != 'undefined') {
|
||||
|
|
@ -50,7 +59,7 @@ const tinymceInit = () => {
|
|||
height: 400,
|
||||
plugins: "link lists fullscreen table hr wordcount image imagetools code",
|
||||
menubar: "",
|
||||
toolbar: "undo redo | toolbarImageButton | bold italic underline strikethrough | forecolor backcolor | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatpainter removeformat | charmap emoticons | preview | template link anchor table toolbarImageUrlButton | fullscreen code",
|
||||
toolbar: "undo redo | toolbarImageButton | lineheight | bold italic underline strikethrough | forecolor backcolor | fontselect fontsizeselect formatselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatpainter removeformat | charmap emoticons | preview | template link anchor table toolbarImageUrlButton | fullscreen code",
|
||||
// contextmenu: "link image imagetools table",
|
||||
toolbar_items_size: 'small',
|
||||
image_caption: true,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
export default {
|
||||
fileManagerIframe(callback) {
|
||||
const base = document.querySelector('base').href;
|
||||
const $this = $(this);
|
||||
|
||||
layer.open({
|
||||
type: 2,
|
||||
|
|
@ -15,11 +14,7 @@ export default {
|
|||
success: function(layerInstance, index) {
|
||||
var iframeWindow = window[layerInstance.find("iframe")[0]["name"]];
|
||||
iframeWindow.callback = function(images) {
|
||||
if (callback && typeof(callback) === "function") return callback(images);
|
||||
|
||||
$this.find('img').prop('src', images[0].url);
|
||||
$this.next('input').val(images[0].path)
|
||||
$this.next('input')[0].dispatchEvent(new Event('input'));
|
||||
callback(images);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,12 +1,11 @@
|
|||
@if (0)
|
||||
<div class="open-file-manager">
|
||||
<div>
|
||||
@if ($image)
|
||||
<img src="{{ image_resize($image) }}" class="img-fluid">
|
||||
<x-admin::form.row :title="$title">
|
||||
<div class="open-file-manager bg-light wh-80 border d-flex justify-content-center align-items-center me-2 mb-2 position-relative">
|
||||
@if ($value)
|
||||
<img src="{{ image_resize($value) }}" class="img-fluid">
|
||||
@else
|
||||
<i class="bi bi-plus fs-1 text-muted"></i>
|
||||
<i class="bi bi-plus fs-1 text-muted"></i>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<input type="hidden" value="{{ $value }}" name="{{ $name }}">
|
||||
@endif
|
||||
<input type="hidden" value="{{ $value }}" name="{{ $name }}">
|
||||
{{ $slot }}
|
||||
</x-admin::form.row>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
@extends('admin::layouts.master')
|
||||
|
||||
@section('title', '顾客管理')
|
||||
@section('title', '客户管理')
|
||||
|
||||
@section('content')
|
||||
<div id="customer-app" class="card" v-cloak>
|
||||
<div class="card-body">
|
||||
<div class="d-flex justify-content-between mb-4">
|
||||
<button type="button" class="btn btn-primary" @click="checkedCustomersCreate">创建顾客</button>
|
||||
<button type="button" class="btn btn-primary" @click="checkedCustomersCreate">创建客户</button>
|
||||
</div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
|
|
@ -42,10 +42,11 @@
|
|||
</tbody>
|
||||
</table>
|
||||
|
||||
{{-- {{ $customers->links('admin::vendor/pagination/bootstrap-4') }} --}}
|
||||
<el-pagination layout="prev, pager, next" background :page-size="customers.per_page" :current-page.sync="page"
|
||||
:total="customers.total"></el-pagination>
|
||||
</div>
|
||||
|
||||
<el-dialog title="创建顾客" :visible.sync="dialogCustomers.show" width="600px"
|
||||
<el-dialog title="创建客户" :visible.sync="dialogCustomers.show" width="600px"
|
||||
@close="closeCustomersDialog('form')" :close-on-click-modal="false">
|
||||
<el-form ref="form" :rules="rules" :model="dialogCustomers.form" label-width="100px">
|
||||
<el-form-item label="用户名" prop="name">
|
||||
|
|
@ -82,6 +83,7 @@
|
|||
el: '#customer-app',
|
||||
|
||||
data: {
|
||||
page: 1,
|
||||
customers: @json($customers ?? []),
|
||||
|
||||
source: {
|
||||
|
|
@ -110,11 +112,22 @@
|
|||
}
|
||||
},
|
||||
|
||||
beforeMount() {
|
||||
|
||||
watch: {
|
||||
page: function() {
|
||||
this.loadData();
|
||||
},
|
||||
},
|
||||
|
||||
// mounted: function() {
|
||||
// },
|
||||
|
||||
methods: {
|
||||
loadData() {
|
||||
$http.get(`customers?page=${this.page}`).then((res) => {
|
||||
this.customers = res.data.customers;
|
||||
})
|
||||
},
|
||||
|
||||
checkedCustomersCreate() {
|
||||
this.dialogCustomers.show = true
|
||||
},
|
||||
|
|
|
|||
|
|
@ -139,6 +139,10 @@
|
|||
],
|
||||
static: [
|
||||
{name: '个人中心', value: 'account.index'},
|
||||
{name: '收藏列表', value: 'account.wishlist.index'},
|
||||
{name: '历史订单', value: 'account.order.index'},
|
||||
// {name: '最新商品', value: 'account.index'},
|
||||
{name: '品牌列表', value: 'brands.index'},
|
||||
],
|
||||
link: null,
|
||||
keyword: '',
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ Vue.component('rich-text-i18n', {
|
|||
height: 300,
|
||||
plugins: "link lists fullscreen table hr wordcount image imagetools code",
|
||||
menubar: "",
|
||||
toolbar: "undo redo | toolbarImageButton | bold italic underline strikethrough | forecolor backcolor | fontselect fontsizeselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatpainter removeformat | charmap emoticons | preview | template link anchor | code",
|
||||
toolbar: "undo redo | toolbarImageButton | lineheight | bold italic underline strikethrough | forecolor backcolor | fontselect fontsizeselect | alignleft aligncenter alignright alignjustify | outdent indent | numlist bullist | formatpainter removeformat | charmap emoticons | preview | template link anchor | code",
|
||||
toolbar_items_size: 'small',
|
||||
image_caption: true,
|
||||
toolbar_mode: 'wrap',
|
||||
|
|
|
|||
|
|
@ -186,13 +186,13 @@
|
|||
watch: {},
|
||||
// 组件方法
|
||||
methods: {
|
||||
moduleUpdated(module) {
|
||||
moduleUpdated: bk.debounce(function() {
|
||||
const data = this.form.modules[this.design.editingModuleIndex]
|
||||
|
||||
$http.post('design/builder/preview?design=1', data, {hload: true}).then((res) => {
|
||||
$(previewWindow.document).find('#module-' + data.module_id).replaceWith(res);
|
||||
})
|
||||
},
|
||||
}, 300),
|
||||
|
||||
addModuleButtonClicked(code) {
|
||||
const sourceModule = this.source.modules.find(e => e.code == code)
|
||||
|
|
|
|||
|
|
@ -5,53 +5,83 @@
|
|||
@section('content')
|
||||
<div id="plugins-app-form" class="card h-min-600">
|
||||
<div class="card-body">
|
||||
<h6 class="border-bottom pb-3 mb-4">基础设置</h6>
|
||||
<form action="{{ admin_route('settings.store') }}" method="POST" id="app">
|
||||
@csrf
|
||||
<x-admin::form.row title="默认地址">
|
||||
<div class="d-flex">
|
||||
<div>
|
||||
<select class="form-select wp-200 me-3" name="country_id" aria-label="Default select example">
|
||||
@foreach ($countries as $country)
|
||||
<option
|
||||
value="{{ $country->id }}"
|
||||
{{ $country->id == system_setting('base.country_id', '1') ? 'selected': '' }}>
|
||||
{{ $country->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-text font-size-12 lh-base">默认国家设置</div>
|
||||
</div>
|
||||
<div>
|
||||
<select class="form-select wp-200 zones-select" name="zone_id" aria-label="Default select example"></select>
|
||||
<div class="help-text font-size-12 lh-base">默认省份设置</div>
|
||||
</div>
|
||||
@if (session('success'))
|
||||
<x-admin-alert type="success" msg="{{ session('success') }}" class="mt-4"/>
|
||||
@endif
|
||||
<ul class="nav nav-tabs nav-bordered mb-5" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<a class="nav-link active" data-bs-toggle="tab" href="#tab-general">基础设置</a>
|
||||
</li>
|
||||
<li class="nav-item" role="presentation">
|
||||
<a class="nav-link" data-bs-toggle="tab" href="#tab-image">图片设置</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="tab-content" id="myTabContent">
|
||||
<div class="tab-pane fade show active" id="tab-general">
|
||||
<x-admin::form.row title="默认地址">
|
||||
<div class="d-flex">
|
||||
<div>
|
||||
<select class="form-select wp-200 me-3" name="country_id" aria-label="Default select example">
|
||||
@foreach ($countries as $country)
|
||||
<option
|
||||
value="{{ $country->id }}"
|
||||
{{ $country->id == system_setting('base.country_id', '1') ? 'selected': '' }}>
|
||||
{{ $country->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<div class="help-text font-size-12 lh-base">默认国家设置</div>
|
||||
</div>
|
||||
<div>
|
||||
<select class="form-select wp-200 zones-select" name="zone_id" aria-label="Default select example"></select>
|
||||
<div class="help-text font-size-12 lh-base">默认省份设置</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-admin::form.row>
|
||||
|
||||
<x-admin-form-select title="默认语言" name="locale" :value="old('locale', system_setting('base.locale', 'zh_cn'))" :options="$admin_languages" key="code" label="name">
|
||||
<div class="help-text font-size-12 lh-base">默认语言设置</div>
|
||||
</x-admin-form-select>
|
||||
|
||||
<x-admin-form-select title="默认货币" name="currency" :value="old('currency', system_setting('base.currency', 'USD'))" :options="$currencies->toArray()" key="code" label="name">
|
||||
<div class="help-text font-size-12 lh-base">默认货币设置</div>
|
||||
</x-admin-form-select>
|
||||
|
||||
<x-admin-form-input name="admin_name" title="后台目录" required value="{{ old('admin_name', system_setting('base.admin_name', 'admin')) }}">
|
||||
<div class="help-text font-size-12 lh-base">管理后台目录,默认为admin</div>
|
||||
</x-admin-form-input>
|
||||
|
||||
<x-admin-form-select title="模版主题" name="theme" :value="old('theme', system_setting('base.theme', 'default'))" :options="$themes">
|
||||
<div class="help-text font-size-12 lh-base">主题模板选择</div>
|
||||
</x-admin-form-select>
|
||||
|
||||
<x-admin-form-switch name="tax" title="启用税费" value="{{ old('tax', system_setting('base.tax', '0')) }}">
|
||||
<div class="help-text font-size-12 lh-base">是否启用税费计算</div>
|
||||
</x-admin-form-switch>
|
||||
|
||||
<x-admin-form-select title="税费地址" name="tax_address" :value="old('tax_address', system_setting('base.address', 'shipping'))" :options="$tax_address">
|
||||
<div class="help-text font-size-12 lh-base">按什么地址计算税费</div>
|
||||
</x-admin-form-select>
|
||||
</div>
|
||||
</x-admin::form.row>
|
||||
<div class="tab-pane fade" id="tab-image">
|
||||
<x-admin-form-image name="logo" title="网站 Logo" :value="old('logo', system_setting('base.logo', ''))">
|
||||
<div class="help-text font-size-12 lh-base">网站前台显示 380*100</div>
|
||||
</x-admin-form-image>
|
||||
|
||||
<x-admin-form-select title="默认语言" name="locale" :value="old('locale', system_setting('base.locale', 'zh_cn'))" :options="$admin_languages" key="code" label="name">
|
||||
<div class="help-text font-size-12 lh-base">默认语言设置</div>
|
||||
</x-admin-form-select>
|
||||
|
||||
<x-admin-form-select title="默认货币" name="currency" :value="old('currency', system_setting('base.currency', 'USD'))" :options="$currencies->toArray()" key="code" label="name">
|
||||
<div class="help-text font-size-12 lh-base">默认货币设置</div>
|
||||
</x-admin-form-select>
|
||||
<x-admin-form-image name="favicon" title="favicon" :value="old('web_icon', system_setting('base.web_icon', ''))">
|
||||
<div class="help-text font-size-12 lh-base">显示在浏览器选项卡上的小图标,必须为PNG格式大小为:32*32</div>
|
||||
</x-admin-form-image>
|
||||
|
||||
<x-admin-form-input name="admin_name" title="后台目录" required value="{{ old('admin_name', system_setting('base.admin_name', 'admin')) }}">
|
||||
<div class="help-text font-size-12 lh-base">管理后台目录,默认为admin</div>
|
||||
</x-admin-form-input>
|
||||
<x-admin-form-image name="placeholder" title="网站 Logo" :value="old('placeholder', system_setting('base.placeholder', ''))">
|
||||
<div class="help-text font-size-12 lh-base">无图片或图片未找到时显示的占位图,建议尺寸:500*500</div>
|
||||
</x-admin-form-image>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<x-admin-form-select title="模版主题" name="theme" :value="old('theme', system_setting('base.theme', 'default'))" :options="$themes">
|
||||
<div class="help-text font-size-12 lh-base">主题模板选择</div>
|
||||
</x-admin-form-select>
|
||||
|
||||
<x-admin-form-switch name="tax" title="启用税费" value="{{ old('tax', system_setting('base.tax', '0')) }}">
|
||||
<div class="help-text font-size-12 lh-base">是否启用税费计算</div>
|
||||
</x-admin-form-switch>
|
||||
|
||||
<x-admin-form-select title="税费地址" name="tax_address" :value="old('tax_address', system_setting('base.address', 'shipping'))" :options="$tax_address">
|
||||
<div class="help-text font-size-12 lh-base">按什么地址计算税费</div>
|
||||
</x-admin-form-select>
|
||||
|
||||
<x-admin::form.row title="">
|
||||
<button type="submit" class="btn btn-primary mt-4">提交</button>
|
||||
|
|
|
|||
|
|
@ -60,14 +60,7 @@ footer {
|
|||
}
|
||||
|
||||
h6 {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
margin-bottom: 0;
|
||||
li {
|
||||
line-height: 26px;
|
||||
}
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,6 +97,12 @@ body[class^="page-account-"] {
|
|||
}
|
||||
}
|
||||
|
||||
.tinymce-format-p {
|
||||
p {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.steps-wrap {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
|
|
|||
|
|
@ -56,8 +56,8 @@ header {
|
|||
|
||||
.logo {
|
||||
img {
|
||||
max-width: 140px;
|
||||
max-height: 30px;
|
||||
max-width: 180px;
|
||||
max-height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -13,4 +13,12 @@ return [
|
|||
'login' => 'Login',
|
||||
'new_account' => 'New Account',
|
||||
'index' => 'Account',
|
||||
|
||||
'wishlist' => [
|
||||
'index' => 'Wishlist',
|
||||
],
|
||||
|
||||
'order' => [
|
||||
'index' => 'Order List',
|
||||
]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -10,7 +10,14 @@
|
|||
*/
|
||||
|
||||
return [
|
||||
'login' => 'Login',
|
||||
'new_account' => 'New Account',
|
||||
'index' => '个人中心',
|
||||
'login' => '登录',
|
||||
|
||||
'wishlist' => [
|
||||
'index' => '收藏列表',
|
||||
],
|
||||
|
||||
'order' => [
|
||||
'index' => '订单列表',
|
||||
]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
/**
|
||||
* account.php
|
||||
*
|
||||
* @copyright 2022 opencart.cn - All Rights Reserved
|
||||
* @link http://www.guangdawangluo.com
|
||||
* @author Edward Yang <yangjin@opencart.cn>
|
||||
* @created 2022-08-04 10:59:15
|
||||
* @modified 2022-08-04 10:59:15
|
||||
*/
|
||||
|
||||
return [
|
||||
'index' => '品牌列表',
|
||||
];
|
||||
|
|
@ -26,7 +26,7 @@
|
|||
<div class="footer-content-left">
|
||||
<div class="logo"><a href="http://"><img
|
||||
src="{{ image_origin($footer_content['content']['intro']['logo']) }}" class="img-fluid"></a></div>
|
||||
<div class="text">{!! $footer_content['content']['intro']['text'][$locale] ?? '' !!}</div>
|
||||
<div class="text tinymce-format-p">{!! $footer_content['content']['intro']['text'][$locale] ?? '' !!}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -38,11 +38,13 @@
|
|||
<h6 class="text-uppercase text-dark mb-3">{{ $link['title'][$locale] }}</h6>
|
||||
<ul class="list-unstyled">
|
||||
@foreach ($link['links'] as $item)
|
||||
<li>
|
||||
@if ($item['link'])
|
||||
<li class="lh-lg mb-2">
|
||||
<a href="{{ $item['link'] }}" @if (isset($item['new_window']) && $item['new_window']) target="_blank" @endif>
|
||||
{{ $item['type'] == 'custom' ? $item['text'][$locale] ?? '' : $item['text'] }}
|
||||
</a>
|
||||
</li>
|
||||
@endif
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
|
|
@ -51,13 +53,13 @@
|
|||
<h6 class="text-uppercase text-dark mb-3">联系我们</h6>
|
||||
<ul class="list-unstyled">
|
||||
@if ($footer_content['content']['contact']['email'])
|
||||
<li><i class="bi bi-envelope-fill"></i> {{ $footer_content['content']['contact']['email'] }}</li>
|
||||
<li class="lh-lg mb-2"><i class="bi bi-envelope-fill"></i> {{ $footer_content['content']['contact']['email'] }}</li>
|
||||
@endif
|
||||
@if ($footer_content['content']['contact']['telephone'])
|
||||
<li><i class="bi bi-telephone-fill"></i> {{ $footer_content['content']['contact']['telephone'] }}</li>
|
||||
<li class="lh-lg mb-2"><i class="bi bi-telephone-fill"></i> {{ $footer_content['content']['contact']['telephone'] }}</li>
|
||||
@endif
|
||||
@if ($footer_content['content']['contact']['address'])
|
||||
<li><i class="bi bi-geo-alt-fill"></i> {{ $footer_content['content']['contact']['address'] }}</li>
|
||||
<li class="lh-lg mb-2"><i class="bi bi-geo-alt-fill"></i> {{ $footer_content['content']['contact']['address'] }}</li>
|
||||
@endif
|
||||
</ul>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -44,8 +44,9 @@
|
|||
|
||||
<div class="header-content py-3">
|
||||
<div class="container navbar-expand-lg">
|
||||
<div class="logo"><a href="{{ shop_route('home.index') }}"><img src="{{ asset('image/logo.png') }}"
|
||||
class="img-fluid"></a></div>
|
||||
<div class="logo"><a href="{{ shop_route('home.index') }}">
|
||||
<img src="{{ image_origin(system_setting('base.logo')) }}" class="img-fluid"></a>
|
||||
</div>
|
||||
<div class="menu-wrap">
|
||||
<ul class="navbar-nav mx-auto">
|
||||
@foreach ($categories as $category)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<link rel="stylesheet" type="text/css" href="{{ asset('/build/beike/shop/default/css/bootstrap.css') }}">
|
||||
<script src="{{ asset('vendor/jquery/jquery-3.6.0.min.js') }}"></script>
|
||||
<script src="{{ asset('vendor/layer/3.5.1/layer.js') }}"></script>
|
||||
{{-- <script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.bundle.min.js') }}"></script> --}}
|
||||
<link rel="shortcut icon" href="{{ image_origin(system_setting('base.favicon')) }}">
|
||||
<script src="{{ asset('vendor/bootstrap/5.1.3/js/bootstrap.min.js') }}"></script>
|
||||
<script src="{{ asset('/build/beike/shop/default/js/app.js') }}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{{ asset('/build/beike/shop/default/css/app.css') }}">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
@extends('layout.master')
|
||||
@section('body-class', 'page-pages')
|
||||
@section('title', $page['title'])
|
||||
@section('title', $page['meta_title'] ?: $page['title'])
|
||||
@section('keywords', $page['meta_keyword'])
|
||||
@section('description', $page['meta_description'])
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue