Tôi có cần Composer cho Drupal không?

Ngày 31 tháng 12 năm 2019 / Bởi Ferdinand /

Drupal 8 trở lên khuyên bạn nên sử dụng Trình soạn thảo để quản lý các trang web Drupal. Từ việc bắt đầu các dự án, cài đặt lõi Drupal, các mô-đun và chủ đề đã đóng góp;

Chờ một chút, Drupal 10 đang thay đổi điều này. Drupal 10 bắt đầu sứ mệnh trả lại sức mạnh cho những người xây dựng trang web như họ đã có trong Drupal 7. Trong các sáng kiến ​​chiến lược xuất hiện trong Drupal 10, có một sứ mệnh rõ ràng là làm cho Drupal trở thành một công cụ ưa thích của những người xây dựng trang web ít mã hóa, không cần mã hóa, thậm chí còn tốt hơn so với Drupal 7. Hai trong số các sáng kiến, cụ thể là Trình duyệt dự án và Cập nhật tự động sẽ cho phép các nhà xây dựng trang web quản lý các trang web Drupal của họ từ giao diện người dùng mà không cần sử dụng Trình soạn thảo trong dòng lệnh, tuy nhiên, Trình soạn thảo ẩn vẫn sẽ hoạt động để quản lý mã của trang web. Họ sẽ cài đặt các mô-đun và chủ đề với Trình duyệt dự án và cập nhật các mô-đun, chủ đề và lõi Drupal bằng Cập nhật tự động, cả từ giao diện người dùng của trang web của họ và sẽ được khuyến nghị thực hành vì những công cụ này sẽ sử dụng Trình soạn thảo để quản lý cơ sở mã bên trong. Nếu họ quyết định sử dụng Trình soạn thảo để quản lý trang web tại bất kỳ thời điểm nào, thì sẽ không có vấn đề gì vì trình soạn thảo. json sẽ được cập nhật bởi các công cụ này. Vì vậy, bạn có thể viết các lệnh Trình soạn thảo trong dòng lệnh và/hoặc sử dụng Trình duyệt dự án/Cập nhật tự động thay thế cho nhau. Tất cả đều đồng bộ. Cùng một nhà soạn nhạc. json và nhà soạn nhạc. các tệp khóa được cập nhật theo một trong hai cách. Trình duyệt dự án và Cập nhật tự động không khởi chạy với Drupal 10. 0. 0 nhưng đang ở phiên bản nhỏ trong tương lai

Đối với những người muốn sử dụng Trình soạn thảo, vui lòng đọc tiếp

Phiên bản 8. 8. 0 tích hợp hỗ trợ Composer gốc và do đó Drupal sẽ không còn dựa vào các dự án của bên thứ ba để thiết lập Drupal với các phần phụ thuộc của nó

Kể từ Drupal 8. 8. 0, Các mẫu dự án của Trình soạn thảo [tương tự như drupal-composer/drupal-project - mẫu này hiện không được dùng nữa để thay thế cho mẫu mới kể từ 8. 8. 0] hiện có sẵn như một phần của lõi Drupal. Các mẫu dự án này đóng vai trò là điểm khởi đầu để tạo trang web Drupal do Nhà soạn nhạc quản lý. Khi bạn đã chọn một dự án mẫu và tạo trang web của riêng mình, bạn sẽ sở hữu các tệp dự án mới của mình. Sau đó, các bản cập nhật trong tương lai sẽ được thực hiện với Composer

Mẫu được đề xuất

drupal/dự án được đề xuất

Mẫu dự án được đề xuất tạo một trang Drupal mới với "gốc tài liệu được di chuyển". Điều này có nghĩa là các tập tin "index. php" và thư mục "core", v.v. được đặt bên trong thư mục con có tên "web" thay vì được đặt bên cạnh "nhà soạn nhạc. json" và thư mục "nhà cung cấp" ở thư mục gốc của dự án. Bố cục này được khuyến nghị vì nó cho phép bạn định cấu hình máy chủ web của mình để chỉ cung cấp quyền truy cập vào các tệp bên trong thư mục "web". Giữ thư mục nhà cung cấp bên ngoài gốc tài liệu của máy chủ web sẽ tốt hơn cho bảo mật

Theo mặc định, mẫu được đề xuất này sẽ tạo dự án mới của bạn với thư mục nhà cung cấp trong thư mục gốc của dự án và nó sẽ tạo thư mục "web" cho lõi Drupal, các tệp giàn giáo như chỉ mục. php, cập nhật. php,. và các thư mục khác của trang web của bạn

