承接 4geo35/editable-blocks 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

4geo35/editable-blocks

最新稳定版本:v1.2.4

Composer 安装命令:

composer require 4geo35/editable-blocks

包简介

Block models for edit in admin panel

README 文档

README

Установка

Добавить "./vendor/4geo35/editable-blocks/src/resources/views/components/**/*.blade.php", "./vendor/4geo35/editable-blocks/src/resources/views/admin/**/*.blade.php", "./vendor/4geo35/editable-blocks/src/resources/views/livewire/admin/**/*.blade.php", в tailwind.admin.config.js, созданный в пакете tailwindcss-theme.

Добавить "./vendor/4geo35/editable-blocks/src/resources/views/components/**/*.blade.php", в tailwind.config.js, созданный в пакете tailwindcss-theme.

Запустить миграции для создания таблиц php artisan migrate

Установить lightbox npm install fslightbox, добавить в app.js:

import "fslightbox"

Вывод

Что бы вывести созданные блоки на сайт, фасад который кэширует данные:

$contactsData = BlockRenderActions::getByKey('contacts');
$benefitsData = BlockRenderActions::getByKey("benefits");

$aboutData = BlockRenderActions::getByGroup("about");

$example = Example::query()->first();
$exampleData = BlockRenderActions::getByModel($example);

Компоненты для вывода на сайт:

@if ($exampleData)
    @foreach($exampleData as $block)
        <x-dynamic-component :component="$block->render_type_component" :block="$block" class="mb-indent" />
    @endforeach
@endif

@if ($aboutData)
    @foreach($aboutData as $block)
        <x-dynamic-component :component="$block->render_type_component" :block="$block" class="mb-indent" />
    @endforeach
@endif

<x-dynamic-component :component="$contactsData->render_type_component" :block="$contactsData" class="mb-indent" />
<x-dynamic-component :component="$benefitsData->render_type_component" :block="$benefitsData" class="mb-indent" />

Настройка

Параметр groups отвечает за группы блоков, группу можно вывести в любое место на сайте. В группе можно создавать доступные типы блоков и редактировать порядок вывода блоков. Если allowedTypes пусто, то выводит все доступные типы блоков.

"groups" => [
    "about" => [
        "title" => "О нас",
    ],
    "projects" => [
        "title" => "Проекты",
        "allowedTypes" => ["imageText"],
    ],
],

Параметр static отвечает за создание фиксированных блоков, их нельзя удалить через панель администрирования и можно вывести на сайт по ключу.

"static" => [
    "contacts" => [
        "title" => "Текст в контактах",
        "type" => "imageText",
    ],
    "benefits" => [
        "title" => "Аккордеон в преимуществах",
        "type" => "collapseText",
    ],
],

Параметр models отвечает за блоки прикрепленные к модели. Модель должна реализовывать ShouldBlocksInterface, все необходимое есть в ShouldBlocks. По умолчанию группой для модели является ее таблица, но можно поменять это переопределив метод getBlockGroupAttribute. Если нет ограничений на типы блоков, можно оставить пустой массив для модели.

"models" => [
    "examples" => [
        "allowedTypes" => ["collapseText", "imageText"],
    ],
],

Что бы вывести блоки на страницу редактирования модели достаточно добавить два компонента:

<livewire:eb-manage-blocks :model="$example" />
<livewire:eb-block-list :model="$example" />

统计信息

  • 总下载量: 34
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 10
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-02-20