Trao đổi về dự án

Danh mục

Sonata

26 bài viết

Sonata Extra Bundle: tường lửa ứng dụng

Le SonataExtraBundle cung cấp một bộ tính năng nâng cao để quản lý các quy tắc tường lửa trong môi trường Sonata Admin. Gói này cho phép các quản trị viên tạo và quản lý các quy tắc để lọc các yêu cầu dựa trên các tiêu chí khác nhau như từ bị cấm, địa chỉ IP và đại lý người dùng.

Sonata Trang 5: thêm thẻ Open Graph với Sonata Page và Sonata Media

Nếu bạn đã từng sử dụng SonataPage và SonataMedia, bạn sẽ biết chúng mạnh mẽ như thế nào trong việc quản lý nội dung và phương tiện trên trang web của bạn. Trong bài viết này, tôi sẽ hướng dẫn bạn cách mở rộng những công cụ này để dễ dàng thêm các thẻ Open Graph vào trang của bạn nhằm nâng cao khả năng chia sẻ trên các mạng xã hội. Tại sao lại sử dụng thẻ Open Graph? Thẻ Open Graph (OG) là các thẻ meta mà bạn có thể thêm vào trang của mình để xác định tiêu đề, mô tả, hình ảnh và thông tin khá...

Sonata: thêm một bảng quản trị mà không có thực thể với Sonata Admin 5 và Symfony 6.2

Trong bài viết này, chúng ta sẽ học cách thêm một bảng điều khiển quản trị không cần đối tượng trong dự án Symfony 6.2 sử dụng Sonata Admin 5. Cơ sở dự án của chúng ta sẽ là tạo một giao diện tải lên tệp đơn giản. Nhưng bạn có thể tạo bất kỳ ứng dụng nào. Bao gồm thêm văn bản đơn giản. 1. Cài đặt Sonata Admin Bundle Nếu bạn chưa cài đặt Sonata Admin, bạn có thể làm điều đó với composer: composer require sonata-project/admin-bundle Chúng tôi mời bạn truy cập trang web của chúng tôi để cà...

Sonata Admin: thêm các hành động tùy chỉnh

Theo bài viết của Thomas Bourdin SYMFONY / SONATA: THÊM CHỨC NĂNG NHÂN BẢN VÀO CRUD, chúng tôi sẽ chỉ bạn cách thêm các hành động tùy chỉnh vào giao diện một cách đơn giản. Trên Bảng điều khiển: Nhưng chúng tôi cũng sẽ xem xét cách tùy chỉnh đơn giản và chung chung các hành động tùy chỉnh của danh sách, tiêu đề CRUD của bạn và cuối cùng là cách thêm hành động cho xử lý hàng loạt. Với ví dụ của tôi, tôi bắt đầu với một bảng đơn giản gọi là Title là entity ở đây. Không cần thiết cho bạn...

Sonata Admin: DataMapper và autowiring

