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

scorpion-ds

Новичок
Интересует у кого какой опыт, мнение, как должен реализоваться административный интерфейс в проектах на Symfony (собственно и в других фрейм верках)?

У меня возникала такая проблема:
Я занимался своим первый проектом на SF2, это внутренний, коммерческий проект, времени было 2-3 месяца (в перерывах между другими проектами), назначение интернет-магазин.

В качестве административного интерфейса я использовал Sonata, что бы не тратить время еще на разработку админки, в целом я видел, что она далека от идеала, от нее я взял средства авторизации (которые собственно сами основаны на FOS), CRUD (для управления сущностями) и медиа-библиотеку (их магазин, блог, якобы дружественное управление страницами я не использовал).

Сейчас руководство занялось проверкой проделанной работы и от админки они можно сказать в шоке, получилась она чрезмерно сложной, особенно большое количество действий для добавления картинок, неудобное управления характеристиками товара (sonata_type_collection, соответственно через другую сущность), также к примеру на странице контактов список телефонов фиксированный (в том же WP я делал подобное через плагин повторяющихся полей, но не заводить же тут сущность ради такой мелочи) и т.п.

В общем, интересует, кто как обычно реализует админки для SF и других фреймверков?
 

Redjik

Джедай-мастер
Юзаю кодогенераторы для crud. Для действий с деревьями пишу всякую хрень на основе dynotree.
совсем хитрый ui на ангуляре на коленке собираю аля RESTful через Resource
 

scorpion-ds

Новичок
Юзаю кодогенераторы для crud.
Это же я так понимаю тот же Sonata или есть что-то более удобное? Ну собственно для классики намой взгляд Sonata нормально выглядит, а вот когда начинаешь встраивать всякие повторяющиеся поля, галереи и т.п., получается монстр.

Для действий с деревьями пишу всякую хрень на основе dynotree.
совсем хитрый ui на ангуляре на коленке собираю аля RESTful через Resource
Да мне такая идея приходила в голову, но я бы не осилил еще и Ангуляр выучить, что бы реализовать интерфейс на нем, хотя бы просто по времени на изучение.
 

Redjik

Джедай-мастер
Это же я так понимаю тот же Sonata или есть что-то более удобное? Ну собственно для классики намой взгляд Sonata нормально выглядит, а вот когда начинаешь встраивать всякие повторяющиеся поля, галереи и т.п., получается монстр.
Хз, я со стороны yii смотрю... делаю очень просто, одна модель - один crud, + dropdown для связей, 90% хватает, чтобы покрыть функционал
не надо пихать все на одну страницу

Классический пример возьмем. Есть статья, есть автор, есть слайдшоу сниппет на главной.
Получаем на выходе. Crud автора, crud статьи, crud галлереи.
 
  • Like
Реакции: AmdY

hell0w0rd

Продвинутый новичок
Я полностью на ангуляре делаю админку, в последних 2 проектах. Sonata - монструозная неповоротливая хрень. https://github.com/marmelab/ng-admin - вот еще хочу попробовать, хотя если сам все делаешь - можно удобнее обычно делать.
 

scorpion-ds

Новичок
Было бы интересно попробовать, может для себя попробую.

Но я не думаю, что вытяну сам делать еще и "верстку админки", за время я переживаю, можно привлечь Front-end разработчика, но они у нас очень сильно загружены, мне нужна серьезная аргументация, что так будет лучше, ну думаю, что через пару проектов я смогу аргументировать, что надо свою админку делать, для таких проектов.
 

hell0w0rd

Продвинутый новичок
Bootstrap + angular - красивые и быстрые админки получаются)
 

AmdY

Пью пиво
Команда форума
hell0w0rd, Redjik, а какие дополнительные библиотеки помимо angular-ui вы используете для админок на ангуляре?
 

hell0w0rd

Продвинутый новичок
Redjik, а я от $resource отказался. Проще самому написать его, и реализовать $save, который POST/PUT сам выбирает.
AmdY, как сказал выше - хочу ng-admin попробовать... Для загрузки картинок свой велосипед написал, для обрезки jcrop обернул в директиву, https://github.com/summernote/angular-summernote - wysiwyg.
В принципе в админке в любом случае приходится jquery подключать, а значит любой недостающий плагин, либо ищем директиву, либо сами оборачиваем)
 

Redjik

Джедай-мастер
Для загрузки картинок свой велосипед написал, для обрезки jcrop обернул в директиву, https://github.com/summernote/angular-summernote - wysiwyg.
О кстати по поводу картинок - юзаю мейлрушную либу вовсю http://habrahabr.ru/company/mailru/blog/201010/
Wysiwyg - CKEditor с несколькими кастомными плагинами, чтобы галерейки простенькие клепать
 

hell0w0rd

Продвинутый новичок

hell0w0rd

Продвинутый новичок
Кстати, недавно обнаружил, что angular поддерживает контроллеры-классы. Так что можно писать офигенный код с es6.
Код:
class UserController {
    static get $inject() {
        return ['UserApi'];
    }

    constructor(UserApi) {
        this.api = UserApi;
    }
}
 

Активист

Активист
Команда форума
Юзаем bootstrap 3 (для админок покупаем шаблоны на твитер бутстрапе). Дополнительные библиотеки (по мере надобности) качаем и подключаем через пакетный менеджер bower . Вот про angular надо почитать.
 

scorpion-ds

Новичок
hell0w0rd, да я как раз и пишу ее, точнее использую Sonata, там генераторы кода есть, а если самому делать, то кроме серверной части еще и верстку самому на админку ставить. В общем меня (точнее руководство) волнуют временные затраты, так как нужно побыстрей, но и решение в виде Sonata тоже не устраивает.
 
Сверху