[Content]: Revise "Extending Twig" > "Registering the Extension"
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 68/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- php
- Lĩnh vực
- documentation
Hướng nghiên cứu
Bắt đầu với phần “Registering the Extension” được liên kết trong issue và xem xét mã nguồn của tài liệu tương ứng. Xem lại ngữ cảnh liên quan đến CKEditor được mô tả trong các issue đã liên kết, sau đó cập nhật hướng dẫn để giải thích chính xác khi nào việc kiểm tra getIsSiteRequest() là phù hợp; phần này phải phản ánh rõ hành vi đăng ký được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Product
Craft CMS
Description
The docs mention this code in order to register Twig extensions:
if (Craft::$app->getRequest()->getIsSiteRequest()) {
// Instantiate + register the extension:
$extension = new mynamespace\myplugin\twig\Extension();
Craft::$app->getView()->registerTwigExtension($extension);
}
And then states:
The
getIsSiteRequest()check is optional. If your extension provides features that will be useful in system emails (commonly triggered from the control panel), or will be used when rendering templates from console requests (less common, but still valid), you may want to register it in all contexts.
However, since Craft 4.2.0 custom Twig functions are also used in CKEditor if it renders deeply nested partial templates that include CKEditor themselves. This results in issues like https://github.com/craftcms/ckeditor/issues/248 and https://github.com/craftcms/cms/issues/19639 (and I've also been asking for more context on this matter in https://github.com/craftcms/ckeditor/discussions/627). That's why I'd consider the getIsSiteRequest() check as actually harmful in Twig extension modules because now there are quite a few cases where Twig extensions are required in the CP as well.
Either this should get mentioned in the docs or the check should get removed completely (assuming the behavior of CKEditor doesn't change).
- Ngôn ngữ chính
- JavaScript
- Star
- 43
- Fork
- 160
- Merge trung bình
- 3 giờ 9 phút
- Pull request đã merge (30 ngày)
- 4
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của craftcms/docs
-
Broken LinkĐang mởBroken Link
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
[Content]: Sequel Pro referenceĐang mở
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Broken LinkĐang mởBroken Link
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
[Broken Link]:Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
Tất cả issue của craftcms/docs
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
saadeghi/daisyui#4780 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
accessibility bug embed websites
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
quarto-dev/quarto-cli#14972 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
has-readme needs-attention new-tool repo-verified
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
shanselman/TinyToolTown#834 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 6 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
siderolabs/talos-design-system#16 ·
Maintainer thường phản hồi trong vòng 1 ngày