rich-text multilingual

This commit is contained in:
pushuo 2023-03-08 18:12:02 +08:00
parent c3ce7bdcc1
commit a329f280d9
4 changed files with 41 additions and 11 deletions

View File

@ -10,16 +10,25 @@ class RichText extends Component
public string $title;
public string $value;
public $value;
public bool $required;
public function __construct(string $name, string $title, string $value = '', bool $required = false)
public bool $multiple;
public function __construct(string $name, string $title, $value = '', bool $required = false, bool $multiple = false)
{
$value = html_entity_decode($value, ENT_QUOTES);
if ($multiple) {
$value = json_decode($value, true);
}
$this->name = $name;
$this->title = $title;
$this->value = html_entity_decode($value, ENT_QUOTES);
$this->value = $value;
$this->required = $required;
$this->multiple = $multiple;
}
public function render()

View File

@ -14,8 +14,8 @@
</div>
</div>
<div class="swiper-pagination rectangle module-bs-product-{{ $module_id }}-pagination"></div>
<div class="swiper-button-prev product-bs-prev"></div>
<div class="swiper-button-next product-bs-next"></div>
<div class="swiper-button-prev product-bs-{{ $module_id }}-prev"></div>
<div class="swiper-button-next product-bs-{{ $module_id }}-next"></div>
@elseif (!$content['products'] and $design)
<div class="row">
@for ($s = 0; $s < 4; $s++)
@ -59,8 +59,8 @@
// 如果需要前进后退按钮
navigation: {
nextEl: '.product-bs-next',
prevEl: '.product-bs-prev',
nextEl: '.product-bs-{{ $module_id }}-next',
prevEl: '.product-bs-{{ $module_id }}-prev',
},
})
</script>

View File

@ -3,8 +3,27 @@
@endpush
<x-admin::form.row :title="$title" :required="$required">
<div class="w-max-1000">
<textarea rows="4" type="text" name="{{ $name }}" class="tinymce" placeholder="{{ $title }}">{{ $value }}</textarea>
</div>
@if ($multiple)
<ul class="nav nav-tabs w-max-1000 mb-3" id="myTab" role="tablist">
@foreach (locales() as $locale)
<li class="nav-item" role="presentation">
<button class="nav-link {{ $loop->first ? 'active' : ''}}" id="{{ $locale['code'] }}" data-bs-toggle="tab" data-bs-target="#{{ $locale['code'] }}-pane" type="button">{{ $locale['name'] }}</button>
</li>
@endforeach
</ul>
<div class="tab-content w-max-1000" id="myTabContent">
@foreach (locales() as $locale)
<div class="tab-pane fade {{ $loop->first ? 'show active' : ''}}" id="{{ $locale['code'] }}-pane" role="tabpanel" aria-labelledby="{{ $locale['code'] }}">
<textarea rows="4" type="text" name="{{ $name }}[{{ $locale['code'] }}]" class="tinymce" placeholder="{{ $title }}">{{ $value[$locale['code']] }}</textarea>
</div>
@endforeach
</div>
@else
<div class="w-max-1000">
<textarea rows="4" type="text" name="{{ $name }}" class="tinymce" placeholder="{{ $title }}">{{ $value }}</textarea>
</div>
@endif
{{ $slot }}
</x-admin::form.row>

View File

@ -63,8 +63,10 @@
<x-admin-form-rich-text
:name="$column['name']"
:title="$column['label']"
:value="old($column['name'], $column['value'] ?? '')"
:required="$column['required'] ? true : false"
:value="old($column['name'], $column['value'] ?? '')">
:multiple="$column['multiple']"
>
@if (isset($column['description']))
<div class="help-text font-size-12 lh-base">{{ $column['description'] }}</div>
@endif