2017-04-24 116 views
1

我想从js对象添加变量到树枝文件。我请求这个对象为response.contextisMakeLogoExistsbaseUrllogoImg在这个对象。这可能以某种方式传递这个对象,并使用键/值作为变量在树枝文件?如何将变量添加到来自js对象的树枝模板

(function() { 
 
     var request = window.location.href.split("?")[1]; 
 

 
     $.get(baseUrl + '/offers_ajax?' + request, function(data) { 
 

 
      var response = jQuery.parseJSON(data); 
 
      console.dir(response.context); 
 
     }); 
 

 
    })();
{% if isMakeLogoExists %} 
 
    <div class="main-logo make-logo"> 
 
     <a href="{{ baseUrl }}"> 
 
      <img id="logo" src="{{baseUrl}}/images/{{ logoImg }}" alt="Logo" > 
 
      <span class="logo-make-text">{{ year }} {{ vehicle }}</span> 
 
     </a> 
 
    </div> 
 
{% else %} 
 
    <div class="main-logo"> 
 
     <a href="{{ baseUrl }}"> 
 
      <img id="logo" src="{{baseUrl}}/images/logo.png" alt="Logo" > 
 
     </a> 
 
    </div> 
 
{% endif %}

+2

分枝模板在服务器端解析,JavaScript对象只存在于客户端。所以这不会工作。你必须在客户端使用JavaScript处理html。 – JustOnUnderMillions

+0

@JustOnUnderMillions哦,狗屎。真。谢谢 –

回答

1

这是根本不可能的。一个是服务器端,另一个是客户端。

编辑:这可能与ajax调用 - 但在大多数情况下是不可行的。那里有更好的技术和最佳实践。

+1

是的,现在我明白了。谢谢! –

+0

'不可能的'是相当极端的,OP可以在'ajax'上继承,并在请求的输出上修改他的'HTML' – DarkBee

+0

但是Twig不是为js构建的,它的服务器端用于php - 不是粗鲁的,而是在例如一个大型的项目,它会让js影响你的后端树枝体系结构。 – Felix