ФорумПрограммированиеPHP для идиотовРасширения PHP → Smarty (примеры работы шаблонизатора)

Smarty (примеры работы шаблонизатора)

  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 22:48

    Начал изучать смарти. Хотел бы посмотреть работающий скрипт с его использованием (цмс-ку к-нибудь). Кто знает такой кинте линки.
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 22:55, спустя 7 минут 17 секунд


    Начал изучать смарти. Хотел бы посмотреть работающий скрипт с его использованием (цмс-ку к-нибудь). Кто знает такой кинте линки.


    моя цмска работает на нем
    на работе буду покажу исходник
    adw/0
  • md5

    Сообщения: 11950 Репутация: N Группа: в ухо

    Spritz 28 августа 2007 г. 22:56, спустя 1 минуту 10 секунд

    смарти осваивается за пару дней опытов =)
    - данные обрабатываются
    - передаются в шаблонизатор (при помощи $smarty -> assign(\'var\', $data))
    - в шаблонизаторе эти данные аккуратно размещаются среди тэгов html =)

    все просто
    все умрут, а я изумруд
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 0:32, спустя 1 час 35 минут 39 секунд


    смарти осваивается за пару дней опытов =)
    - данные обрабатываются
    - передаются в шаблонизатор (при помощи $smarty -> assign(\'var\', $data))
    - в шаблонизаторе эти данные аккуратно размещаются среди тэгов html =)

    все просто

    Это понятно, непонятно как хранить шаблоны. Для каждой страницы или модуля (формы, таблицы) отдельный шаблон, а так же по одному для верха и низа? Или как?
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 0:40, спустя 8 минут 28 секунд

    Извиняюсь за размещение темы не в том разделе. Не увидел нужный форум…
  • md5

    Сообщения: 11950 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 0:47, спустя 6 минут 51 секунду

    пример.

    у нас есть html шаблончег и несколько разных страниц:
    1. главная (шапка + блон посл. новостей + футер)
    2. контентная страница (шапка + контентный блок + футер)
    3. страница с новостями (шапка + вывод новостей + футер)

    мы делаем 3 основных шалона:
    1. index.tpl
    2. content.tpl
    3. news.tpl

    и 5 дополнительных
    1. header.tpl
    2. footer.tpl
    3. news_block.tpl
    4. content_block.tpl
    5. news_layout.tpl

    в index.tpl мы подключаем 3 подшалона {include file=\'blocks/header.tpl\'} и т.д.
    на остальных по аналогии

    приме для новостей:
    в обработчике мы формируем массив новостей, потом передаём в шаблон
    в шаблоне мы с помощью конструкции
    {foreach key=key item=n from=$news}
    выводим в цикле эти новости с форматированием
    {/foreach}

    давай на конкретных примерах…
    все умрут, а я изумруд
  • md5

    Сообщения: 11950 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 0:48, спустя 50 секунд


    Извиняюсь за размещение темы не в том разделе. Не увидел нужный форум…

    Добавил к расширениям php и шаблонизаторы, думаю, тут им самое место
    все умрут, а я изумруд
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 1:02, спустя 14 минут 32 секунды


    пример.

    у нас есть html шаблончег и несколько разных страниц:
    1. главная (шапка + блон посл. новостей + футер)
    2. контентная страница (шапка + контентный блок + футер)
    3. страница с новостями (шапка + вывод новостей + футер)

    мы делаем 3 основных шалона:
    1. index.tpl
    2. content.tpl
    3. news.tpl

    и 5 дополнительных
    1. header.tpl
    2. footer.tpl
    3. news_block.tpl
    4. content_block.tpl
    5. news_layout.tpl

    в index.tpl мы подключаем 3 подшалона {include file=\'blocks/header.tpl\'} и т.д.
    на остальных по аналогии

    приме для новостей:
    в обработчике мы формируем массив новостей, потом передаём в шаблон
    в шаблоне мы с помощью конструкции
    {foreach key=key item=n from=$news}
    выводим в цикле эти новости с форматированием
    {/foreach}

    давай на конкретных примерах…

    о_О теперь понял! Огромное спасибо! Мозги чуть не закипели.
    P.S.
    Хотя поглядеть на скрипт с использованием смарти в-таки хотел бы.
  • md5

    Сообщения: 11950 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 1:20, спустя 18 минут 5 секунд

    на какой скрипт?
    тебе нужен шаблон и php скрипт передающий данные в шаблон?


    вот пример блока новостей:

    {foreach key=key item=n from=$news_block}
    <h3><a href=&quot;/news/{$n.id}/&quot;>{$n.date}</a></h3>
    <p>{$n.content_s}</p>
    {/foreach}


    вот так берутся и передаются данные:

    <?php

    $array = array();

    $query = &quot;SELECT `id`, `date`, `content_s`
    FROM `{$config -> table[&#39;news&#39;]}`
    ORDER BY `date` DESC
    LIMIT 5&quot;;
    $sql = $mysql -> Query ($query) or die ($mysql -> Error(&quot;&quot;,__FILE__,__LINE__,mysql_error()));

    while ($row = $mysql -> FetchAssoc($sql))
    $array[] = $row;

    $smarty -> assign(&#39;news_block&#39;, $array);

    ?>


    это только пример
    все умрут, а я изумруд
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 4:07, спустя 2 часа 46 минут 52 секунды


    на какой скрипт?

    на работающий. посмотреть правильное использование и все такое. у меня просто обучение плодотворнее происходит на примерах. как все это делается и работает теперь понятно. md5, спасибо за помощь.
  • Sinkler

    Сообщения: 9655 Репутация: N Группа: в ухо

    Spritz 29 августа 2007 г. 4:08, спустя 1 минуту 2 секунды

    просто в оф. мануале больно простые примеры.
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 7 января 2008 г. 4:51, спустя 131 день 1 час 43 минуты

    Не создаю отдельную тему, ибо не хочется захлямлять форум…
    У меня вопрос, коим образом в смарти делать конкатенацию (объединение строк)? Весь день эксперементировал и вот до чего дошел:
    {assign var=&quot;tmp&quot; value=&quot;1&quot;}
    {assign var=&quot;tmp&quot; value=$tmp.&quot;2&quot;}
    {$tmp}
    на сие выводится следующая строка:
    1.&quot;2&quot;
  • md5

    Сообщения: 11950 Репутация: N Группа: в ухо

    Spritz 7 января 2008 г. 5:15, спустя 23 минуты 31 секунду

    http://www.smarty.net/manual/ru/language.math.php

    {assign var=&quot;tmp&quot; value=&quot;`$tmp+2`&quot;}
    все умрут, а я изумруд
  • md5

    Сообщения: 11950 Репутация: N Группа: в ухо

    Spritz 7 января 2008 г. 5:16, спустя 1 минуту 29 секунд

    не нах или это
    http://www.smarty.net/manual/ru/language.syntax.quotes.php
    все умрут, а я изумруд
  • kendo

    Сообщения: 446 Репутация: N Группа: Адекваты

    Spritz 7 января 2008 г. 11:16, спустя 5 часов 59 минут 50 секунд

    При помощи арифметики не получалось сделать…
    Буду пробовать еще…

Пожалуйста, авторизуйтесь, чтобы написать комментарий!