- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有基本模板(base.html.twig),其中包含动态生成的 js 链接:
<script type="text/javascript">
<script type="text/javascript" src="{{ path('renderJs') }}"></script>
</script>
以及呈现此 JS 的 Action:
/**
* @Route("/scripts.js",
* name="renderJs")
*/
public function renderJsAction(Request $request)
{
return new Response(
$this->renderView(
"AcmeBundle:Default:renderJs.js.twig",
array('foo' => 'bar')
),
200,
array('Content-Type' => 'text/javascript')
);
}
但我希望渲染 JS 具有与基本模板相同的 Twig 上下文(在 renderJs.js.twig 中具有与 base.html.twig 中相同的变量)。那可能吗?有什么想法可以解决这个问题吗?
最佳答案
这就是一切的运作方式(据我所知):
因此,在这种情况下有两个请求:一个请求获取 base.html.twig 渲染,另一个请求获取 renderJS URL 提供的脚本文件。当服务器收到第二个请求时,第一个请求的上下文就消失了。
我可以想到两个选择。选项 1 是重新生成上下文(理想情况下通过设置一些类或方法来在两个地方执行此操作)。如果您想对 javascript 文件进行第二次请求(例如它是否可以缓存)并且生成上下文不是非常消耗资源,那么这很好。
选项 2 是跳过该操作的需要,并将 render.js.twig 模板作为内联 JavaScript 包含在 base.html.twig 模板中。如果创建上下文的成本确实很高并且 javascript 很轻且永远不会被缓存,那么这可能只是一个好主意(但最好让文件尽可能多地缓存)。
让我知道它们听起来如何以及它们如何适用于您,我可以深入了解更多细节。
关于javascript - [交响乐+ Twig ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41168447/
我目前正在学习 Symfony 和 Doctrine reading the docs . 我不明白 find 和 findOneById 之间的区别。我尝试在这个简单的示例中使用它们,看起来它们对我
我有基本模板(base.html.twig),其中包含动态生成的 js 链接: 以及呈现此 JS 的 Action: /** * @Route("/scripts.js",
在我的 Symfony 4 项目中,我有一个包含 HTML 的变量,我尝试用 Twig 显示它。我想使用 template_from_string() 函数,但我必须将 Twig_Extension_
我想重载 include_http_metas() 帮助程序(来自 AssetHelper 类)以使其符合 HTML5。 有什么想法吗? 非常感谢。 最佳答案 只需复制您应用的 lib/helper
我继承了一个零文档的 Symfony/PHP 网络应用程序代码库。我是一名 nodejs 开发人员,因此您可以想象其中的乐趣......!无论如何,我要做到这一点,我的重点是能够在本地运行该项目。 这
我有一个用户可以登录的表单。 登录后,我会将用户重定向到仪表板页面。 问题:在我的登录 Controller 中,我得到了用户对象。但是当我转到仪表板时,用户对象是空的。 登录 Controller
我得到的完整错误是这个。 在“FooBlogBundle:Article:articles.html”中呈现模板期间抛出异常(“缺少一些强制性参数(“id”)以生成路由“FooBlogBund
我需要 symfony 1.4 操作,它将接收模板名称列表作为参数,并将这些呈现的模板作为 JSONed 哈希返回。这是代码: foreach ($templateNames as $template
我需要 symfony 1.4 操作,它将接收模板名称列表作为参数,并将这些呈现的模板作为 JSONed 哈希返回。这是代码: foreach ($templateNames as $template
我目前正在处理一个项目,之前的开发人员将其与 JMSTranslationBundle 集成在一起。此刻,我对应用程序做了一些修改,其中之一是将菜单变成高度动态的。 (基本上,应用程序的用户逻辑有 3
我正在从事 Symfony 2 WebApp 项目。集成商店的逻辑在 MyShopBundle 中实现。 在将 Twig Extension 添加到 bundle 后,我得到一个异常: 我完全理解这条
我已将模型与实体分开。我有三个具有相应实体的模型:Review、RatedReview 和 ScoredReview。他们的关系是 ScoredReview 扩展 RatedReview 扩展 Rev
*在我将数据添加到我的数据库之前,我添加第一行后,evry thigns 工作正常,我收到此消息 “警告:preg_match() 期望参数 2 为字符串,给定对象”以及存储在我的数据库中的数据...
是否可以在 Twig(在 Symfony 中)中获取数组的键? 例如,如果我有一个数组: array( 'key1' => 'value1', 'key2' => 'value2', ); 是否可以在
我想输出一个包含数字的数组。 我正在创建这样的数组(它收到了过去 7 天的统计信息): from('stJob j') ->where('j.created_at = ?', date('
我开始实现 HWIOAuthBundle 并想创建我自己的自定义资源所有者。但是我不清楚文件/目录结构。 我需要将文件放在哪里才能利用 bundle ? 最佳答案 我覆盖了 HWIOAuthBundl
早上好,我告诉你我的情况。我在 Symfony 下的项目中使用的数据库删除了一个表和外键。导入映射 (XML) 并生成实体后,所有这些都会自动使用 Symfony 控制台;当我访问项目的任何页面时,显
我是 Symfony 3 的新手(之前我使用 Yi 1,现在我想尝试一些新东西)。 我很困惑,结构看起来如此不同 - 框架似乎与应用程序逻辑混在一起。 我现在要将什么 checkin git?当然,我
我正在使用 symfony 4,如果我在 Command 类中,我想访问一个实体的存储库。没有函数 getDoctrine 或其他东西.. 我通过控制台创建了一个实体,所以我得到了一个实体和一个存储库
组件没有 setTemplate()!我知道,但也许还有另一种方法可以做到这一点? (问题似乎是关于一个php框架:http://www.symfony-project.org/) 最佳答案 sfCo
我是一名优秀的程序员,十分优秀!