问题标签 [plates]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
87 浏览

node.js - 使用 Plates 更改 Google Analytics 代码

有没有办法使用 Plates 更改模板中包含的 Google Analytics 代码?

例如,对于以下模板:

我想使用不同的GA_ACCOUNT_CODE根据代码运行的环境使用不同的。

板子可以做到这一点吗?如果不是,在 NodeJS 和 Flatiron 中解决这个问题的常用方法是什么?

0 投票
1 回答
149 浏览

templates - 重用复杂 HTML 片段的最佳方法

我想重用我使用下划线模板创建的复杂 UI 的 html。问题是模板构造函数获取数据并生成带有数据的纯 html。现在,我想缓存生成的 html 以供将来用作模板,并通过使用 jQuery 选择器选择每个节点来更改特定 html 节点的数据。

我的目标是通过重复使用创建后的 JS 和 DOM 对象来减少内存消耗。

以前有人做过这样的事情吗?

0 投票
1 回答
1677 浏览

php - 在 PHP 中使用板

我是使用 PHP 的 Plates 模板库的新手。我有几个关于如何使用它的问题。

我正在查看文档,但没有看到设置全局布局的方法。有没有办法做到这一点?

我在 Codeigniter 中使用它。理想情况下,我想在 MY_Controller 文件中为大多数站点设置布局,并在需要时在扩展 MY_Controller 的控制器中进行更改;例如,设置主站点布局,然后为管理面板设置所有其他管理控制器扩展的 Auth_Controller 中的管理布局。

更改一组特定模板的布局我必须检查并编辑所有这些文件。这似乎并不理想。甚至只是为特定布局传递侧边栏数据必须通过将侧边栏数据传递给每个模板以及从每个模板传递到每个文件中的布局来完成。这似乎非常多余。我错过了什么吗?

为了澄清 Plates 是模板系统/库,http ://platesphp.com/

我所说的例子。管理布局有一个包含所有管理 URL 的侧边栏。这来自一个加载的配置文件,它有自己的模板/视图文件。

我调用模板并从控制器传递数据

模板文件/当前页面内部

在管理布局文件中加载的侧边栏导航模板内部

然后布局

必须将相同的数据从每个控制器方法传递到控制器的视图/模板,然后再从它传递到布局/其他模板,这是非常多余的。

0 投票
1 回答
102 浏览

php - 有没有办法制作模板但不在plate php中渲染它

有没有办法在php 中我可以在控制器中制作模板但使用另一个控制器渲染它。假设我有两个控制器。HeaderController 和 SearchController。

搜索控制器

虚拟 SearchController 应该将 $data 分配给模板 search.tpl 但不渲染/显示模板。

这是我将调用上述控制器的地方

标头控制器

有没有办法做到这一点?

0 投票
1 回答
157 浏览

php - 实例化一个对象以在整个项目中使用而不是在每个方法或控制器类中使用的最佳实践是什么?

我想在 Codeigniter-4 项目中使用模板。

如果我的控制器看起来像这样

我想使用如下工作的模板系统:

我的问题是 - 实例化该$templates对象的最佳位置是什么?

我可以在我确信是不好的做法的每一种方法中重复它。.... 或者 ...我可以在 __contstructor() 中执行它并分配给,$this->templates并且我为我想要使用该模板的每个控制器执行此操作。我觉得还有更好的方法。

我对 Laravel 没有什么经验,我没有专门设置这个 $templates 变量来使用 Blade 模板,而是简单地调用 View()。如果可能的话,我想实现这样的目标。我标记了 laravel,以便任何对 Laravel 有更多经验的人都可以更好地理解如何实现它?

你有什么建议?

PS:我正在使用 composer autoload 来加载所有文件。

0 投票
1 回答
181 浏览

php - 将项目的模板引擎从 savant2 更改为 Plates

我在将使用savant2模板引擎的旧项目转换为 Plate 模板引擎时遇到问题,我已经阅读了 Platesphp 文档,但仍然令人困惑savant2 模板中的项目是这样构造的(示例),第一个文件

然后在其他文件中,声明了所需的变量

然后,在 header.tmpl.php 文件中

现在,我想用plates模板引擎代替savant2,这就是我的代码现在的结构,第一个文件

在另一个文件中,

然后,在 header.tmpl.php 文件中

虽然它没有按预期工作,但我的困惑在于使用 render、addData 和 addFolder 来产生与 savant2 相同的结果

0 投票
1 回答
399 浏览

php - Plates 模板引擎 - URI 扩展名与 Twig 'pathFor' 相同?

我正在通过有关 Slim 框架的教程进行工作。作者使用 Twig,我更喜欢使用 Plates 模板引擎。baseUrl在作者开始使用和pathFor扩展之前,我已经能够修改所有课程以使用 Plates 模板。

我看到 Plates 有一个名为 URI 的扩展名,我认为它与 Twig 的pathFor.

不幸的是,我一生都无法弄清楚如何启用它。阅读文档,我认为下面的代码可以做到这一点,但到目前为止还没有运气。

然后在模板中,作者使用pathFor扩展来填充表单的操作参数。我正在尝试使用 Plates 的 URI 扩展来做同样的事情:

有没有人专门使用过这个模板引擎和 Slim 的 URI 扩展?我误认为它基本上是 TwigpathFor扩展的同义词吗?我应该放弃并只使用 Twig 吗?谢谢你的建议。

0 投票
1 回答
688 浏览

php - 使用 Plates PHP 和依赖注入

我想使用依赖注入通过PHP-DI 将Plates的实例传递给我的控制器,该控制器与我的路由系统Simple Router集成。我尝试注入 Plates 的一个实例,但出现此错误:

未捕获的 LogicException:模板名称“home”无效。默认目录尚未定义

我该如何解决这个问题?我还需要使用asset() 方法传递资产路径。任何帮助将不胜感激。

更新

感谢 jcHache 的帮助,我使用以下 DI 代码在基本控制器中管理了 Plates 实例的注入:

index.php 文件

这很棒,但我遇到了一个问题,我找不到解决方法。我得到这个与板的资产加载器相关的错误,似乎它被实例化了不止一次。我已经用我的基础控制器扩展了我的控制器,其中资产加载器被实例化,但我认为这不是问题吗?有解决办法吗?

未捕获的 Pecee\SimpleRouter\Exceptions\NotFoundHttpException:模板函数名称“asset”已注册