Điểm:1

Hộp thoại drupal Ajax không tôn trọng tùy chọn hộp thoại

lá cờ cn

Tôi có:

$options['attributes']['class'][] = 'use-ajax';
$options['attributes']['data-dialog-type'] = 'modal';
$options['attributes']['data-dialog-options'] = json_encode([
  'chiều rộng' => 375,
]);

trở lại [
  '#markup' => Liên kết::createFromRoute(
    t('Liên kết của tôi'),
    $tuyến đường,
    [],
    tùy chọn $
  )->toString()
];

mà tạo ra một liên kết như mong đợi:

<a href="/node/1" class="use-ajax" data-dialog-type="modal" data-dialog-options="{&quot;width&quot;:375}">My link</a>

Tuy nhiên, khi hộp thoại mở ra, nó luôn có chiều rộng được đặt là 800px, làm cách nào để mở hộp thoại ở chiều rộng được đặt trong lệnh gọi json_encode?

Hộp thoại đã mở div trông như thế này:

<div style="position: fixed; height: auto; width: 800px; top: 310.133px; left: 683px; z-index: 101;" tabindex="-1" role="dialog" class="ui-dialog ui-corner-all ui-widget ui-widget-content ui-front" aria-describedby="drupal-modal" aria-labelledby="ui-id-1">
4uk4 avatar
lá cờ cn
Không biết điều này có bắt buộc không, nhưng có thể các tùy chọn hộp thoại bị bỏ qua khi bạn không xác định `data-dialog-type`.
lá cờ cn
Tôi đã thêm đánh dấu được hiển thị vào câu hỏi. Phần tử chỉ định 800px, vì vậy tôi không nghĩ rằng chủ đề sẽ ghi đè lên điều này.
lá cờ cn
@ 4k4 Tôi đã thử thêm một loại và cập nhật câu hỏi tương ứng. Thật không may, nó đã không giúp đỡ.
4uk4 avatar
lá cờ cn
Tôi đã kiểm tra mã và bạn cần loại, nếu không thì phương thức hoàn toàn không mở. Mặt khác, mã vẫn ổn, không thể tạo lại sự cố.
lá cờ cn
Điều đó thực sự thú vị, bởi vì phương thức này cũng đã mở cho tôi trước đây. O_o Có lẽ tôi đang làm điều gì đó ngớ ngẩn, nhưng tôi không thể hiểu được điều gì ...
No Sssweat avatar
lá cờ ua
Chuyển sang chủ đề Bartik và kiểm tra ở đó.
lá cờ cn
Bartik là một ý tưởng hay, thật không may là trình đơn hiển thị nơi tôi liên kết với phương thức từ đó đã bị hỏng và tôi không thể bận tâm dành thời gian để khắc phục điều đó. Thay vào đó, có lẽ tôi sẽ thử xem qua trình kết xuất hộp thoại và xem cách nó xử lý các tham số đầu vào.

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