Mục vn-symfony

Symfony 4 / Sonata: Tạo một REST API

Viết bởi vào ngày 18/08/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   symfon, sonata, api, swagger
Trong bài viết này, chúng ta sẽ xem cách tạo một REST API với FOS/RestBundle, bao gồm xác thực, và công cụ tạo tài liệu giống như Swagger. Danh sách các gói cần thiết:friendsofsymfony/rest-bundle: Cung cấp một bộ công cụ giúp phát triển API RESTfulhttps://github.com/FriendsOfSymfony/FOSRestBundlejms/serializer-bundle: Cho phép việc chuẩn hóa đối tượng.https://packagist.org/packages/jms/serializer-bundlelexik/jwt-authentication-bundle: Quản lý token web JSON.https://github.com/lexik/LexikJWTA...

Symfony 4 / Sonata: Cài đặt CMS Sonata Page

Viết bởi vào ngày 07/07/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, CMS, Sonata-page, symfony
Sonata là một bộ các bundle dành cho Symfony 4. Một trong số đó cho phép quản lý nội dung theo cách giống như WordPress.Trên internet có rất ít tài liệu hướng dẫn, và có lý do cho điều đó, quá trình cài đặt có lỗi, và ít người đã đối mặt với trình theo dõi lỗi trên GitHub, đã bị nói thẳng là phải đọc kỹ tài liệu.Chấp nhận thất bại như vậy không phải là phong cách của tôi.Dưới đây là cách cài đặt và cấu hình Sonata-Page-Bundle, với quá trình cài đặt chính thức, và cách khắc phục những lỗi khốn...

Symfony 4 / Sonata: Tạo trang xuất CSV

Viết bởi vào ngày 02/04/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, export, csv, symfony
Giao diện mặc định của Sonata là CRUDs. Điều này rất hữu ích (nếu không, chúng ta sẽ không sử dụng nó). Nhưng một hệ thống quản trị không chỉ gồm CRUDs. Ở đây chúng ta sẽ xem cách tạo một trang xuất dữ liệu đơn giản, bằng cách loại bỏ các giao diện mặc định và tạo ra giao diện riêng của chúng ta để quản lý nút xuất dữ liệu. 1 – Thêm thư viện xuất dữ liệu composer require sonata-project/exporter Sau đó, chúng ta cần thêm một tệp cấu hình cho công cụ xuất dữ liệu ...

Symfony 4/ Sonata: Tạo Giao Diện Lồng Nhau

Viết bởi vào ngày 02/03/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, symfony
Chúng ta sẽ xem cách xây dựng một giao diện quản trị bao gồm nhiều bảng có quan hệ Many2Many.Hãy xem lại ví dụ của chúng ta về giao diện nhiều/nhiều có sẵn tại đâyChúng ta có một bảng khu vực, bao gồm nhiều yếu tố từ bảng phòng ban. Trên những phòng ban này, chúng ta có các cơ quan.Để hoàn thiện, và để ý nghĩa cho chuỗi dữ liệu này, chúng ta thêm một bảng zx_credential, đại diện cho nhân viên bán hàng.Dưới đây là chuỗi dữ liệu của chúng ta: Nhân viên bán hàng->Khu vực->Phòng ban->Cơ ...

Symfony4 / Sonata: Tạo một Admin Nhiều/Nhiều

Viết bởi vào ngày 01/03/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, symfony
Chúng tôi sẽ phát triển ở đây tất cả các thao tác để xây dựng giao diện nhiều đến nhiều thông qua Sonata.Chúng tôi sẽ lấy ví dụ về quản lý khu vực với kết nối qua các bộ phận. Mỗi khu vực như vậy được cấu tạo từ nhiều kết nối với bảng bộ phận.Trong MysqlWorkbench, nó trông như thế này: Để tạo các thực thể, chúng tôi sử dụng lệnh sau: php bin/console doctrine:mapping:import "App\Entity" annotation --path=src/Entity Tiếp theo, chúng...

Symfony / Sonata: Thêm chức năng nhân bản trong một CRUD

Viết bởi vào ngày 24/02/2020
Danh mục:   PHP, symfony
Thẻ:   sonata, symfony
Để thêm tính năng nhân bản đối tượng vào danh sách CRUD, bạn cần sửa danh sách bằng cách thêm nút, cấu hình một tuyến đường, thực hiện mã nhân bản đối tượng, và cuối cùng, tham chiếu đến bộ điều khiển sẽ chứa chức năng của chúng ta trong giao diện của chúng ta, thông qua dịch vụ của nó. Thêm nút: Trong bộ điều khiển của bạn, thêm nút bằng cách tham chiếu đến mẫu nút. Ở đây chúng ta thiết lập đường dẫn 'Admin/list__action_clone.html.twig'. Hệ thống sẽ tìm kiếm tệp tại: /templates/Admin/list__...

Symfony 4 / Sonata: Tạo giao diện CRUD lồng nhau (con 1->N) với tính năng sắp xếp bằng kéo và thả

