Pull to refresh

Мои плагины для Smarty

Reading time7 min
Views4.1K
Недавно в блоге PHP пролетала статья про наследование шаблонов в Smarty, которая навела меня на мысль: я уже на протяжении нескольких лет использую Smarty в качестве основного шаблонизатора и у меня накопилось множество написанных мною плагинов для расширения базового функционала. Почему бы не поделиться с сообществом своими наработками и послушать других? Я думаю, у многих есть чем поделиться по этой теме…
Читать дальше →
Total votes 41: ↑29 and ↓12+17
Comments21

smarty перестал дружить с php.net?

Reading time1 min
Views764
Очень странно — захожу на smarty.php.net и созерцаю там вместо веб-сайта популярного шаблонизатора страницу об ошибках в php (http://bugs.php.net).
Интересно, к чему бы это?

(Официальный сайт Smarty так же доступен по адресу www.smarty.net)
Total votes 1: ↑4 and ↓-3+7
Comments28

Вышел alpha-релиз Smarty 3

Reading time2 min
Views1.1K
Оказывается, третьего дня, то есть 17 октября сего года, вышел альфа-релиз многими любимого (и многими же презираемого) шаблонизатора Smarty.

Интерфейс шаблонизатора особо не изменился. Это всё те же display(), fetch() и assign(), которые покрывают процентов 99 всех потребностей. Монструознное assign_by_ref() почило в бозе. Туда ему и дорога ;)

Внутренности же претерпели более существенные изменения:
Читать дальше →
Total votes 72: ↑56 and ↓16+40
Comments138

Наследование шаблонов в Smarty

Reading time4 min
Views12K
Когда-то, давным-давно, мне пришлось использовать небезызвестный шаблонизатор Smarty. Сначала я, понятное дело, возмущался и кричал, какая же гадость эта заливная рыба Smarty, а потом «распробовал» и втянулся. Те удобства, которые он давал, с лихвой компенсировали мысли о том, что есть и более быстрые шаблонные движки.

Шаблоны я обычно строил с помощью инклюдов: в начале подключался header.tpl, в конце — footer.tpl, в середине ещё что-нибудь нужное. В целом разметка получалась довольно аккуратной, но не проходило ощущение, что не хватает чего-то важного. Окончательно понимание этого чего-то появилось, когда мне случилось написать простенькое приложение на Django. И это «что-то», как все поняли, оказалось наследованием шаблонов. Простая, как и всё гениальное, идея позволяла существенно упростить шаблоны и избавиться от дублирующих блоков.

А почему бы не реализовать подобный механизм в Smarty?
Total votes 65: ↑52.5 and ↓12.5+40
Comments54

приемы работы с шаблонизатором

Reading time3 min
Views1.3K

Вложенный шаблон должен задать title


чаще всего встречал такую проблему: в середине страницы выводится блок, этот блок задает Title, но реально Title уже выведен в head как быть?
Читать дальше →
Total votes 31: ↑18 and ↓13+5
Comments68

Обзор шаблонизатора Quicky: Производительность и Гибкость

Reading time5 min
Views5K
Quicky — hi-end шаблонизатор, написанный на PHP отличающийся гибкой функциональностью, и в то же время, высокой производительностью. За основу взят синтаксис и функционал Smarty.


