Как создать шаблон .tpl

Статус
В этой теме нельзя размещать новые ответы.

running-frag

Новичок
Как создать шаблон .tpl (smarty)

Порылся в гугле, куча примеров, манки ноль. :( Подскажите пожалуста.
Первое мануал... Как я понимаю есть темплейты нескольких вариаций... При таком что лучше использывать.
Второе.. Хотелось бы увидеть два простеньких примера. На обычный вывод и на вывод цыкла через .tpl . Или дайте уже готовый код, так быстрее будет понять пощупая...

И в догонку шаблон в шаблоне может быть?

ЗЫ: Ребят сори за такой, может быть тупой вопрос, но реально в инете куча примеров и каждый "сам по себе"... Меня это ахреннено напрягает, не могу разобраться что к чему. Собрал на локале ТПЛку по примеру http://www.php.su/articles/?cat=examples&page=006 но что то не могу понять... Что к чему.
 

running-frag

Новичок
В этом то и дело. Я тупо сижу и не знаю с чего начать. =\ Править стили по классам уже не выход. Хочется .tpl задействовать. Но в силу того что ниразу не встречался с этим, даже не могу ответить. Мне бы ссылочки где почитать от и до... :)
 

Фанат

oncle terrible
Команда форума
это дурацкий пример
в шаблоне, как минимум, должны быть блоки
 

running-frag

Новичок
Нашёл ответ в smarty. Затрите плз топик.

PS: Просто с .tpl ещё ниразу не сталкивался...
 

Beavis

Banned
а чего ты прицепился к ".tpl" ? в смарти можно любое расширение шаблона сделать, как и в любом другом шаблонизаторе
 

running-frag

Новичок
2Beavis я ж упомянул что "вообще не сталкивался с темплейтами" поэтому и "прицепился к тому что видел в других движках".

Не стану заводить новый топик.. Более-менее раскурисля со сматри. Сейчас стоит вот такой вопрос: как вывести зацыкленную функцию.. Типа :

PHP:
function show_list (...)
{
     foreach (....)
     {
         if (.....)
         {
              show_list (...)
         }
     }
}
Т.е. в конечном итоге получим что то типо древо-подобной таблицы. Как лучше такое организовать? Можно ли это сделать без {php}{/php} а передавать данные смарти "на ходу" ? Просто если так прикинуть, если каждую переменную (пусть даже массив) передать то там код будет толстый... =\ Что не есть выход.
 

Beavis

Banned
running-frag
если в дереве всего два уровня то в шаблоне надо просто написать два цикла
{foreach from=$tree item=node}
{foreach from=$node.children item=subnode}
...
{/foreach}
{/foreach}

а если уровней много - тогда в поиск по форуму =))
 

running-frag

Новичок
Поищу конечно, там от одного до 4ёх будет уровней. Просто не могу сообразить если я правильно думаю то сматри "тупо вбивает переменные в шаблон" при этом есть возможности переберать массивы... Но то что мне нужно. Оно походу не умеет. Если же просто в рнр оно "последовательно выводит" с помощью echo то со сматри так не получится. Ну или там массив должен будет быть огогогогого...... Что опять же не выход. Будем искать выход дальше...
 

running-frag

Новичок
Уверен? Расскажи как... Что бы сразу писало в темплейт по ходу функции в пхп.

Добавил:
Ляпнуть абы шо любой может. А вот подтвердить свои слова (тем же кодом) нет. ;) Так что давай по факту.
 

Фанат

oncle terrible
Команда форума
ну приведи пример кода на пхп, который ты не можешь повторить на смарти
 

running-frag

Новичок
Вот это у меня не получается (додуматься) засунуть в смарти.
PHP:
function show_list ($_list, $_runs)
{
    print "<table>";
    for ($i=0; $i < $_list->listQty; $i++)
    {
        print "<tr>";
        print "<td>{$_list->need[$i]["name"]} ({$_list->need[$i]["id"]})</td>";
        
        print "<td>";
        print $itemQty = ($_runs * ($_list->need[$i]["quantity"]));
        print "</td>";
        print "</tr>";
        
        $nItem = new item ($_list->need[$i]["typeID"]);
        $nView = get_listStatus(...);
        
        if ($nItem->listIDname)
        {   
            $_NUM = get_listNUM (...);
            
            if ($nView)            
            {
                print "<tr><td colspan=\"3\">";
                show_list(new list_obj ($nItem->listIDname, $_NUM), $itemQty);
                print "</td></tr>";
            }
        }
    }
    print "</table>";
}
 

С.

Продвинутый новичок
А ведь все начиналось с идеи создания шаблона...
Строили, строили и наконец построили... ШАБЛОН!!!
 

running-frag

Новичок
Я конечно понимаю что это всё весело.. Но лучше давайте по делу... =\
 

Фанат

oncle terrible
Команда форума
вообще я с рекурсией в смарти не работал.
думаю, если набрать в гугле smarty recursion, то рецептов будет масса

-~{}~ 07.10.09 22:17:

это один из плюсов смарти как раз
 

running-frag

Новичок
Ну вот видишь. Ты "думаешь" (с). А мне нужны люди которые знают\пробовали. В этом и есть разница....
 

Фанат

oncle terrible
Команда форума
А самому сделать кишка тонка? :)

-~{}~ 07.10.09 22:34:

Тут еще такой вопрос - а нужен ли этим людям ты...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху