Một lượng lớn Mã thông báo làm chậm mọi thứ - Mã thông báo giữ chỗ


8

có ai trong số các bạn gặp vấn đề với số lượng token quá lớn không? Do có ít loại nội dung (~ 8) với nhiều trường (~ 5-10 mỗi loại), mô-đun mã thông báo tạo ra bảng quá lớn với mã thông báo thay thế. Đây là lý do tại sao tôi phải tăng bộ nhớ có sẵn trong tệp.php để tránh lỗi do lỗi php. Tôi đã đặt 512M để nó tạo bảng đầu ra ngay bây giờ nhưng nó chậm đến mức đóng băng Chrome.

Nó xảy ra khi tôi có bản xem trước này của các mã thông báo có sẵn. Vì vậy, nó có thể được tìm thấy trong Pathauto hoặc Custom Breadcrumbs.

Đây là giao diện trong bản xem trước HTML của Google Chrome:

ảnh chụp màn hình


Đây là giao diện trong bản xem trước html của Chrome: img687.imageshack.us/img687/589/zrzutekranu20110916o153.png ... vài mô-đun, vài loại nội dung, vài trường .. và nó nhân kích thước đầu ra cuối cùng.
wtk

Ok, tôi đã tìm ra thủ phạm. Đó là do mô-đun Token Entity (nó tạo mã thông báo cho những thứ thường không có sẵn).
wtk

Tôi nên và tôi sẽ làm nếu không phải là một quy tắc ngu ngốc mà với tư cách là người dùng đã đăng ký mới, tôi không thể thực hiện nhanh như vậy:] Bây giờ tôi sẽ đăng giải pháp.
wtk

Câu trả lời:


6

Bạn có thể tìm thấy một số giải pháp cho vấn đề như vậy trên các tham chiếu Node + Mã thông báo thực thể tạo bảng HTML UI HUGE Token Tree .

Sử dụng mô-đun chỉnh sửa mã thông báo cũng giúp. Tôi đã thử và nó hoạt động tốt.

Cung cấp các chỉnh sửa cho mã thông báo (chủ yếu để cải thiện hiệu suất)

  • Vô hiệu hóa các loại mã thông báo hoặc mã thông báo cụ thể.
  • Sửa đổi giới hạn độ sâu mặc định cho giao diện người dùng cây mã thông báo.

1

Token Tweaks hoạt động với tôi, nhưng nếu bạn có thái độ khinh thường chung về việc thêm nhiều mô-đun, bạn có thể thử các bản vá tại Ngăn chặn mã thông báo đệ quy .

Bạn cũng có thể thay đổi TOKEN_MAX_DEPTHtrong token.module. Đối với tôi, việc thay đổi giá trị thành 1thời gian tải là 1 giây. 2làm cho nó 5,23 giây. 3hoặc nhiều hơn khá nhiều sự cố trình duyệt. Bạn vẫn có thể muốn thực hiện một bản vá thay đổi trong trường hợp này và / hoặc giữ bản sao lưu của token.moduletệp hoặc biến Hack thành một phần của quy trình cập nhật mô-đun của bạn.


1

Bạn có thể dừng token_helpkết xuất trong Drupal 7.

Nếu bạn không cần mã thông báo trên một biểu mẫu nhất định và quá nhiều trường trên quá nhiều loại nội dung gây ra vấn đề về hiệu suất, bạn có thể thay thế chức năng chủ đề cho danh sách mã thông báo có thể thay thế và thay thế bằng liên kết trở lại cùng một trang bằng một biến được đặt ở nơi bạn muốn xem mã thông báo.

Theo mặc định, nó sẽ không hiển thị mã thông báo, nhưng nếu bạn muốn xem một trang có mã thông báo, bạn có thể:

function nys_utils_theme_registry_alter(&$vars) {
  $vars['token_tree']['function'] = 'nys_utils_theme_token_tree';   
}

function nys_utils_theme_token_tree($variables) {
  if(isset($_GET['show_tokens']) && $_GET['show_tokens'] == 1) {
    return theme_token_tree($variables);
  } else {
     return l('show tokens',$_GET['q'], array('query' => array('show_tokens' => '1'))); 
  }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.