Viết bởi vào ngày 21/02/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, drag'n drop, symfony
Ngắn gọn, chúng tôi muốn tạo một giao diện CRUD, 1N, với đó, khi chúng tôi đang chỉnh sửa một mục, chúng tôi thêm một bảng điều khiển để quản lý tất cả các mục con.Tại đây chúng tôi có một bảng wtype, với một bảng wconf chứa một loạt bản ghi liên kết với một mục wtype. Giống như ví dụ triển khai của sortable với kéo và thả ( có sẵn tại đây ) chúng tôi sẽ sử dụng các thành phần sau:pixassociates/sortable-behavior-bundle và stof/doctrine-extensions-bundleDo đó bạn sẽ phải tạo ...

Symfony 4 / Sonata: Quản lý Thứ tự với Kéo và Thả

Viết bởi vào ngày 20/02/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:   sonata, drag'n drop, symfony
Bạn cần cài đặt pixassociates/sortable-behavior-bundle và stof/doctrine-extensions-bundle composer require stof/doctrine-extensions-bundle composer require pixassociates/sortable-behavior-bundle Thêm cấu hình trong pix_sortable.yamlBằng cách thêm entity và trường trong position_field (ở đây là wconf, và trường vị trí) pix_sortable_behavior: db_driver: orm # mongodb default value : orm position_field: default: position #default value : position entities: Ap...

Symfony 4 / Sonata: loại hình biểu mẫu

Viết bởi vào ngày 19/02/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:  
Dưới đây là danh sách các loại biểu mẫu thông dụng được sử dụng trong giao diện quản trị.Bộ Chọn Ngày GiờThêm template vào file config/packages/twig.yaml twig: form_themes: - '@SonataCore/Form/datepicker.html.twig' Và trong controller: $formMapper->with('Date d\'activation', ['class' => 'col-md-4 abcdaire']) ->add('activation_debut', DatePickerType::class, ['required' => false, 'label'=>'Activation début','attr' => ['placeholde...

Symfony 4 / Sonata thêm một bộ lọc liên kết với thực thể OneToMany

Viết bởi vào ngày 10/02/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:  
Các bộ lọc được quản lý trong phương thức configureDatagridFilters protected function configureDatagridFilters(DatagridMapper $datagridMapper) { $filers=$datagridMapper->getAdmin()->getFilterParameters(); } Có thể thêm một bộ lọc đơn giản trên tiêu đề hoặc bất kỳ tham số nào của thực thể của chúng ta.Tham số show_filter cho phép hiển thị nó khi trang tải. Kết hợp với giá trị của $filters, người ta có thể chỉ định để giữ phần tử hiển thị sau khi nộp bộ lọc.Ví dụ, có thể thiết lập bộ ...

Symfony 4 / Sonata: Sử dụng một khóa chính với /

Viết bởi vào ngày 10/02/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:  
Dù có vẻ lạ lùng, tôi đã phải sử dụng một thực thể với khóa chính được đặt trên trường varchar, và một số giá trị chứa " / ".Cho đến khi bạn đối mặt với vấn đề, thật không thể tưởng tượng nó sẽ gây ra sự cố. Và rồi, bi kịch bắt đầu. An exception has been thrown during the rendering of a template ("Parameter "id" for route "admin_app_wtype_edit" must match "[^/]++" ("MACHIN/CHOSE" given) to generate a corresponding URL."). Nói ngắn gọn, dấu gạch chéo...

Symfony 4 / Sonata: Tạo một Quản trị Một-Nhiều (1N)

Viết bởi vào ngày 15/01/2020
Danh mục:   PHP, symfony, Sonata
Thẻ:  
Chúng tôi sẽ tạo một giao diện quản trị 1N, với hai thực thể. Thực thể đầu tiên, Một, và thực thể thứ hai, Nhiều, và thiết lập một bảng điều khiển quản trị cho bảng Một, có thể ảnh hưởng đến nhiều yếu tố của bảng Nhiều. Để làm cho mọi thứ thêm phần hấp dẫn, chúng tôi sẽ thêm một số tham số bổ sung, như các trường dấu thời gian để đồng bộ ngày với một SI, và các trường chính không được gọi là ID và không tự tăng. Trong trường hợp của chúng tôi, chúng tôi có m...

Symfony 4 / Sonata: Tạo xác thực frontend

Viết bởi vào ngày 14/01/2020
Danh mục:   PHP, symfony
Thẻ:  
Để sử dụng bảng khác từ bảng mặc định cho việc xác thực,Đầu tiên, chúng ta cần tạo thực thể của mình để quản lý người dùng của mình.Thực thể này sau đó cần được triển khai để UserInterface.Vì vậy, chúng ta cần thêm tham chiếu đến thành phần và triển khai nó: <?php namespace App\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Doctrine\ORM\Mapping\Entity; use Doctrine\ORM\Mapping\Table; use Doctrine\O...

Symfony 4 / Sonata: Khởi tạo dự án Symfony 4 + Sonata + FosUser + Media

Viết bởi vào ngày 13/01/2020
Danh mục:   PHP, symfony
Thẻ:  
Đây là các lệnh để khởi tạo dự án Symfony với bảng điều khiển quản trị an toàn.Bắt đầu bằng cách cài đặt bộ khung dự án.composer create-project symfony/skeleton tên-dự-án Thêm các thành phần cần thiết: cd nom-du-projet composer require symfony/debug-pack --no-update composer require symfony/maker-bundle --dev --no-update composer require sonata-project/doctrine-orm-admin-bundle --no-update composer require templating --no-update composer require symfony/translation --no-update composer ...