Page 1 of 1
Как проверять поле на непустое значение?
Posted: Mon Jan 28, 2013 7:35 am
by adaliska
Первое что приходит в голову
if (!empty('<!--SPONSOR_SITE_URL-->')) { ... }
не работает, видимо потому что результат макроса - не строка, а heredoc.
Как надо делать?
Re: Как проверять поле на непустое значение?
Posted: Mon Jan 28, 2013 1:38 pm
by admin
как это понять "макроса - не строка, а heredoc" ?
покажите плз пример где максос заменен на строку, а где на на heredoc
Re: Как проверять поле на непустое значение?
Posted: Mon Jan 28, 2013 6:26 pm
by adaliska
Про heredoc это моё предположение, я его не утверждаю.
Вот пример: на сайте футер представлен общим темплейтом - общим для всех страниц. В нём примерно такой кусок кода:
<? if ('<!--SPONSOR_SLUG-->') { ?><a href="/go/<!--SPONSOR_SLUG-->"><!--SPONSOR_NAME--></a><? } ?>
Предполагается, что если sponsor_slug есть и он не пустой, то будет выведена эта ссылка. Это прекрасно работает на странице просмотра галереи, но на других страницах (список галерей, морда, категории и т.д.) где нет спонсора - выдаёт такой код с необработанными макросами:
<a href="/go/<!--SPONSOR_SLUG-->"><!--SPONSOR_NAME--></a>
В связи с чем и вопрос: а как надо делать, чтобы на таких страницах условие "if" не срабатывало? Интересует общее решение, потому что в данном частном случае можно обойти костылями.
Re: Как проверять поле на непустое значение?
Posted: Mon Jan 28, 2013 6:45 pm
by admin
На старнице например категории спонсора конкретного нет
сответственно <!--SPONSOR_SLUG--> конкретнего нет и оно ничем не заменяется
соответственно строка не пуская - условие сработало
Пример общего решения
http://smartcj.com/wiki/doku.php?id=ru: ... 0%B8%D1%86