unionco / core
UNION.co 插件
Requires
- php: >=8.0
- craftcms/cms: ^4.0
Requires (Dev)
- craftcms/rector: dev-main
- dev-master
- 5.0.0-rc4
- 5.0.0-rc3
- 5.0.0-rc2
- 5.0.0-rc1
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.0
- 3.13.18
- 3.13.17
- 3.13.16
- 3.13.15
- 3.13.14
- 3.13.13
- 3.13.12
- 3.13.11
- 3.13.10
- 3.13.9
- 3.13.8
- 3.13.7
- 3.13.6
- 3.13.5
- 3.13.4
- 3.13.3
- 3.13.2
- 3.13.1
- 3.13
- 3.12.10
- 3.12.9
- 3.12.8
- 3.12.7
- 3.12.6
- 3.12.5
- 3.12.4
- 3.12.3
- 3.12.2
- 3.12.1
- 3.11.0
- 3.2.1
- 3.2.0
- 3.1.1
- 3.1.0
- 3.0.11
- 3.0.10
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.1
- 3.0.0
- 2.3.5
- 2.3.4.1
- 2.3.4
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3
- 2.2.11
- 2.2.10
- 2.2.8
- 2.2.7
- 2.2.6
- 2.2.5
- 2.2.4.x-dev
- 2.2.4.1
- 2.2.4
- 2.2.3
- 2.2.2
- 2.2.1
- 1.2.1
- 1.2
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.25
- 1.0.24
- 1.0.23
- 1.0.21
- 1.0.20
- 1.0.19
- 1.0.18
- 1.0.17
- 1.0.16
- 1.0.15
- 1.0.14
- 1.0.13
- 1.0.11
- 1.0.10
- 1.0.9
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.4
- 1.0.3
- 1.0.2
- dev-feature/craft4
This package is auto-updated.
Last update: 2024-09-16 15:26:19 UTC
README

欢迎使用 UNION Core for CraftCMS 3。
尽管目前仍然处于测试版,但许多插件正在效仿。CraftCMS 3 中的 UNION Core 将非常不同,基本上是完全重写的,但仍然保留了 95% 的功能。
UNION Core 提供了一种使用 Craft 的 $element->attachBehavior() 方法将行为附加到元素上的方法。提供一个全局变量,可以直接从模板中访问您的服务,以及一些内置的行为和 twig 过滤器。
由于 CraftCMS 3 和新的插件安装方式,我们必须找到一种简单的方法,让开发者像以前一样轻松地扩展我们的插件,而无需深入到供应商目录。虽然这是可能的,但我们不愿意让您这样做。相反,一个 unionco.php 配置文件将在初始化时与 plus 核心代码通信,说明如何“扩展”。下面将提供更多相关信息。
安装
要安装 UNION Core,请按照以下步骤操作
- 进入您的项目目录
- 运行
`composer require unionco\core` - 转到 Craft 控制面板中的设置 > 插件,并启用插件
配置
- 最后,让我们通过在主 craft 配置目录中创建一个 unionco.php 文件来连接所有内容,它 应该 看起来像这样...
<?php return [ "remotes" => [ "environment-name" => [ 'username' => '', 'host' => '', 'root' => '', 'backupDirectory' => '', 'port' => 22, 'phpPath' => '' ] ] ];
基本用法
默认安装
- AssetBehavior
- Craft Twig 标准方式
`{{ entry.assetHandle.one.getUrl() }}` - 新方法
`{{ entry._assetUrl('assetHandle') }}` - 可选
`{{ entry._assetUrl('assetHandle', 'squareTransformHandle') }}` - 预加载资源将使用
`{{ entry._eAssetUrl('assetHandle') }}`
- Craft Twig 标准方式
- 视频 URL 过滤器
- 目前支持 vimeo 和 youtube URL
- 用法:
`{{ entry.videoUrl | videoEmbedUrl }}`
- AssetBehavior
高级用法
行为
所有行为都绑定到元素的句柄。
- 条目:Entry -> Section -> Handle
- 分类:Category -> Group -> Handle
- 全局集:Global -> Handle
- 矩阵块:MatrixBlock -> Field -> Handle
为相关的元素创建一个文件(将“行为”一词合并)。例如,对于主页(单个)。
<?php namespace union/behaviors/entries use unionco\core\Plugin; //if you need to access the core plugin use unionco\core\behaviors\entries\BaseEntryBehavior; class HomeBehavior extends BaseEntryBehavior { public function _somethingInteresting() { return 'something interesting'; } }我不会详细介绍如何添加行为或为什么这样做,UNION Core 只是一个辅助工具。请参考 CraftCMS 文档或 Yii2 文档以获取有关行为的更多详细信息。
服务
服务将一一映射到核心插件中的服务,有关这些服务的文档已在 CraftCMS 文档 github 页面上提供 Docs。在这里,Plus 的一个额外好处是 plus 变量及其从模板中访问任何服务的功能,而无需创建新变量和/或 twig 扩展。以下我将给出两个示例...
服务看起来像这样
<?php namespace union\services; use Craft; use craft\base\Component; use unionco\core\Plugin; class QuoteService extends Component { public function getRandomQuote() { // code here } }这里您可以使用常规的 php 方法访问您的服务
<?php namespace union/behaviors/entries use unionco\core\Plugin; //if you need to access the core plugin use unionco\core\behaviors\entries\BaseEntryBehavior; class HomeBehavior extends BaseEntryBehavior { public function _somethingInteresting() { $quote = Plugin::$plugin->quote->getRandomQuote(); return $quote; } }在 UNION Core 中的 twig
{{ union('quote').getRandomQuote() }}