Pull to refresh

Административный интерфейс с SonataAdminBundle

Reading time 10 min
Views 49K
Symfony *
В базовой поставке Symfony 2 предусмотрен только минимальный функционал создания CRUD интерфейса. Для реализации административного интерфейса разработан ряд бандлов, в частности SonataAdminBundle.
Читать дальше →
Total votes 18: ↑16 and ↓2 +14
Comments 12

Интеграция CKEditor в SonataAdminBundle

Reading time 2 min
Views 6.2K
Symfony *
Собственно говоря, встраивается этот WYSIWYG редактор “легким движением руки”. Необходимо лишь загрузить его javascript код на страницу админки и добавить класс “ckeditor” к необходимому textarea полю. Но есть и один нехороший подводный камень, о котором я и написал в посте.

Читать дальше →
Total votes 5: ↑4 and ↓1 +3
Comments 0

Редактирование древовидных структур с SonataAdminBundle в Symfony2

Reading time 9 min
Views 14K
Symfony *
Редактирование древовидных структур — довольно частая задача в веб-разработке. Это очень удобно пользователю, поскольку дает ему возможность создавать любые иерархии у себя на сайте. Естественно, что после перехода на Symfony2, одной из первых задач стало создание такого иерархического списка страниц и написание админки к нему. А так как в качестве админки я использую SonataAdminBundle, то задача сводилась к настройке его для редактирования деревьев.
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Comments 9

Страница, не связанная с сущностью, в SonataAdminBundle

Reading time 3 min
Views 10K
Symfony *
Основная задача SonataAdminBundle – создание конфигурируемого интерфейса для редактирования сущностей ORM/ODM-модели. Однако, в какой-то момент может понадобиться создать произвольную страницу в административном интерфейсе, не связанную с какой-либо сущностью, чтобы дизайн новой страницы полностью вписывался в дизайн страниц SonataAdminBundle и, соответственно, разместить ссылку на неё на главной странице.

Для опытного Symfony 2 разработчика задача не представляет особой сложности, новичкам же – может доставить немало хлопот (как это было в моём случае).
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Comments 5

Связываем Doctrine Entity и Doctrine Document на форме в Sonata Admin Bundle

Reading time 7 min
Views 6.1K
Website development *Symfony *MongoDB *
Tutorial
Sandbox
В процессе разработки интернет-магазина была поставлена задача реализовать адресную книгу для авторизованного пользователя. Таким образом, чтобы сам пользователь хранился в базе mysql, а связанные с ним адреса — в mongoDB. Отдельного внимания данная задача заслуживает в части управления пользователями и их адресными книгами из админки, основанной на SonataAdminBundle.

Исходные данные:


Есть доктриновская сущность User и доктриновский документ Address. Между ними должна быть установлена связь один-ко-многим. Всё это должно управляться с формы добавления пользователя в админке на базе сонаты. Поскольку у 1 юзера может быть много адресов, на форме добавления пользователей должна быть реализована коллекция форм добавления адресов с кнопками «добавить», «удалить» и inline редактированием полей связанных адресов. Этим мы и займёмся далее.

Что нам надо:


1) Установить @Gedmo\References doctrine-extension

Это нужно, чтобы мы могли получать коллекцию связанных адресов для заданного юзера из монго, и наоборот — привязанного юзера к каждому адресу из mysql.
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Comments 3

Реализация системы тегов в админке с бандлом SonataAdminBundle

Reading time 12 min
Views 6.7K
PHP *Symfony *
Recovery mode
Многие пользуются бандлом SonataAdminBundle при разработке на Symfony2. Этот бандл позволяет в кратчайшие сроки создать CRUD-админку для сущностей Doctrine и Mongo. В частности, позволяет быстро и легко сделать странички для добавления сущностей, в том числе включающими связи Один-ко-Многим и Многие-ко-Многим. Вот с последним пунктом у меня и возникли проблемы. В статье я покажу решение, как можно организовать установку тегов для нескольких сущностей, задействуя всего одну промежуточную таблицу, с помощью бандла FPNTagBundle, и что пришлось сделать, чтобы этот бандл заработал в SonataAdmin. А вначале рассмотрим, как реализовать редактирование сущностей (в том числе с тегами) на простой SonataAdmin
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 1

Внедряем работу с координатами в sonata-admin

Reading time 3 min
Views 4.1K
PHP *Symfony *Doctrine ORM *
Доброго времени суток, %habrauser%!

Недавно встала задача, хранить в базе данные GPS с дальнейшей возможностью применения различных геометрических функций mysql. Управление координатами должно осуществляться из sonata-admin. Что из этого получилось можно прочитать под катом.
Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Comments 0

Внедряем Bootstrap 3 Datepicker в SonataAdminBundle

Reading time 8 min
Views 18K
Website development *PHP *Symfony *
Sandbox
В этой маленькой заметке я расскажу о том, как подключить удобный datepicker в админку Symfony. По умолчанию datepicker в SonataAdminBundle выглядит так:



А мы его превратим в удобные и красивые контролы:



Те, кто еще мучаются с неудобным datepicker-ом, добро пожаловать под кат.

Если вам не нужен выбор времени, то вы может воспользоваться готовым решением, спасибо dmkuznetsov
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Comments 20