Nếu bạn đang cài đặt trên Cpanel, bạn đã có "public_html" làm gốc web của mình, vì vậy, việc sử dụng mẫu này để thực hiện cài đặt mặc định sẽ tạo thư mục "web" được coi là gốc web mới của bạn, vì vậy bây giờ bạn sẽ phải cấu hình lại

Chà, rất nhiều nhà cung cấp dịch vụ lưu trữ của khách hàng của chúng tôi sử dụng Cpanel, vì vậy cách chúng tôi sử dụng mẫu này là chúng tôi tạo ra một giống như vậy

1. Trên môi trường phát triển cục bộ của bạn, hãy chạy composer create-project --no-install drupal/recommended-project my-project-directory

Drupal 10 được phát hành vào ngày 15 tháng 12 năm 2022 nên theo mặc định, phiên bản này sẽ bắt đầu một dự án Drupal 10. Drupal 9 sẽ được bảo trì đến tháng 11 năm 2023. Bạn nên bắt đầu tất cả các dự án mới bằng Drupal 10 vì nó là , nhưng nếu vì bất kỳ lý do gì bạn muốn cài đặt Drupal 9 thì hãy chạy lệnh này thay vào đó, 

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
0

Cờ

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
1 sẽ dừng cài đặt Drupal khi bắt đầu dự án

Mẫu sẽ tạo nhà soạn nhạc. json và nhà soạn nhạc. khóa các tập tin bên trong my-project-directory

2. Tạo một thư mục public_html bên trong my-project-directory. Vì vậy, cấu trúc thư mục của bạn sẽ trông như thế này.    

    | -my-project-directory

    |  | -public_html

    |  | -composer.json

    |  | -composer.lock

3. Chỉnh sửa nhà soạn nhạc của bạn. json để thay đổi web-root của bạn từ "web/" thành "public_html/" và thay đổi mọi đề cập đến "web/" thành "public_html/" trong đường dẫn trình cài đặt của bạn, như được minh họa bên dưới

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },

Thay đổi điều này

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "public_html/"
            }
        },
        "installer-paths": {
            "public_html/core": [
                "type:drupal-core"
            ],
            "public_html/libraries/{$name}": [
                "type:drupal-library"
            ],
            "public_html/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "public_html/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "public_html/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "public_html/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "public_html/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "public_html/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },

để này

4. Từ my-project-directory, chạy

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
2 để tải xuống Drupal và tất cả các phần phụ thuộc của nó. Drupal sẽ được đặt bên trong public_html. Bạn có thể tiếp tục cài đặt trang web, thiết lập chủ đề tùy chỉnh của mình và thực hiện một số bước xây dựng trang web ban đầu ở địa phương.

5. Bây giờ chúng tôi phải triển khai dự án đến máy chủ lưu trữ của bạn. nhà soạn nhạc đẩy. json, nhà soạn nhạc. lock, thư mục sites, mô-đun tùy chỉnh, chủ đề tùy chỉnh của bạn cũng như bất kỳ thư viện và tệp tùy chỉnh nào khác [nghĩa là tất cả các dự án và tệp bạn không tải xuống bằng Trình soạn thảo] vào kho lưu trữ Git của bạn. Nếu bạn thích FTP hơn Git thì không sao, nhưng hãy đợi đến sau bước 7 bên dưới trước khi bạn FTP chúng

6. Truy cập máy chủ lưu trữ của bạn và kéo hoặc trình soạn thảo FTP. json và nhà soạn nhạc. khóa thư mục gốc của tài khoản cPanel của bạn. Cấu trúc thư mục của bạn sẽ trông như thế này

    | -cPanel-root

    |  | -public_html

    |  | -composer.json

    |  | -composer.lock

7. Từ thư mục gốc cPanel, hãy chạy

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
3 Công tắc --no-dev bỏ qua cài đặt các gói không dành cho sử dụng trong sản xuất. Trình soạn thảo sẽ tải xuống thư mục nhà cung cấp trên thư mục gốc của cPanel và đặt Drupal bên trong public_html.  

8. Kéo hoặc thư mục tệp FTP để ghi đè lên thư mục tệp trên máy chủ nếu bạn đã tải lên bất kỳ tệp nào trong cục bộ mà bạn muốn trên trang web trực tiếp. Nếu bạn không muốn các tệp được tải lên trong quá trình phát triển cục bộ trên trang web trực tiếp thì hãy bỏ qua việc tải lên thư mục tệp. Kéo hoặc FTP các mô-đun và chủ đề và tệp tùy chỉnh khác của bạn vào máy chủ lưu trữ của bạn