содержание:
переход со Смарти, на Quicky
— — чем Quicky лучше Smarty?
Quicky быстрее PHP-native?
Quicky темная сторона силы.
Комьюнити Quicky. (теперь все тут http://code.google.com/p/quicky/)
Богатые возможности Quicky.
Вместо заключения. Личное мнение.
Читать дальше →
Total votes 89: ↑70 and ↓19+51
Comments239

Споры о шаблонизаторах: троллинг или умные мысли?

Reading time3 min
Views1.6K
причины родились в том, что в топах посвященных обзорам конкретных шаблонизаторов спорят на обобщенную тему:
Обзор шаблонизатора Quicky: Производительность и Гибкость.
MACRO — гибкий PHP шаблонизатор, с человеческим «лицом»
раследование проведено на основе данных, полученных в топе:
HolyWar: Шаблонизаторы. Нужны ли они? состоятельны ли они? Форум.
результаты расследования под катом
Читать дальше →
Total votes 68: ↑55 and ↓13+42
Comments76

Вся правда о шаблонизаторах

Reading time10 min
Views35K
Статейка старенькая, но думаю до сих пор актуальная

Cлишком часто я в последнее время слышу слово «шаблонизатор». Не утихают споры между сторонниками разных шаблонных движков. Одни говорят что логика в шаблонах это хорошо, другие считают что это зло. Даже сейчас очень часто встречаются проекты, написанные вообще без применения какого либо шаблонизатора. Но в этой статье я не буду предпринимать попыток стать на сторону одной из сторон. Я не буду вам доказывать преимущества ни одного из подходов. Я просто постараюсь рассказать обо всех из них с точки зрения теории. Эта статья не о конкретных программных продуктах, а о способах выделения логики представления в ваших приложениях.
Читать дальше →
Total votes 18: ↑9 and ↓90
Comments48

Smarty обновился до версии 2.6.22

Reading time1 min
Views650
В связи с некоей ошибкой в библиотеке PCRE из PHP 5.2, скоропостижно (спустя всего 15 дней после выхода 2.6.21, в котором, наконец, сподобились ввести method chaining) зарелизилась версия 2.6.22 шаблонизатора Smarty. Проблемы, возникающие при «some versions of PCRE» (ц), решились гениально и просто — выкидыванием нафиг самого вкусного изменения прошлого релиза :)

Официальный CHANGELOG на офсайте.
Total votes 10: ↑6 and ↓4+2
Comments13

Smarty-плагин для Gravatar

Reading time2 min
Views1.1K
Многим известно про популярный сервис — Gravatar. Кратко напомню его суть — любой пользователь может зарегистрироваться там, загрузить свой аватар и связать его со своим e-mail адресом. Сервис Gravatar предоставляет возможность получить аватар любого зарегистрированного пользователя. Данный плагин позволяет построить адрес для аватара пользователя в Smarty шаблонах.
Подробнее о плагине...
Total votes 8: ↑7 and ↓1+6
Comments0

Smarty в управляемой представлениями модели

Reading time4 min
Views2.8K
Обычно шаблонизатор Smarty применяется так: вы пишете код, который создаёт набор данных для шаблона, отдаёте вместе с названием шаблона смарти и тот «соединяет бренды», выводя в браузер результат.

Это так называемая модель с ведущими контроллерами. То есть контроллер полностью отвечает за то, что получил шаблонизатор и вообще командует всем.

Ещё есть модель с ведущими представлениями. В ней представление говорит контроллеру «а дай-ка мне, дорогой друг, список последних постов», после чего контроллер дёргает модель, добывает этот список, обрабатывает и отдаёт представлению (в нашем случае — шаблонизатору).

Читать дальше →
Total votes 41: ↑26 and ↓15+11
Comments113

Русский без роботизма, часть 1

Reading time2 min
Views2K
Я всецело за чистоту и правильное использование русского языка. В жизни вообще и в рунете в частности. Ибо от надписей вроде «23 штука» или усреднённых вариантов «23 шт.» мягко говоря коробит.

Поэтому, когда встала задача побороть роботизм в окончаниях существительных, была разработана и реализована соответствующая функция (вернее сказать плагин для Smarty).
Читать дальше →
Total votes 61: ↑36 and ↓25+11
Comments53

Ещё один php шаблонизатор

Reading time9 min
Views13K

Доброго времени суток,

