Smarty - array fields with spaces

aZa

Новичок
Smarty - array fields with spaces

Помогите найти решение, как использовать хеши, содержащие пробелы в именах полей. в шаблонах Smarty.

{$someArray["field with spaces"]} не работает и приходится вручную переименовывать имена полей хеша перед его отправкой в Smarty Template: $someArray["field_with_spaces"] = $someArray["field with spaces"];

хотелось бы как-то избежать этого.

в мануале Смарти сказано, что имена полей должны быть [a_zA-z_], но это ограничение успешно обходится, когда в именах засветился "-" ({$someArray["field-with-minuses"]} - великолепно работает), может можно как-то и для пробелов эту проблему решить?

-~{}~ 08.02.05 21:35:

хммм
 

Demiurg

Guest
А зачем тебе отдавать в смарти такие хеши ?
 

aZa

Новичок
Сразу видно ответ профи. :)

Как известно, при работе в команде, тебя часто ставят перед фактом о том, в каком виде ты получаешь результат, а ты можешь внести свои "пожелания" и только. А это во многом зависит от project manager проекта, а совсем не от php-программиста ...

Вообщем для тех, кто в танке и кого волнует эта проблема:

Код:
 .....
If your key is a string containing a space, as in

$myarray['one two'];
you'll need the following:

{assign var=key value='one two'}
{$myarray.$key}
.....
 

Demiurg

Guest
project manage указывает название хешей ? интересно.
 

aZa

Новичок
Просто лень скатываться в бесполезные споры по поводу распределения ролей и обязанностей, но на минутку советую представить наиболее распространенную структуру группы веб-разработчиков: 1-2 человека API, 1-2 человека GUI, 1 дизайнер (Photoshop, basic coding), 1 кодер (DHTML pro) ... а к ним прилагается 1-2 человека, которые пишут спецификации, которые помогают всей этой команде функционировать как единое целое ...... так вот именно в этом документе, как правило, указывается в каком виде данные будут отдаваться от API, скажем, программмисту GUI.

Спрашивается - кого я учу, трачу время как свое, так и твое.


P.S.: в данном конкретном случае $result = RPC CALL возвращает хеш с огромным кол-вом полей, который без проблем можно передавать в Smarty и работать с ним там. вопрос задавался исключительно в целях избежания никому ненужных $result['some field with space'] = $result['some_field_with_space'], так как при 20 и более таких полях - начинаешь затра*иваться, да и выглядит это весьма странно.
 

alexhemp

Новичок
aZa
Можно обработать циклом сразу весь массив и не мучаться в шаблонах.
 
Сверху