2017-02-06 2 views
0

Я надеюсь получить помощь с заявлениями Symfony 'if'.Symfony If Statementments

По существу, я пытаюсь сделать, если значение цены равно или превышает 500 долларов США, отобразите «Бесплатная доставка», если в противном случае отобразится «Нажмите & Собрать».

Это для темы PrestaShop и у меня есть ниже кодирование после первоначального, если оператор

{else} 
         {if $pricediplay ==> 500} {l s='Free Shipping!'}{/if} 
        {else} 
         {if $pricediplay ==< 499.99} {l s='Click & Collect'}{/if} 
        {/if} 

Все кодирование этой части:

{if $option.total_price_with_tax && !$option.is_free && 
(!isset($free_shipping) || (isset($free_shipping) && !$free_shipping))} 
    {if $use_taxes == 1} 
     {if $priceDisplay == 1} 
       {convertPrice price=$option.total_price_without_tax} 
       {if $display_tax_label} 
        {l s='(tax excl.)'} 
       {/if} 
      {else} 
       {convertPrice price=$option.total_price_with_tax} 
       {if $display_tax_label} 
        {l s='(tax incl.)'} 
       {/if} 
     {/if} 
      {else} 
       {convertPrice price=$option.total_price_without_tax} 
    {/if} 
{else} 
    {if $pricediplay ==> 500} 
     {l s='Free Shipping!'} 
    {/if} 
{else} 
    {if $pricediplay ==< 499.99} 
     {l s='Click & Collect'} 
    {/if} 
{/if} 

Любая помощь будет принята с благодарностью ,

Спасибо, Cohen

+0

Что происходит в настоящее время? Похоже, что вы, возможно, сломали свои фигурные скобки после '{if $ valuiplay => 500}' – Andy

+0

Он производит ошибку внутреннего внутреннего сервера, когда я применяю изменения. Я уверен, что я сделал что-то неправильно, просто не знаю, что это такое. – geekcohen

+0

Разрушенные брекеты могут быть причиной этого. Посмотрите в свой журнал ошибок и посмотрите, что сообщение об ошибке – Andy

ответ

0

Трудно сказать от вашей проводки, что вы пытаетесь достичь. я подозреваю, что изменения, которые вы хотите может быть что-то вроде этого:

{if $option.total_price_with_tax && !$option.is_free && 
(!isset($free_shipping) || (isset($free_shipping) && !$free_shipping))} 
    {if $use_taxes == 1} 
     {if $priceDisplay == 1} 
      {convertPrice price=$option.total_price_without_tax} 
      {if $display_tax_label} 
       {l s='(tax excl.)'} 
      {/if} 
     {else} 
      {convertPrice price=$option.total_price_with_tax} 
      {if $display_tax_label} 
       {l s='(tax incl.)'} 
      {/if} 
     {else} 
      {convertPrice price=$option.total_price_without_tax} 
     {/if} 
    {/if} 
{else} 
    {if $priceDisplay => 500} 
     {l s='Free Shipping!'} 
    {/if} 
{else} 
    {if $priceDisplay =< 499.99} 
     {l s='Click & Collect'} 
    {/if} 
{/if} 
+0

Я хочу достичь этого, если значение priceisplay больше или равно 500 долларов США, что показывает «Бесплатная доставка». Если оно меньше или равно 499,99 долларов США, то оно показывает 'Click and Collect' Я сделал согласно вашему примеру кодирования, но не повезло.Я думаю, что это конфигурация большего, чем «==>», которая создает ошибку внутреннего сервера 500. – geekcohen

+0

Если '500', где это происходит, возможно, измените это на:' 500.00' Я имею в виду добавить 2 десятичных знака. –

+0

Еще не радость. Мне нужно попытаться получить правильную или более правильную конфигурацию. – geekcohen

1

Если предполагается, что шаблон, используя прут, если операторы должны быть записаны следующим образом:

{% if ... %} 
    //your own logic... 
{% endif %} 

Вы можете использовать как:

{% elseif ... %} 
{% else %} 

сделать разные случаи.

Вы можете установить переменные, как это:

{% set var='toto' %} 

и отобразить переменную так:

{{ var }} 

И, наконец, операторы сравнения записываются как они произносятся:

  • больше чем или равным:> =
  • меньше или равно ual: < =
+0

Спасибо Оливье, это правильно? '{% множество вар = "500" %} {%, если $ priceDisplay == 1%} \t {%, если $ priceDisplay> = {{вар}}%} " Бесплатная доставка! {% ENDIF%} \t \t {% ElseIf%} 'Click & Collect' \t {% еще%} {% ENDIF%} ' – geekcohen

+0

{%, если $ priceDisplay> = вар%}«Бесплатная доставка !» {% else%} 'Click & Collect' {% endif%}. В вашем примере var будет строкой, а не целым числом. Это то, что вы хотите? Если нет, то вы должны написать {% set var = 500%} (без цитаты) – OlivierC