ludmanp/typicms-pageoptions

允许在 TypiCMS 页面中添加更多参数

11.0.3 2023-12-18 10:29 UTC

This package is auto-updated.

Last update: 2024-09-18 12:09:01 UTC


README

Latest Version on Packagist Total Downloads MIT Licence

允许根据页面模板扩展 TypiCMS 页面属性。

安装

您可以通过 composer 安装此包

composer require ludmanp/typicms-pageoptions

为了准备使用,您可以运行

php artisan page-options:install

该命令将发布并运行迁移。

您也可以单独运行命令来完成这些操作

php artisan vendor:publish --tag="page-options-migrations"
php artisan migrate

可选地,您可以使用以下命令发布视图

php artisan vendor:publish --tag="typicms-pageoptions-views"

用法

管理员

包含

<x-pageoptions-admin-form :model="$model" />

resources/viwes/vendor/pages/admin/_from.blade.php

$model 是当前页面模型

resources/viwes/vendor/page-options/admin 目录中创建与页面模板同名的 blade 文件。例如 default.blade.php

要添加选项,例如,您可以

{!! BootForm::text(__('Description'), 'options[description]') !!}
{!! TranslatableBootForm::text(__('Phone number'), 'options[phone][number]') !!}

要包含特定图像,使用

<x-pageoptions-image :model="$model" name="preview_image_id" label="Preview image"/>
<x-pageoptions-image :model="$model" name="phone.icon_id" label="Phone icon"/>

name 是选项名称,使用点来创建多级数组。 label 是可选的,但建议与其他图像字段区分开来

同样,您可以添加文件字段

<x-pageoptions-file :model="$model" name="specification" label="Specification"/>

公开

在页面模板(pages/public/*.blade/php)中使用以输出 PageOptions

要输出简单选项,使用

{{ $pageOptions->present()->option('phone') }}

要输出可翻译选项,使用

{{ $pageOptions->present()->optionTranslated('company.name') }}

有一个可选的本地化参数

{{ $pageOptions->present()->optionTranslated('company.name', 'en') }}

要输出图像,使用

<img src="{{ $pageOptions->present()->optionsImage('contact.image') }}"
    alt="{{ optional($pageOptions->present()->optionsFile('contact.image'))->alt_attribute ?? 'Contacts' }}"/>

额外的参数 widthheightoptions 可用,如 presenter 的 image 方法中。

要获取文件模型,使用。

$pageOptions->present()->optionsFile('contact.file')

如您所见,它还适用于图像以获取 alt_attribute 等。

要创建指向文件的链接,您可以写作以下内容

<a href="{{ optional($pageOptions->present()->optionsFile('contact.file'))->url }}">File</a>

鸣谢

许可

MIT 许可证(MIT)。请参阅 许可文件 了解更多信息。