Điểm:0

How to theme a paragraph form

lá cờ sa

I would like to create a twig template for the form displayed inside the paragraph widget.

The only way I found is:

function mymodule_field_widget_paragraphs_form_alter(&$element, &$form_state, $context) {
// Check that the subform is opened  
if (count($element['subform']) > 2) {
    $element['subform']['#theme'][] = 'form__aw_calculator';
  }
...
}

After that, I have created a twig template form--aw-calculator.html.twig like the following

<form{{ attributes }}>
    <div class="grid--all three--columns">
        <div class="column column--first bg--red-level-3">
            {{ element.field_calc_ts }}
            {{ element.field_calc_ts_greenlight }}
            {{ element.field_calc_budget }}
            ....

Unfortunately, this is half working... some of the fields are displayed some other are not (the form mode used in the paragraph widget setting should display all of them) More over, I can't see the markup coming from my twig....

I have the feeling that this is not the right way to handle this... any idea ?

lá cờ ru
Những gì bạn đang cố gắng thực hiện ở đây sẽ không thực sự hiệu quả, bạn không thể quản trị các biểu mẫu kiểu tự do như giao diện người dùng. Mặc dù các chủ đề dành cho quản trị viên sử dụng các tệp Twig, nhưng nó chủ yếu được kiểm soát bởi API biểu mẫu, API này thực thi một đánh dấu rất cụ thể và các thuộc tính rất cụ thể để hoạt động bình thường. Việc thay đổi đánh dấu HTML sớm hay muộn sẽ phá vỡ mọi thứ, bởi vì các mô-đun đóng góp dựa trên đánh dấu cụ thể đó, các thuộc tính cụ thể và đầu vào ẩn. Nếu bạn cần sửa đổi biểu mẫu ngoài CSS, tốt hơn nên sử dụng [API biểu mẫu](https://api.drupal.org/api/drupal/elements/9.3.x) thay vì Twig
Baud avatar
lá cờ sa
Tôi đang sử dụng biểu mẫu thực thể Nội tuyến và tôi có thể tạo mẫu nhánh cho biểu mẫu của mình. Có vẻ như đây không phải là trường hợp của tiện ích đoạn văn
Baud avatar
lá cờ sa
Tôi đã thử với API biểu mẫu, điều này đang hoạt động nhưng không hoạt động khi một đoạn mới được thêm vào. Điều này là do biểu mẫu con đoạn văn không chứa các trường trong thời gian móc widget_type_form_alter. Đây là một cơn ác mộng
4uk4 avatar
lá cờ cn
@Baud, thêm `#theme` là cách tiếp cận phù hợp, nhưng không phải là mẫu `form__`.Bất kỳ tên mẫu tùy chỉnh nào khác sẽ thực hiện công việc. Xem https://drupal.stackexchange.com/questions/249856/custom-registration-twig-template

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.