За последние 24 часа нас посетили 16750 программистов и 1606 роботов. Сейчас ищут 1234 программиста ...

Вывод значения в SMARTY

Тема в разделе "PHP для новичков", создана пользователем Merlak, 25 апр 2009.

  1. Merlak

    Merlak Активный пользователь

    С нами с:
    25 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Здраствуйте!

    Я работаю на смарти. У меня есть расширенный поиск по сайту. Мне нужно в результатах вывода пользователей вывести новую строку типа:
    Возраст: nn лет

    Есть профиль (profile.php и profile.tpl) в котором выводится эта дата.

    вот на этой странице:
    http://www.go.merlak.ru/profile.php?user=789
    Там в скобках она выводится, типа (2 лет)

    Вот код в котором эта дата формируется(жирным помечен этот код в цикле)

    Это в файле profile.tpl

    Код (Text):
    1.  {* SHOW PROFILE CATS AND FIELDS *}
    2.       {section name=cat_loop loop=$cats}
    3.         {section name=subcat_loop loop=$cats[cat_loop].subcats}
    4.           <div class='profile_headline{if !$smarty.section.subcat_loop.first}2{/if}'><b>{lang_print id=$cats[cat_loop].subcats[subcat_loop].subcat_title}</b></div>
    5.            
    6.             <table cellpadding='0' cellspacing='0'>
    7.             {* LOOP THROUGH FIELDS IN TAB, ONLY SHOW FIELDS THAT HAVE BEEN FILLED IN *}
    8.             {section name=field_loop loop=$cats[cat_loop].subcats[subcat_loop].fields}
    9.               <tr>
    10.               <td valign='top' style='padding-right: 10px;' nowrap='nowrap'>
    11.                 {lang_print id=$cats[cat_loop].subcats[subcat_loop].fields[field_loop].field_title}:
    12.               </td>
    13.               <td>
    14.                 <div class='profile_field_value'>{$cats[cat_loop].subcats[subcat_loop].fields[field_loop].field_value_formatted}</div>
    15.                 {if $cats[cat_loop].subcats[subcat_loop].fields[field_loop].field_special == 1 && $cats[cat_loop].subcats[subcat_loop].fields[field_loop].field_value|substr:0:4 != "0000"} [b]({lang_sprintf id=852 1=$datetime->age($cats[cat_loop].subcats[subcat_loop].fields[field_loop].field_value)})[/b]{/if}
    16.               </td>
    17.               </tr>
    18.             {/section}
    19.             </table>
    20.          
    21.         {/section}
    22.       {/section}
    В файле profile.php формируется массив который отправляется в profile.tpl



    ----------------------------------------------------------------------------------------------------------
    МНЕ НУЖНО!
    ----------------------------------------------------------------------------------------------------------

    ЧТобы выводилась дата в результатах пользователей.

    Т.е. я вставляю код

    Код (Text):
    1.  {section name=cat_loop loop=$cats}
    2.         {section name=subcat_loop loop=$cats[cat_loop].subcats}
    3.  {section name=field_loop loop=$cats[cat_loop].subcats[subcat_loop].fields}
    4.  
    5.  [b]({lang_sprintf id=852 1=$datetime->age($cats[cat_loop].subcats[subcat_loop].fields[field_loop].field_value)})[/b]
    6.  
    7.       {/section}
    8.       {/section}
    9.       {/section}
    В файл search_advanced.tpl ( это поиск в котором выводится список пользователей. ) чтобы вывести дату в результаты.

    НО! Я не знаю как обработку массива из файла profile.php прикрутить в файл search_advanced.php чтобы потом этот массив появился в search_advsnced.tpl

    вот необходимые файлы:
    http://www.merlak.ru/uploads/files/vse_faili.rar


    Помогите пожалуйста! В долгу не останусь!
     
  2. Merlak

    Merlak Активный пользователь

    С нами с:
    25 апр 2009
    Сообщения:
    10
    Симпатии:
    0
    Могу заплатить пару долларов тому кто сделает..
     
  3. Roker

    Roker Активный пользователь

    С нами с:
    10 апр 2007
    Сообщения:
    54
    Симпатии:
    0
    нефига себе . Тройная вложеность.

    перменные и массивы в смарти из пхп выводятся так
    PHP:
    1. $smarty->assign('warning_message', $err_str);
    Только насколько я понял тебе просто нужно добавить елемент
    типа так
    PHP:
    1. for($i=0; $i<count($arr);$++){
    2. $arr[$i]['old'] ='2';
    3. }