dorian
Июль 6, 2012 19:41:23
Многие простейшие php фреймворки это умеют (Codeigniter, Kohana, Yii и тд.), есть похожее у флакса(blueprints). Есть ли нечто подобное для Pyramid?
appetito
Июль 7, 2012 12:04:10
подобное чему? что именно нужно?
dorian
Июль 7, 2012 18:30:02
appetito
подобное чему? что именно нужно?
страница приложения состоит из основного контента и модулей. Пирамида позволяет обрабатывать единый контроллер за реквест, что приводит к различного рода костылям для рендеринга блоков. Сейчас этот вопрос решается через шаблоны, которые пестрят хардкодом. Например, в том же Codeigniter есть возможность из представлений обращаться к другим контроллерам, получая на выходе отрендеренную страницу с основным контентом и блоками.
appetito
Июль 7, 2012 21:36:36
я в таких случаях блоки генерирую с помощю функций, их можно описать в отдельном модуле и пробросить в шаблоны, а там писать что-то типа {{ widgets.my_cool_widet(request, params) }} /для jinja2/
если блоков много и они генерируются сещественное время, то лучьше использовать SSI include - так страница соберется из модулей гораздо быстрее
ziro
Июль 8, 2012 22:00:01
Уточните, пожалуйста, шаблонизатор, который Вы используете. Так как поддержка виджетов и блочное наследование имеется, например, в Mako и jinja2. Ну и с хардкодом можно обойтись разными способами.
dorian
Июль 12, 2012 19:19:15
ziro
Уточните, пожалуйста, шаблонизатор, который Вы используете. Так как поддержка виджетов и блочное наследование имеется, например, в Mako и jinja2. Ну и с хардкодом можно обойтись разными способами.
Mako, блоки используем конечно. Например вывод курсов и котировок. Пока реализовано хардкодом в блоке. Примерчик
в мейне
<%block name="rates">finrates</%block>
ну и в шаблоне
<%inherit file="mayapp:templates/layouts/home.mak"/>
<%block name="rates">
# hardcode
</%block>
dorian
Апрель 18, 2013 15:21:28
Давняя тема, но тем не менее….
Для решения использую
pyramid_layout, уверен многим пригодится