Đó là nó. Bạn đã cài đặt Drupal 10 trên tài khoản Cpanel của mình

9. Để quản lý trang web sau này, bạn sẽ cập nhật cốt lõi, mô-đun và chủ đề bằng Trình soạn thảo ở chế độ cục bộ, cài đặt các mô-đun và thư viện mới bằng Trình soạn thảo ở chế độ cục bộ, đẩy nhà soạn nhạc. khóa và nhà soạn nhạc. json vào Git repo và kéo vào cPanel root hoặc chuyển bằng FTP, sau đó chạy

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
3 từ cPanel root. Cập nhật mã của bạn hoặc các mô-đun mới sẽ được cài đặt trên trang web của bạn

Mẫu dự án được đề xuất không tự động cài đặt Drush cũng như Bảng điều khiển Drupal giống như mẫu drupal-composer/drupal-project không dùng nữa, vì vậy bạn nên tự cài đặt Drush. Tôi khuyên bạn nên cài đặt Drush, nó sẽ giúp trải nghiệm Drupal của bạn tốt hơn. Để cài đặt Drush giờ đã trở nên dễ dàng như

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
0, sau đó bạn sẽ gọi nó từ
"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
1. Để gọi nó bằng 
"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
2, hãy đọc bài đăng trên blog khác của tôi

Ghi chú. Không nên sử dụng Trình soạn thảo để cài đặt hoặc cập nhật mã trên máy chủ trực tiếp như chạy

"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
3 hoặc
"extra": {
        "drupal-scaffold": {
            "locations": {
                "web-root": "web/"
            }
        },
        "installer-paths": {
            "web/core": [
                "type:drupal-core"
            ],
            "web/libraries/{$name}": [
                "type:drupal-library"
            ],
            "web/modules/contrib/{$name}": [
                "type:drupal-module"
            ],
            "web/profiles/contrib/{$name}": [
                "type:drupal-profile"
            ],
            "web/themes/contrib/{$name}": [
                "type:drupal-theme"
            ],
            "drush/Commands/contrib/{$name}": [
                "type:drupal-drush"
            ],
            "web/modules/custom/{$name}": [
                "type:drupal-custom-module"
            ],
            "web/profiles/custom/{$name}": [
                "type:drupal-custom-profile"
            ],
            "web/themes/custom/{$name}": [
                "type:drupal-custom-theme"
            ]
        },
4 Bạn KHÔNG nên làm điều đó trên máy chủ trực tiếp. Cài đặt và cập nhật trong môi trường phát triển cục bộ, sau đó đẩy lên máy chủ trực tiếp như đã giải thích ở trên

Việc sử dụng Composer trong Drupal là gì?

Composer là công cụ quản lý phụ thuộc trong PHP. Nó cho phép bạn khai báo các thư viện mà dự án của bạn phụ thuộc vào và nó sẽ quản lý [cài đặt/cập nhật] chúng cho bạn. Drupal sử dụng Trình soạn thảo để quản lý các thư viện khác nhau mà nó phụ thuộc vào . Các mô-đun cũng có thể sử dụng Trình soạn thảo để bao gồm các thư viện của bên thứ 3.

Làm cách nào để cài đặt mô-đun bằng Trình soạn thảo trong Drupal 8?

Để cài đặt một mô-đun, bạn sẽ nhập trình soạn thảo yêu cầu drupal/ . Ví dụ: để cài đặt Pathauto, bạn sẽ nhập trình soạn thảo yêu cầu drupal/pathauto trong dòng lệnh. Bạn cũng có thể chỉ định một phiên bản và có một số mẫu phiên bản mà bạn có thể sử dụng.

Làm cách nào để cài đặt một chủ đề trong Drupal bằng Composer?

Nhấp chuột phải tar. .
Trong menu Quản lý quản trị, điều hướng đến Hình thức [quản trị/giao diện]. .
Nhấp vào Cài đặt chủ đề mới. .
Nhấn Install để upload và giải nén theme mới trên server. .
Nhấp vào Cài đặt các chủ đề mới được thêm vào để quay lại trang Giao diện

Làm cách nào để cài đặt thư viện trong Drupal 9?

Cài đặt thư viện bên ngoài .
Tải xuống thư viện. Mô-đun yêu cầu thư viện bên ngoài phải cung cấp liên kết đến trang chủ của thư viện đó hoặc tốt hơn nữa là trực tiếp đến trang tải xuống của thư viện đó. .
Giải nén các tập tin. Nếu tệp bạn đã tải xuống là tệp lưu trữ, tôi. e. phần mở rộng tập tin của nó là. .
Tải lên thư viện

Chủ Đề