namelesscoder/patternlab-fluid-edition

安装: 678

依赖: 0

建议: 0

安全性: 0

星标: 19

关注者: 3

分支: 2

开放问题: 2

语言:JavaScript

类型:项目

1.0.0 2018-01-18 21:25 UTC

This package is auto-updated.

Last update: 2024-09-12 03:48:57 UTC


README

这是 Pattern Lab Fluid Edition 项目的入口点!

license Packagist

Pattern Lab Fluid Edition

这个包是针对 Pattern Lab 的一个版本,用于 TYPO3 Fluid 模板引擎

安装

请注意:Pattern Lab Fluid 版本仅使用 Composer 来管理项目依赖。没有预构建的包可用 - 应用程序只能通过 Composer 安装。

使用 Composer 创建项目

Pattern Lab 使用 Composer 来管理项目依赖。

1. 安装 Composer

请按照 Composer 网站上的说明进行 安装 Composer

2. 安装 Pattern Lab Fluid Edition

使用 Composer 的 create-project 命令 将此版本作为新项目的基础进行安装

cd install/location/
composer create-project namelesscoder/patternlab-fluid-edition your-project-name && cd $_

这将创建一个名为 your-project-name 的文件夹,将 Fluid 版本安装到该文件夹,并指导您完成安装过程。

您将被要求选择一个入门套件 - 目前只有这样一个入门套件可用。选择并安装它以完成安装过程。

更新 Pattern Lab

使用 composer update 可以更新 Pattern Lab 的 Fluid 版本。

Fluid 的特殊使用说明

Pattern Lab Fluid Edition 随附一些额外功能,如下面的配置示例所示

config/config.yml

fluidNamespaces:
    f:
        - TYPO3\CMS\Fluid\ViewHelpers
    myns:
        - My\Package\ViewHelpers
emulatedViewHelpers:
    My\Special\TagGeneratingViewHelper:
        tagName: "a"
        attributeMap:
            specialTargetArgumentName: "href"
        outputsTagContent: true
        forceClosingTag: true
    My\Special\NormalViewHelper:
        outputsTagContent: true

简要说明,这些选项允许

  • 注册Fluid将看到的额外命名空间(内联导入仍然完全可能!)
  • 模拟具有特殊要求的包中的 ViewHelper,例如数据库访问

ViewHelper 模拟只能进行表面配置;一般而言,最佳建议是按照您的模板结构,使像 URL(通常是框架特定的)这样的东西不是由 ViewHelper 生成,而是作为参数传递给部分。但对于必须包含 ViewHelper 并模拟输出的那些情况,可以使用这些选项。

这些选项允许

  • 更改 TagBasedViewHelper 的标签名称。
  • 将参数映射到结果的标签属性(例如,您的 ViewHelper 接收一个 ID 作为目标,将此映射到例如 href 将生成有效的 HTML - 但链接目标已损坏)。
  • 配置模拟的 ViewHelper 是否设计为输出标签内容。
  • 强制生成的标签是自闭合的还是不是(例如,如果 ViewHelper 生成 <script>,则必须将其设置为 false 以生成 <script></script> 标签而不是 <script />)。

也可以通过在 source/_viewhelpers/ 中创建新的 PHP 类文件并使用特殊的 plio 命名空间来创建内置的 ViewHelper,例如,如果您创建了一个名为 MySpecialViewHelper.php 的文件,其中包含一个名为 MySpeciaViewHelper 的类,则该类可以作为 <plio:mySpecial /> 在模板中使用,而无需导入命名空间。

内置的 ViewHelper 可以使用完全任意的文件夹嵌套和命名空间,这使得在没有通过常规方式自动加载它们的情况下原型化这些类变得更容易,并且不需要像通常那样为目标包。

视图辅助函数参数验证和执行

对于视图辅助函数,可能存在两种级别的模拟

  1. 原始类完全缺失,完全模拟视图辅助函数
  2. 原始类存在但无法渲染,仅部分模拟视图辅助函数

这意味着,完全模拟的视图辅助函数根本不验证参数,只会按照上述设置的行为来表现。但是,部分模拟的视图辅助函数将验证参数,以验证所需的参数是否存在,并尝试渲染自身——但在渲染过程中发生的任何失败都将由模拟输出接管。例如,这可能是由缺少依赖项或不符合视图辅助函数所属应用程序预期的环境导致的失败。

简而言之:如果您希望视图辅助函数的参数得到验证,并且那些没有特殊依赖的视图辅助函数能够完全正常工作,请确保您还添加了提供这些视图辅助函数的包作为您本地项目的依赖项——并在模板中配置或导入命名空间。如果可以加载类,还可以加载和验证参数描述。

有用命令

以下是一些您可以在命令行上使用的有用命令,用于与Pattern Lab一起工作。

列出所有可用的命令

要列出所有可用命令,请输入

php core/console --help

要列出特定命令的选项,请输入

php core/console --help --[command]

生成Pattern Lab

要为Pattern Lab生成前端,请输入

php core/console --generate

监控更改并重新生成Pattern Lab

要监控更改并重新生成Pattern Lab的前端,请输入

php core/console --watch

启动服务器以查看Pattern Lab

您可以使用PHP的内置Web服务器在浏览器中查看您的Pattern Lab项目。在另一个窗口中输入

php core/console --server

然后在浏览器中打开http://localhost:8080

安装起始套件

要安装一个几乎为空的起始套件作为您项目的起点,请输入

php core/console --starterkit --init

要安装来自GitHub的特定起始套件,请输入

php core/console --starterkit --install <starterkit-vendor/starterkit-name>

致谢

这项工作得到了Busy Noggin的慷慨赞助。