Баг в BLITZ

pilot911

Новичок
Баг в BLITZ

Получаю странный результат:

при no_file=0


PHP:
{{ IF no_file }}
     Открыть
{{END}}
{{ UNLESS no_file }}
     {{BEGIN block_file}}Закрыть{{END}}
{{END}}
на выходе пусто

теперь если сделать так

PHP:
{{BEGIN block_file}}Закрыть{{END}}
{{ IF no_file }}
     Открыть
{{END}}
{{ UNLESS no_file }}
     {{BEGIN block_file}}Закрыть{{END}}
{{END}}

на выходе: ЗакрытьЗакрыть


необходимо пофиксить
 

Alexandre

PHPПенсионер
в каком контексте ты это делаешь?
то что у тебя написано - это чушь!

должно быть так или что-то типа того:
PHP:
{{BEGIN block_file}}
  {{ IF no_file }}
     Открыть
  {{END}}
  {{ UNLESS no_file }}
     Закрыть{{END}}
  {{END}}
 {{END}}
если так не работает - то действительно баг!

PS "Один дурак может наговнокодить так, что после него и не разгребут 10 гуру."
 

pilot911

Новичок
контекст такой:


PHP:
no_file
лежит на том же уровне, что и

PHP:
block_file
поэтому конструкция

PHP:
{{ IF no_file }}
     Открыть
{{END}}
{{ UNLESS no_file }}
     {{BEGIN block_file}}Закрыть{{END}}
{{END}}

должна работать

ПС. плз, если есть возможность - протестируй у себя

ПСС. запись не является чушью - в примере исходников есть такое:


PHP:
{{ IF list }}
  <table>
{{ BEGIN list }}
      <tr><td>{{ $some }}</td></tr>
{{ END }}
  </table>
{{ END }}
{{ UNLESS list }}
      Fuck it, Dude, let's go bowling
{{ END }}
-~{}~ 21.10.09 06:40:

нашел причину, которая заключается в том, что при проверке контекстов через hasContext() {{IF no_file}} считается за блок, то есть нужно писать вместо:

PHP:
if ($this->hasContext('block_file'))	{
следующую строку

PHP:
if ($this->hasContext('no_file/block_file'))	{
 
Сверху