From 7a142b7c6cfafb8f5937c2d8b676d7e01f4f82dd Mon Sep 17 00:00:00 2001 From: pushuo Date: Fri, 3 Feb 2023 16:33:24 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=A8=A1=E5=9D=97=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=20=E5=AF=8C=E6=96=87=E6=9C=AC=E6=A8=A1=E5=9D=97=20->?= =?UTF-8?q?=20https://gitee.com/beikeshop/beikeshop/issues/I61OI4=3Ffrom?= =?UTF-8?q?=3Dproject-issue?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Http/Controllers/DesignController.php | 2 +- beike/Admin/View/DesignBuilders/RichText.php | 44 +++++++++++++++ beike/Services/DesignService.php | 15 +++++ .../pages/design/builder/index.blade.php | 2 + .../pages/design/module/rich_text.blade.php | 55 +++++++++++++++++++ resources/lang/de/admin/design_builder.php | 1 + resources/lang/en/admin/design_builder.php | 15 ++--- resources/lang/es/admin/design_builder.php | 1 + resources/lang/fr/admin/design_builder.php | 1 + resources/lang/it/admin/design_builder.php | 1 + resources/lang/ja/admin/design_builder.php | 1 + resources/lang/ru/admin/design_builder.php | 1 + resources/lang/zh_cn/admin/design_builder.php | 1 + resources/lang/zh_hk/admin/design_builder.php | 1 + themes/default/design/rich_text.blade.php | 7 +++ 15 files changed, 140 insertions(+), 8 deletions(-) create mode 100644 beike/Admin/View/DesignBuilders/RichText.php create mode 100644 resources/beike/admin/views/pages/design/module/rich_text.blade.php create mode 100644 themes/default/design/rich_text.blade.php diff --git a/beike/Admin/Http/Controllers/DesignController.php b/beike/Admin/Http/Controllers/DesignController.php index cb4efe05..b13e3be7 100644 --- a/beike/Admin/Http/Controllers/DesignController.php +++ b/beike/Admin/Http/Controllers/DesignController.php @@ -18,7 +18,7 @@ class DesignController extends Controller public function index(Request $request): View { $data = [ - 'editors' => ['editor-slide_show', 'editor-image401', 'editor-tab_product', 'editor-product', 'editor-image100', 'editor-brand', 'editor-icons'], + 'editors' => ['editor-slide_show', 'editor-image401', 'editor-tab_product', 'editor-product', 'editor-image100', 'editor-brand', 'editor-icons', 'editor-rich_text'], 'design_settings' => system_setting('base.design_setting'), ]; diff --git a/beike/Admin/View/DesignBuilders/RichText.php b/beike/Admin/View/DesignBuilders/RichText.php new file mode 100644 index 00000000..293d5f64 --- /dev/null +++ b/beike/Admin/View/DesignBuilders/RichText.php @@ -0,0 +1,44 @@ + + * @created 2022-07-08 17:09:15 + * @modified 2022-07-08 17:09:15 + */ + +namespace Beike\Admin\View\DesignBuilders; + +use Illuminate\Contracts\View\View; +use Illuminate\View\Component; + +class RichText extends Component +{ + /** + * Create a new component instance. + * + * @return void + */ + public function __construct() + { + } + + /** + * Get the view / contents that represent the component. + * + * @return View + */ + public function render(): View + { + $data['register'] = [ + 'code' => 'rich_text', + 'sort' => 0, + 'name' => trans('admin/design_builder.module_rich_text'), + 'icon' => '', + ]; + + return view('admin::pages.design.module.rich_text', $data); + } +} diff --git a/beike/Services/DesignService.php b/beike/Services/DesignService.php index 102e9330..0f4286a8 100644 --- a/beike/Services/DesignService.php +++ b/beike/Services/DesignService.php @@ -53,6 +53,8 @@ class DesignService return self::handleProducts($content); } elseif ($moduleCode == 'icons') { return self::handleIcons($content); + } elseif ($moduleCode == 'rich_text') { + return self::handleRichText($content); } return $content; @@ -144,6 +146,19 @@ class DesignService return $content; } + /** + * 处理 rich_text 模块 + * + * @param $content + * @return array + * @throws \Exception + */ + private static function handleRichText($content): array + { + $content['data'] = $content['text'][locale()] ?? ''; + return $content; + } + /** * 处理选项卡商品列表模块 * diff --git a/resources/beike/admin/views/pages/design/builder/index.blade.php b/resources/beike/admin/views/pages/design/builder/index.blade.php index bdb3f7de..29855591 100644 --- a/resources/beike/admin/views/pages/design/builder/index.blade.php +++ b/resources/beike/admin/views/pages/design/builder/index.blade.php @@ -16,6 +16,7 @@ + @@ -141,6 +142,7 @@ @include('admin::pages.design.builder.component.image_selector') @include('admin::pages.design.builder.component.link_selector') @include('admin::pages.design.builder.component.text_i18n') + @include('admin::pages.design.builder.component.rich_text_i18n') diff --git a/resources/lang/de/admin/design_builder.php b/resources/lang/de/admin/design_builder.php index 68497bd6..2b7310fd 100644 --- a/resources/lang/de/admin/design_builder.php +++ b/resources/lang/de/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => 'Tab-Produkte', 'module_product' => 'Warenmodul', 'module_icons' => 'Symbolmodul', + 'module_rich_text' => 'Rich-Text', ]; diff --git a/resources/lang/en/admin/design_builder.php b/resources/lang/en/admin/design_builder.php index af1e5179..3be6e263 100644 --- a/resources/lang/en/admin/design_builder.php +++ b/resources/lang/en/admin/design_builder.php @@ -10,11 +10,12 @@ */ return [ - 'module_brand' => 'Brand Module', - 'module_banner' => 'Banner Module', - 'module_four_image_pro' => 'For Image PRO Module', - 'module_slideshow' => 'Slideshow Module', - 'module_tab_products' => 'Tab Products Module', - 'module_product' => 'Products Module', - 'module_icons' => 'Icon module', + 'module_brand' => 'Brand', + 'module_banner' => 'Banner', + 'module_four_image_pro' => 'For Image PRO', + 'module_slideshow' => 'Slideshow', + 'module_tab_products' => 'Tab Products', + 'module_product' => 'Products', + 'module_icons' => 'Icons', + 'module_rich_text' => 'Rich Text', ]; diff --git a/resources/lang/es/admin/design_builder.php b/resources/lang/es/admin/design_builder.php index 379063e5..8369529b 100644 --- a/resources/lang/es/admin/design_builder.php +++ b/resources/lang/es/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => 'elemento de pestaña', 'module_product' => 'módulo de productos básicos', 'module_icons' => 'módulo de iconos', + 'module_rich_text' => 'texto enriquecido', ]; diff --git a/resources/lang/fr/admin/design_builder.php b/resources/lang/fr/admin/design_builder.php index 08e2111f..5095ff29 100644 --- a/resources/lang/fr/admin/design_builder.php +++ b/resources/lang/fr/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => 'onglet produits', 'module_product' => 'module marchandise', 'module_icons' => 'module d\'icônes', + 'module_rich_text' => 'texte enrichi', ]; diff --git a/resources/lang/it/admin/design_builder.php b/resources/lang/it/admin/design_builder.php index 0672c3b9..2d57903f 100644 --- a/resources/lang/it/admin/design_builder.php +++ b/resources/lang/it/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => 'scheda prodotti', 'module_product' => 'modulo merci', 'module_icons' => 'modulo icona', + 'module_rich_text' => 'rich text', ]; diff --git a/resources/lang/ja/admin/design_builder.php b/resources/lang/ja/admin/design_builder.php index 9422651d..91609bc4 100644 --- a/resources/lang/ja/admin/design_builder.php +++ b/resources/lang/ja/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => 'タブ製品', 'module_product' => '商品モジュール', 'module_icons' => 'アイコンモジュール', + 'module_rich_text' => 'リッチテキスト', ]; diff --git a/resources/lang/ru/admin/design_builder.php b/resources/lang/ru/admin/design_builder.php index 6bba1927..1fa972f0 100644 --- a/resources/lang/ru/admin/design_builder.php +++ b/resources/lang/ru/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => 'элемент вкладки', 'module_product' => 'товарный модуль', 'module_icons' => 'модуль значков', + 'module_rich_text' => 'форматированный текст', ]; diff --git a/resources/lang/zh_cn/admin/design_builder.php b/resources/lang/zh_cn/admin/design_builder.php index d10a7758..9a91fe5c 100644 --- a/resources/lang/zh_cn/admin/design_builder.php +++ b/resources/lang/zh_cn/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => '选项卡商品', 'module_product' => '商品模块', 'module_icons' => '图标模块', + 'module_rich_text' => '富文本模块', ]; diff --git a/resources/lang/zh_hk/admin/design_builder.php b/resources/lang/zh_hk/admin/design_builder.php index 1544baf5..cc59a69d 100644 --- a/resources/lang/zh_hk/admin/design_builder.php +++ b/resources/lang/zh_hk/admin/design_builder.php @@ -17,4 +17,5 @@ return [ 'module_tab_products' => '選項卡商品', 'module_icons' => '圖標模塊', 'module_product' => '商品模塊', + 'module_rich_text' => '富文本模塊', ]; diff --git a/themes/default/design/rich_text.blade.php b/themes/default/design/rich_text.blade.php new file mode 100644 index 00000000..11427661 --- /dev/null +++ b/themes/default/design/rich_text.blade.php @@ -0,0 +1,7 @@ +
+ @include('design._partial._module_tool') + +
+ {!! $content['data'] !!} +
+
\ No newline at end of file