Бунд
А что если пикабу специально задумал это все, чтобы вызвать бунд, волну постов, увеличение трафика, увеличение kpi и получения премии?)
Пользуясь случаем - плюсов накидайте Штолле. Вдруг в топ попаду и реклама отключится )))
А что если пикабу специально задумал это все, чтобы вызвать бунд, волну постов, увеличение трафика, увеличение kpi и получения премии?)
Пользуясь случаем - плюсов накидайте Штолле. Вдруг в топ попаду и реклама отключится )))
Данная статья написана для тех, кто только начинает изучать symfony и не является носителем обширных знаний про термины, методы работы с кодом и прочее. Однако, понимает как работает композер, терминал и прочие базовые вещи, иначе пришлось бы написать целую книгу, наверное. В общем, для тех, кто имеет базовые знания, но еще не освоился с тем как и чего работает.
По этому я старался написать простым языком, упрощая в некоторых местах, чтоб не забивать головы людей не самыми важными, на мой взгляд, на начальном этапе вещами.
В моей практике, самым используемым бандлом вместе с Symfony является бандл Sonata Admin. Ссыль на мануалы актуальной версии тут.
Это такой пакет для Symfony, который позволяет очень просто создать админ-панель для практически любого проекта.
Сложными словами: пакет, который позволяет создать конфигурируемый интерфейс редактирования сущностей ORM-модели.
Пакет работает с любыми типами баз данных, совместимыми с symfony. В моей практике были работы с MySQL и PostgreSQL.
Все просто. Открываем сайт с мануалом, устанавливаем, потом просто открываем /admin и вуаля, у нас пустая админка для сайта. На скрине не совсем пустая, тут еще прикручено пару вещей, но общий смысл будет понятен.
А если добавить еще и какой-нибудь User Bundle, например FOSUserBundle, то при входе в админку будет еще и авторизация. А так же в админке можно будет добавлять и редактировать пользователей у вас на проекте.
Кстати, в Symfony можно легко поменять любой шаблон в бандле и вставить свой логотип, например. Или вообще другое оформление, но про это как-нибудь в другой раз.
А дальше в админку можно добавить для редактирования любую таблицу, которую вы используете на проекте.
Нужно описать таблицу в App\Entity, создать конфигурацию для админки в App\Admin, потом просто подключить все к админке в config/services.yaml
Какой ты простой, скажет читатель, все рассказал, но ничего не понятно, давай пример.
Вот и пример.
Хочу я сделать, например, блог. Наверное, самый типичный пример из любого поста про подобные штуки, поскольку блог сочетает в себе большую часть базового функционала. У каждого блога, самая главная часть - посты. Вот на их примере я и покажу как это работает.
1) Нужно описать таблицу в App\Entity
Займемся этим. Что нам нужно для примитивной запись в блоге? Конечно же Заголовок, Контент, дата публикации и уникальный идентификатор записи, чтоб ее можно было открыть по ссылке.
Создаем Entity/News/Post.php
Прописываем нужные поля внутри. Я решил вставить скриншотами, так как здесь я не нашел возможности адекватно представить код так, чтоб все не съехалось и не превратилось в кашу.
@moderator, а не планируется функционал вставки кода в редакторе?
Про то как осуществлять мапинг в Доктрине, я думаю, нужно рассказать отдельным постом. Пока что, если вы не знаете что там происходит, просто примите код таким, какой он есть.
Нужно не забыть добавить функцию
Эта функция обеспечит автоматическое добавление даты создания в пост, именно в момент его создания.
Так же, описываем геттеры и сеттеры, людям, что знакомы с ООП, это все знакомо, приводить код в пример не буду. Если очень лень, многие IDE умеют генерировать все сами. Например, phpStorm предлагает целое меню того, что можно сгенерировать
А так же, можно создавать entity не вручную, а через команду в консоли php bin/console make:entity, которая задаст несколько вопросов про типы полей и сама все сделает - это довольно удобно, но я привык вручную, так уж вышло.
Не забудьте сделать миграцию и применить ее.
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate
2. Cоздать конфигурацию для админки в App\Admin
Создаем Admin/News/PostAdmin.php
В этом файле необходимо прописать поля для админки. Для этого есть несколько функций.
configureListFields() - размечает поля, которые должны быть отображены на главной странице, при выборе элементов для редактирования, а так же, какие туда добавить кнопки. Например, кнопка показать, редактировать, удалить и так далее.
configureDatagridFilters() - рассказывает админке по каким полям можно вести поиск.
configureFormFields() - Здесь описываются поля для страницы редактирования объекта
configureShowFields() - Здесь поля для отдельной страницы, которая позволяет просто посмотреть данные об объекте.
3. Подключить все к админке в config/services.yaml
Открываем config/services.yaml и добавляем:
Вуаля, у нас все работает:
Можно добавлять новость
Ты чего, хочешь чтоб я писал текст новости в простом текстовом поле? А как же заголовки, параграфы, все такое, писать прям html разметкой чтоль? - Спросил бы читатель.
А это легко исправить, отвечу я. Есть множество редакторов, доступных в интернетах, я привык использовать ckeditor, под него есть даже специальный бандл. Устанавливаем его так, как написано в мануале, подключаем в Admin/News/PostAdmin.php и вуаля. У нас есть визуальный редактор новости.
Итого, у нас есть блог, куда можно добавлять простые записи и админка для него. Я думаю, этого достаточно для описания базового функционала Sonata Admin.
Я думаю будет полезно создать серию постов про создание блога, который более подробно опишет методы работы и то как это вообще происходит постепенно. Предлагайте в комментариях, что мы будем дальше делать в нашем блоге из функционала, а я подумаю про то, в каком порядке будет полезнее и понятнее реализовывать данный проект :)
Всем спасибо, я закончил! 😌 Вот вам кот из интернетов
Из минусов эппл музыки я всегда считал отсутствие возможности забанить трек. Есть только "предлагать меньше", что меня не устраивает. Ну, бесит меня конкретная песня, а музыка ее все равно будет предлагать. Только реже.
Сейчас на Пикабу увидел нововведение..
Куда то пропала возможность забанить тег навсегда. Полазил по настройкам всяким и Игнор-лист не нашел. @moderator, было бы удобно, чтоб "Игнор-лист" было кликабельным прям тут.
Может я слепой, может его запрятали куда, но я хочу выразить недовольство этим событием
Всем привет!
Я разработчик на symfony и мне не хватает раздела про этот фреймворк на Пикабу. Почему я должен узнавать новости и всякие удобные штуки от коллег, а не листая ленту любимого Пикабу?
Есть задача - реши ее. Есть потребность - восполни ее. Особенно, будет приятно, если потребность не только у меня и я смогу найти единомышленников и делиться между собой всякими интересными решениями, бандлами и схемами.
Я решил публиковать здесь свои личные заметки про то, как и что я реализую, использую, чтобы поделиться опытом с другими. Вдруг кто-то не знает про то, что знаю я.
Так же приветствую аналогичный контент от пользователей Пикабу, дабы все вместе мы смогли узнавать что-то новое и делиться своим опытом!
Вот вам кот:
Кот не мой, честно взят с просторов интернета. Но он прикольный.
При создании сообщества есть плашка внизу
При клике на кнопку происходит переход на ссылку https://help.pikabu.ru/article/39877, а там ошибка
Совсем забыв о том, что на Пикабу существуют ачивки, я листал ленту и вдруг прилетело уведомление, что дали очередную ачивку
Кайф, подумал я, мне дали очередную. Открыл посмотреть за что там еще дают и был крайне удивлен, что осталось всего две. Ого, я как-то автоматом и без цели заполучить все, заполучил почти все.
С сообществом понятно, я его и не создавал, на Пикабу и так хватает сообществ на любой вкус, но как же поделиться в соцсетях? Я это делаю каждый день, скидывая тонны шуток друзьям.
Не знаю как это работает, но, видимо, на Пикабу походу надо скинуть как-то хитрожопо) Я заинтересовался. Скинул через кнопку поделиться в телегу - не помогло. Скинул пост на стену вк - не помогло. Попробовал по-разному, все равно ачивки нет.
Так-то пофиг, но обидно 🧐. Баг? Фича? Не знаю.
ЗЫ: судя по количеству баллов есть еще одна скрытая ачивка на 10 баллов.
Я бы тиканье часов врубил в виброколонке им. Пусть ищут откуда у них там тикает и думают, что крыша съехала )))
Недавно разочаровался в том, что раньше можно было снимать наличные с карты до 50к, потом ввели комиссию и нельзя.
Увидел в новом тарифе про 365 дней беспроцентного, что там можно снимать до 50к. Ну что. Закрыл свою, подождал 45 дней (для закрытия кредитки надо) оформил новую. Альфа сама предложила.
Вроде все ок, и первый год карта бесплатно и беспроцентный период больше и снимать можно 50к в месяц.
Правда одно НО. Беспроцентный период не распространяется на снятие наличных. И процент на них под 60% годовых. Охуели.
Для налички взял Тинькофф. У него можно даже на другую карту по сбп перевести без комиссии. Правда беспроцентный период небольшой. Я то все равно покрываю раньше чем он кончится, но со 100 днями было как то спокойнее.