Javascript 如何通过Twig中的脚本添加链接路径?
我正在向我的小树枝文件中添加一个脚本,以重定向到其他路径Javascript 如何通过Twig中的脚本添加链接路径?,javascript,php,symfony,twig,Javascript,Php,Symfony,Twig,我正在向我的小树枝文件中添加一个脚本,以重定向到其他路径 <script> $('#lnkPanel').click(function(e) { e.preventDefault(); window.location = '{{ path('profile/' ~ user.id ~ '') }}'; }); $('lnkPanel')。单击(函数(e){ e、 预防默认值(); window.location='{path('profile/'~user.id~
<script>
$('#lnkPanel').click(function(e) {
e.preventDefault();
window.location = '{{ path('profile/' ~ user.id ~ '') }}';
});
$('lnkPanel')。单击(函数(e){
e、 预防默认值();
window.location='{path('profile/'~user.id~''')}}';
});
但是当我的小枝渲染时,我得到了一个错误,这不会显示我的页面。
错误是:“在呈现模板期间引发了异常(“无法为命名路由“profile/{1}”生成URL,因为该路由不存在。”)
如何才能在呈现细枝时不出错,并正确显示我的页面
谢谢 如果您使用SlimnView
TwigExtension
您应该能够让它像
<script>
$('#lnkPanel').click(function(e) {
e.preventDefault();
window.location = '{{ siteUrl('/profile/') }}{{user.id|e}}/';
});
</script>
$('lnkPanel')。单击(函数(e){
e、 预防默认值();
window.location={{siteUrl('/profile/')}{{{user.id | e}}}/';
});
将
{{user.id | e}}
替换为用户配置文件id的Twig变量。如果使用SlimnViewTwigeExtension
您应该能够让它像
<script>
$('#lnkPanel').click(function(e) {
e.preventDefault();
window.location = '{{ siteUrl('/profile/') }}{{user.id|e}}/';
});
</script>
$('lnkPanel')。单击(函数(e){
e、 预防默认值();
window.location={{siteUrl('/profile/')}{{{user.id | e}}}/';
});
将
{{user.id | e}}
替换为用户配置文件id的细枝变量。在细枝路径函数中,它应该是您的路线名称:
window.location = '{{ path('profile_route_name', {id: user.id}) }}';
在细枝路径函数中,它应该是您的路线名称:
window.location = '{{ path('profile_route_name', {id: user.id}) }}';
这样,我在加载页面时不会出错,但总是第一个元素设置最后一个id。示例:我需要显示3个用户。我有3个身份证。只有第一个元素有最后一个id。如何设置twig中元素的共同响应id?我真的不明白您想要做什么,但如果这是一个简单的重定向,您可以在按钮是标记的情况下:将带有每个按钮id的{{path()}添加到href属性中。或者,如果您正在使用标记并单击事件:使用用户id添加一个数据id属性,然后在事件中,使用:$(this.data(“id”)获取id;这样,我在加载页面时不会出错,但总是第一个元素设置最后一个id。示例:我需要显示3个用户。我有3个身份证。只有第一个元素有最后一个id。如何设置twig中元素的共同响应id?我真的不明白您想要做什么,但如果这是一个简单的重定向,您可以在按钮是标记的情况下:将带有每个按钮id的{{path()}添加到href属性中。或者,如果您正在使用标记并单击事件:使用用户id添加一个数据id属性,然后在事件中,使用:$(this.data(“id”)获取id;