Искать  
 
   
 
Вывод массива (циклы в шаблонах)
Отправлено: 20 Февраль 2009 11:55 P.M.   [ Игнорировать ]
Новичок
Rank
Всего сообщений:  2
Зарегистрирован  2008-01-02

Мне нужно создать корзинку для неавторизованных пользователей. Для вывода содержимого корзины написан plug-in. Код plug-in’а следующий:

function display() {
    
global $TMPL;
    
$tagdata $TMPL->tagdata;
    
$cart_data // массив товаров, которые лежат в карзине
    
$tagdata $TMPL->swap_var_single('cart_data'$cart_data$tagdata);
    
$tagdata $TMPL->swap_var_single('cart_data_count'count($cart_data), $tagdata);
    return 
$tagdata;
  

И шаблон к нему

{exp:simple_cart:display}
  {if {cart_data_count}}
    
<ul>
    
{cart_data} // на сколько я понял из документации, так указывается начало цикла
      
<li>some repeating text</li// вывод товаров и их параметров намеренно опущены. Для проблемы - не суть важно.
    
{/cart_data} // по идее конец массива
    
</ul>
  
{if:else}
    Cart is 
empty.
  
{/if}
{
/exp:simple_cart:display} 

На выходе имею

<ul>
  Array
    <
li>some repeating text</li>
  
{/cart_data}
</ul

Что делаю не так?

Профиль
 
 
Отправлено: 21 Февраль 2009 01:07 A.M.   [ Игнорировать ]   [ # 1 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

// на сколько я понял из документации, так указывается начало цикла -
Ну хотя бы это неверно - это всего лишь маркер какого-то участка в коде, для того, что бы работать с кодом между {cart_data} {/cart_data}. Поэтому надо уже в функции display брать данные что между ними, в цикле делать нужный html код, и потом подменять. Посмотри в модуле gallery пример со строками - там понятно.

 Подпись 

booooring…

Профиль
 
 
Отправлено: 06 Март 2009 09:01 P.M.   [ Игнорировать ]   [ # 2 ]
Новичок
Rank
Всего сообщений:  2
Зарегистрирован  2008-01-02

Хммм... Я правильно понял, что выкусывание html кода регулярками - единственный способ?

Профиль