Т.е. допустим в section есть поле:
$basket[i].data.tagsпо умолчанию оно дублируется столько раз, сколько товара лежит в корзине. Возможно ли определить дубли по полю и выводить только разные значения в section?
Поиск |
|
Одинаковые значения в section
Стоит ли открыть форум? Напишите об этом по адресу admin@astracms.ru написав в теме "открыть форум". Я не автор движка и поэтому не могу консультировать так, как это делал бы он, но возможно у нас получится совместно находить решения.
Автор | Текст сообщения |
---|---|
Maksim |
29.07.2014 10:47
Отредактировано: 29.07.2014 11:01
Подскажите пожалуйста, возможно ли в массиве определить одинаковые значения (дубликаты) и соответственно выводить только одно значение из дубликата? На php нашел array_unique(). Может что-то подобное есть для Smarty?
Т.е. допустим в section есть поле: $basket[i].data.tagsпо умолчанию оно дублируется столько раз, сколько товара лежит в корзине. Возможно ли определить дубли по полю и выводить только разные значения в section? |
admin |
29.07.2014 13:01
Используйте {php}...{/php} вставки для использования всех возможностей.
|
Maksim |
29.07.2014 20:08
Отредактировано: 29.07.2014 20:09
Прошу прощения, Вы могли бы написать небольшой пример. Или логику. Не могу понять, как можно передать переменную php в smarty и обратно.
{section name=i loop=$basket} {php} $input = array($basket[i].data.tags); $result = array_unique($input); {/php} {block id=tagcart tags=$result} {/section}Я так понимаю, что нужно сначала передать в php потом обратно передать в smarty (чтобы в ее в section вывести). |
admin |
30.07.2014 00:06
Если правильно понял то как-то так
{php} $input = explode(', ',$this->_tpl_vars['basket'][$this->_sections['i']['index']]['data']['tags']); $result = isset($result)?array_merge($result, $input):$input; $result = array_unique($result); $this->assign('result',implode(', ',$result)); {/php} |
Maksim |
30.07.2014 01:01
Отредактировано: 30.07.2014 02:11
Да, очень благодарен!!! То что нужно
|
Вы не можете добавить сообщение. Вам необходимо авторизироваться на сайте под своим логином либо зарегистрироваться.