Điểm:0

Làm cách nào để thay thế giá trị mặc định của trường?

lá cờ cn

Tôi có một mô-đun tùy chỉnh.

nhập mô tả hình ảnh ở đây Đây là chức năng form_alter:

 $form['bài viết'] = [
    '#type' => 'trường văn bản',
    '#cân nặng' => -1,
    '#title' => t('Tìm kiếm Sản phẩm từ Magento: '),
    '#autocomplete_route_name' => 'magento_drupal.autocomplete',
    '#ajax' => [
      'gọi lại' => '_select_ajax_form',
      // 'trình bao bọc' => 'my_unique_id',
    ],
  ];

bên trong _select_ajax_form chức năng, làm cách nào tôi có thể tự động điền dữ liệu cho trường 'giá' và 'sku'?

giá bán là Số (số nguyên) và sku là Văn bản (đơn giản, dài).

Điểm:0
lá cờ in

Nếu bạn không có logic phụ trợ lớn cho tự động điền, bạn có thể làm điều đó với javascript đơn giản hơn nhiều trong giá trị "#attributes". Đây là một mẫu mã của tôi:

$form['laufzeit_in_monaten'] = [
      '#type' => 'số',
      '#title' => $this->t('Laufzeit in Monaten ('.$produkt->get('min_stk')->value.' - '.$produkt->get('max_stk')->value .')'),
      '#default_value' => sàn($produkt->get('max_stk')->value/2.0),
      '#attributes' => mảng ('onchange' =>
        'document.getElementById("vollpreis").innerHTML = (document.getElementById("edit-laufzeit-in-monaten").value * document.getElementById("pprc").value).toFixed(2)'),
    ];

Nhưng đây chỉ là giao diện người dùng. Rõ ràng là bạn cần xác thực đầu vào sau trong phần phụ trợ của mình.

Dong Pham avatar
lá cờ cn
Cảm ơn bạn đã gợi ý. Nhưng tôi có một logic phụ trợ rất lớn, vì vậy tôi không thể sử dụng js.
Dong Pham avatar
lá cờ cn
Tôi thử #9 trong [link]https://www.drupal.org/project/drupal/issues/1024962#comment-13261018 nhưng không hoạt động. Tôi không hiểu ['und'] và không thể đặt giá trị cho $form['field_name]['und']
Rainer Feike avatar
lá cờ in
Tôi nghĩ #9 là dành cho D7 ...
Rainer Feike avatar
lá cờ in
Nhưng bạn có thể thiết lập một dịch vụ nghỉ ngơi cho logic phụ trợ khổng lồ của mình và vẫn sử dụng JS ở giao diện người dùng.
Dong Pham avatar
lá cờ cn
Tôi đã làm nó. Tôi đã sử dụng "trình bao bọc" và "vùng chứa". Nhưng drupal phải được cập nhật lên phiên bản 9.1.8. Các phiên bản dưới 9.1.8 không hoạt động.

Đă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.