2016-12-05 3 views
0

Я хочу АРХИВ следующее:Smarty: Implode массив и присвоить его вар

«Я описательная фраза»

Я положил его в массив (для создания ключевых слов для мета-теги) через:

[{assign var='meta_key_arr' value=' '|explode:$oEntry->FCLONGDESC_1}]     

Это работает до сих пор. Мой результат представляет собой массив так:

array([I],[am],[a],[descriptive],[sentence]) 

Цель состоит в том, чтобы получить строку, как: «Я, утра, а, описательной, предложение»

Я хотел взрывать массив разделённых запятой: [{',' | implode: $ meta_key_arr}

Это прекрасно работает, но я хочу присвоить значения другой переменной $ meta_key. Что не работает. Я прочитал руководство, но единственное, что я смог найти, это синтаксис выше.

[{assign var='meta_key' value=' '|', '|implode:$meta_key_arr}] 

не работал. И это тоже не сработало.

Как правильно использовать функцию implode? Конечно, гораздо проще.

+1

Более простой способ - обработка данных в контроллере. –

+0

@u_mulder Я очень новичок в умении. На самом деле я стараюсь и ошибаюсь. Но я знаю PHP. –

+0

Smarty - это шаблонный движок. Это означает, что это всего лишь __outputs__ данные. Вот почему вы должны подготовить свои данные в контроллере –

ответ

0

Решение:

[{foreach from=$meta_key_arr item=mkey}] 
    [{assign var='meta_key' value=', '|implode:$meta_key_arr}] 
[{/foreach}] 
0

Почему вы не просто использовать исходную строку и заменить пробелы запятыми?

[{assign var='meta_key' value=$oEntry->FCLONGDESC_1|replace:' ':', '}] 
Смежные вопросы