Nếu bạn có nhu cầu cụ thể để chuyển đổi dữ liệu giữa biểu mẫu và quá trình ghi của thực thể của mình và nghĩ rằng mã chuyển đổi này nên được đặt trong một dịch vụ vì nó có ý nghĩa hơn, bạn có thể sử dụng dataMapper bằng cách tận dụng tính năng tiêm phụ thuộc do Symfony cung cấp. Nhưng làm thế nào để triển khai nó? Một lưu ý nhỏ về DataMapper. Nếu chúng ta đồng ý với tài liệu chính thức của Symfony về DataMapper và DataTransformer, một dataMapper có trách nhiệm đọc và viết một đối tượng (một t...

SF6 / Sonata 5 : Quản lý một giao diện OneToMany trong CRUD với CollectionType của Sonata

Trong ví dụ này, chúng ta sẽ xem xét trường hợp cụ thể của một giao diện đơn giản bao gồm nhiều yếu tố. Chúng ta đã chọn sử dụng bảng "Dự án" trong đó chúng ta sẽ gán tài liệu. Vì vậy, đối với một dự án, chúng ta có thể gán nhiều tài liệu. Và để thuận tiện trong quản lý, chúng ta sẽ đảm bảo rằng chúng ta có thể quản lý giao diện lồng nhau trực tiếp trong giao diện chỉnh sửa của dự án của mình.Chúng ta cần tạo sơ đồ. Đầu tiên, chúng ta nhập sơ đồ hiện tại của mình vào MysqlWorbench bằng cách s...

Symfony 6 / Sonata 5: Cài đặt SonataClassification.

Place translated content here. be sure to have the initial strucure and placeholders. Điều chỉnh ví dụ cho phù hợp với phiên bản đã cài đặt Các ví dụ Symfony và Sonata vẫn gắn với các phiên bản được chỉ ra trong bài viết. Symfony 4.x và Symfony 6.2 không còn được duy trì: đối với một dự án hiện tại, hãy sử dụng một nhánh được duy trì và tài liệu tương ứng chính xác với các phụ thuộc của bạn. php bin/console about composer show symfony/framework-bundle sonata-project/admin-bundle Trước khi t...

Symfony 6 / Sonata 5: Liên kết các ngôn ngữ và múi giờ với sở thích của người dùng.

Chúng tôi đã thấy trong một bài viết trước cách cài đặt Symfony 6 + Sonata Admin 5 với quản lý người dùng và quản lý media. Chúng tôi sẽ tiếp tục cài đặt này với cấu hình ngôn ngữ và múi giờ. Chúng tôi sẽ cài đặt intlBundle giúp quản lý hiển thị theo địa phương. php8.1 composer.phar require sonata-project/intl-bundle Chúng tôi nhân cơ hội này để thêm trường múi giờ và ngôn ngữ vào người dùng.Để làm điều này, chúng tôi sẽ mở rộng userBundle và thêm trường vào trong admin. Chúng tôi mở rộ...

Symfony 6 / Sonata 5 : Khởi tạo một dự án Symfony 6 + Sonata admin 5 + UserBundle + MediaBundle

Đây là các lệnh để khởi tạo một dự án Symfony với quản trị an toàn. Để chạy Symfony 6, chúng ta cần cài đặt php8.0 hoặc php8.1 Đối với php8.0 sudo apt-get install php8.0-cli libapache2-mod-php8.0 php8.0-common php8.0-opcache php8.0-igbinary php8.0-imagick php8.0-msgpack php8.0-readline php8.0-memcached php8.0-xml php8.0-mbstring php8.0-gd php8.0-mysql php8.0-curl php8.0-intl php8.0-memcache php8.0-memcached memcached libapache2-mod-php8.0 php8.0-zip php8.0-mysql Đối với php8.1 su...

Symfony 4 / Sonata: Tạo một giao diện thứ hai với cùng một thực thể

Ở đây chúng ta sẽ xem cách tạo một giao diện thứ hai trong khi thực thể đang được sử dụng trong giao diện CRUD.Vấn đề với các giao diện tự động tạo là chúng sử dụng tên của thực thể để xây dựng các tuyến đường.Nếu chúng ta cấu hình một giao diện thứ hai với một thực thể đã được sử dụng, chúng ta sẽ kết thúc với cùng một tuyến đường như cái đầu tiên.Để giải quyết vấn đề này, chúng ta sẽ sử dụng hai tham số này trong lớp quản trị của mình để ghi đè các giá trị mặc định.Giả sử chúng ta đang sử d...

Symfony 4 / Sonata : quản lý một giao diện quản trị đa ngôn ngữ

Chúng ta sẽ xem cách thiết lập giao diện quản trị đa ngôn ngữ với nút chọn ngôn ngữ (bộ chuyển đổi ngôn ngữ).Cài đặt translationBundle composer require sonata-project/translation-bundle bin/console assets:install Bộ chuyển đổi ngôn ngữ yêu cầu một bộ lọc twig cụ thể.Nếu không, bạn sẽ nhận được lỗi như:Unknown "language_name" filter.Sau đó, bạn cần cài đặt hai gói này composer require twig/intl-extra composer require twig/extra-bundle bin/console cache:clear Chúng ta thêm cấu hình mặc định # ...

Symfony 4 / Sonata: quản lý giao diện quản trị đa máy chủ

Chúng ta sẽ xem cách quản lý giao diện quản trị kết nối với nhiều máy chủ.Trong ví dụ của chúng ta, chúng ta đã thiết lập một máy chủ MySQL mặc định quản lý giao diện quản trị của chúng ta. Người dùng, phương tiện truyền thông, v.v.Và chúng ta đã thiết lập một máy chủ PostgreSQL chứa một bảng mà chúng ta muốn quản lý.Chúng ta có thể thêm bao nhiêu máy chủ tùy ý.Máy chủ MySQL của chúng taChúng ta đã thiết lập truyền thống một phiên bản Sonata Symfony mặc định với kết nối MySQL cổ điển. Vì vậy,...