park-holidays-uk/pagebuilder

该包已废弃,不再维护。未建议替代包。
该包最新版本(1.2.35)的许可证信息不可用。

Park Holidays 员工页面编辑器

1.2.35 2018-01-16 16:03 UTC

README

使用 GrapesJS 框架构建的 PHAST CMS 页面编辑器...

新安装

在 CLI 中运行以下命令

composer require park-holidays-uk/pagebuilder

将以下内容添加到 App 配置 'providers' 中

ParkHolidays\PageBuilder\PageBuilderServiceProvider::class

别忘了发布配置和资源...

php artisan vendor:publish --provider="ParkHolidays\PageBuilder\PageBuilderServiceProvider" --force

配置发布后,将以下内容添加到 .ENV 文件中,并相应地更改值

PAGEBUILDER_DOMAIN=phast.parkholidays.com
PAGEBUILDER_URLPREFIX=/pagebuilder
PAGEBUILDER_MEDIA_PATH=//parkholidays.s3-website-eu-west-1.amazonaws.com/assets/
PAGEBUILDER_RESIZE_MEDIA_PATH=//parkholidays.s3-website-eu-west-1.amazonaws.com/{w}x{h}/assets/
PAGEBUILDER_ASSET_PATH=/dist/
PAGEBUILDER_FORM_ACTION=/form/handle
PAGEBUILDER_FORM_METHOD=POST

准备就绪后,运行迁移和种子

php artisan migrate
php artisan db:seed --class="ParkHolidays\PageBuilder\Database\Seeds\DatabaseSeeder"

更新安装

在 CLI 中运行以下命令

composer update

以与新安装相同的方式发布资产。检查 ENV 设置的任何更改。

注意事项

  • 所有布局块应包含在一个具有 wrapper 类的 DIV 元素中。这将允许在页面中使用全宽和非全宽块。
  • 创建表单块时,它们必须包含一个具有 form-dropzone 类的空 DIV。这将是可以将表单字段块拖入的唯一区域。
  • 要使用 SVG 作为块图标,可以将代码放入标签字段。参见 图 TTK1
  • 参见 图 TTK2 编辑图像 srcset。

图 TTK1

<svg class="gjs-block-svg" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
    <path class="gjs-block-svg-path" d="M22,9 C22,8.4 21.5,8 20.75,8 L3.25,8 C2.5,8 2,8.4 2,9 L2,15 C2,15.6 2.5,16 3.25,16 L20.75,16 C21.5,16 22,15.6 22,15 L22,9 Z M21,15 L3,15 L3,9 L21,9 L21,15 Z"></path>
    <polygon class="gjs-block-svg-path" points="4 10 5 10 5 14 4 14"></polygon>
</svg>
<div class="gjs-block-label">LABEL</div

图 TTK2

示例。

400x250 768w,640x480 1024w,1024x768 1200w

PHAST 工具要求

  • 对于动态块,需要使用 JSON 对象填充 payload_properties 字段,该对象用于创建动态属性(有效载荷对象)。参见 图 PW1R

图 PW1R

有关不同属性输入类型,请参阅 (https://github.com/artf/grapesjs/wiki/Traits)。目前仅提供 textselect 类型。

[
    {
        "type":"select",
        "name":"NAME",
        "label":"LABEL", 
        "value": "", 
        "multiple": true,
        "dynamic_options":true, 
        "options_connection":"CONNECTION",
        "options_table":"TABLE",
        "options_text_field":"FIELD",
        "options_value_field":"FIELD"
    },
    {
        "type":"text"
        "name":"NAME", 
        "label":"LABEL",
        "value": "1"
    }
]

作者

请参阅参与此项目的贡献者名单。

待办事项

已知问题

  • 当文本块清空后,重新输入或粘贴文本后,文本或块会重复。
  • 有时在加载画布时,某些内容或块会缺失(尽管内容在数据库中)。刷新页面似乎可以恢复它们。
  • 将块拖动到画布(BODY)中会导致块出现重复,但实际上只是视觉上的重影。
  • 某些块随机无法拖放到可放置组件(元素)中。
  • 选择空值时,特性并不总是被设置。