gpt4 book ai didi

javascript - 设置 javascript 变量的 symfony 方法是什么?

转载 作者:行者123 更新时间:2023-11-28 14:04:37 24 4
gpt4 key购买 nike

<script type="text/javascript">var name="value";</script>

我需要它在 use_javascript('name.js'); 包含的另一个文件之前执行;

如何在 symfony 中做到这一点?

最佳答案

你可以通过多种方式做到这一点

假设,在您的操作方法中,您添加了一个模板变量,如下所示

$this->jsVar = 'foo';

然后,在您的模板文件中

echo javascript_tag( 'var name="' . $jsVar . '";' );

<script type="text/javascript">
var name='<?php echo $jsVar; ?>';
</script>

编辑

好的,根据您的具体需求,您需要做一些事情。首先,查看您的页面模板(位于 apps/app-name/templates 中的模板 - 您应该看到如下所示的一行

<?php include_javascripts(); ?>

该函数获取 view.yml 文件中定义的所有 javascript 资源或 use_javascript() 帮助程序包含的资源,并将它们打印到页面。

因此,我们的目标是在包含所有其他脚本的前面放置一个 javascript block (我所说的“在前面”是指按源代码顺序首先出现) p>

为了以某种灵活的方式解决这个问题,让我们使用一个槽。将页面模板中的上述行修改为如下所示

<?php
if ( has_slot( 'global_js_setup' ) )
{
include_slot( 'global_js_setup' );
}
include_javascripts();
?>

然后,在你的操作方法中

sfLoader::loadHelpers( 'Asset' );
$this->getResponse()->setSlot(
'global_js_setup',
, javascript_tag( 'var name="value";' );
);

如果您愿意,您可以通过使用组件插槽来扩展这个想法。

关于javascript - 设置 javascript 变量的 symfony 方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2357679/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com