Хочу рассказать о своём шаблонизаторе для проектов на PHP.
Понимаю, что рискую быть обвинённым в изобретении велосипеда, поэтому объясню свои мотивы: Большинство шаблонизаторов меня не устраивают изначально, среди них Smarty, Quicky и все им подобные, причина — мне кажется, что шаблонизатор должен избавлять от использования логики в шаблонах, а не навязывать свой синтаксис для той же логики.
Иначе говоря, такой:
  1. {?$x = 2+2}
, или такой
  1. {foreach name=my from=array('One','Two','Three') key="i" item="text"}
подходы для меня абсолютно неприемлимы!
Пожалуй, из всех шаблонизаторов больше всех удовлетворяет моим требованиям xtemplate, но у него есть целый ряд недостатков которые меня раздражают, например то, что все страницы нужно обрамлять в блоки, или то, что он интерпретирует шаблоны, а не компилирует, благодаря чему скоростью похвастаться не может. Ну и последнее — я решил написать шаблонизатор так, чтобы не было никаких проблем с добавлением функционала, а также, чтобы он был совместим с нативным шаблонизатором, который я использовал до этого, и к которому привык. Дело в том что конструкция 
  1. $tpl->assigned_var='abc';
которую часто используют нативные шаблонизаторы, мне нравится гораздо больше чем что-нибудь вроде:
  1. $thl->assign('assigned_var','abc');
Читать дальше
Total votes 13: ↑8 and ↓5+3
Comments44

новый Дебагер для Smarty: теперь доступен дебагер от Quicky

Reading time1 min
Views1.1K
Никогда мне не нравился дебагер для Смарти: огромные полотна массивов, невозможность посмотреть длинный текст, не отображении отладки для объектов — эти недостатки были исправлен в шаблонизаторе Quicky, но до сих пор многие пользуются Smarty (и у меня часть проектов), поэтому сел я как-то и написал нормальный дебагер для смарти тоже — всем кому нужно пользуйтесь, комментируйте

Отличия:
— древовидное раскрытие массивов
— дебаг объектов
— возможность посмотреть всю текстовую переменную

скачать побаловаться|посмотреть|попробовать|полюбить здесь:
pagin.ru/download/smarty_debug.zip

UPD: минусовщики вы хоть обоснуйте за что минусуете, а то не красиво так
Читать дальше →
Total votes 49: ↑33 and ↓16+17
Comments19

Использование шаблонов SMARTY с PEAR HTML_QuickForm

Reading time13 min
Views3.7K

1. Введение.


Что из себя представляет эта статья.


Данная статья является простым введением в использование шаблонов Smarty с классами PEAR HTML_QuickForm. Статья не является исчерпывающим руководством, и фактически представляет лишь малую часть функциональности шаблонов Smarty. Однако для новичка в использовании шаблонов Smarty данная статья будет полезной базой.

Идем дальше...
Total votes 9: ↑5 and ↓4+1
Comments4

Рендереры Twig, Smarty и Quicky для Yii

Reading time1 min
Views6.9K
В Yii существует возможность использовать альтернативный синтаксис шаблонов и прикручивать к фреймворку различные шаблонизаторы.

В четверг я познакомился с шаблонизатором Twig и решил ради эксперимента приладить его к Yii.

Разобравшись, я понял, что это не так уж и сложно. Сделал то же для Smarty и Quicky. Код оформлен как расширения Yii. Инструкции по установке есть на страничках расширений:
Ну и, как обычно, принимаю пожелания, баги, критику и отвечаю на вопросы.
Rating0
Comments2

Шаблонизатор PHPTAL

Reading time3 min
Views893
У данного шаблонизатора подход, который отличается от прочих типов шаблонизаторов. И это не может не заинтересовать.
По запросу PHPTAL хабр выдает только одну ссылку,
TAL — это Атрибутивный Язык Шаблонов. Он так называется, потому что команды языка являются атрибутами тегов.
читать дальше
Total votes 28: ↑13 and ↓15-2
Comments17