我将如何扩展木材以能够使用把手作为包含中的参考?

时间:2019-11-29 14:06:17

标签: wordpress twig timber

我们使用带有树枝引擎的fractal.js创建网站原型。 Fractal.js带来了方便的功能,可以在包含中使用句柄。

因此,您无需编写{% include 'templates/components/teaser/basicTeaser.twig' %},而只需编写{% include '@basicteaser' %}。参见:https://fractal.build/guide/core-concepts/naming.html#referencing-other-items

当然,这依赖于唯一的组件名称,无论如何我都很高兴能拥有它。

有人能指出我正确的方向来延伸木材或树枝以使用这种手柄吗?

非常感谢!

1 个答案:

答案 0 :(得分:0)

Twig已经提供了从一系列目录而不是一个目录中加载模板的选项。

DECLARE @temp AS TABLE(
      [action] NVARCHAR(20)
     ,[GlobalId] BIGINT
     ,[Personnumber] NVARCHAR(100)
     ,[Firstname] NVARCHAR(100)
     ,[Lastname] NVARCHAR(100)
);

;WITH person AS
(
    SELECT top 1
        t.[Personnumber]
        ,t.[Firstname]
        ,t.[Lastname]
    FROM [temp].[RawRoles] t
    WHERE t.Personnumber NOT IN 
        (
            SELECT i.Account FROM [security].[Accounts] i
        )
)

MERGE [security].[Identities] AS tar
USING person AS src
ON 0 = 1 -- all rows from src need to be inserted, ive already filtered out using CTE Query.
WHEN NOT MATCHED THEN
   INSERT
   (
     [Created], [Updated]
   )
   VALUES
   (
        GETUTCDATE(), GETUTCDATE()
   )
OUTPUT $action, inserted.GlobalId, src.[Personnumber], src.[Firstname], src.[Lastname]  INTO @temp;


SELECT * FROM @temp

此外,在将加载程序传递到环境对象之前,您可以添加自定义名称空间的路径,即:

$loader = new \Twig\Loader\FilesystemLoader([$templateDir1, $templateDir2]);

然后您可以像这样使用名称空间:

$loader->addPath($templateDir, 'admin'); 

https://twig.symfony.com/doc/3.x/api.html#built-in-loaders