トークンが多すぎるという問題が発生しましたか?多数のフィールド(それぞれ〜5〜10)を含むコンテンツタイプがほとんどない(〜8)ため、トークンモジュールは置換トークンを含む非常に大きなテーブルを生成します。 drupal from php error。を回避するために、settings.phpの使用可能なメモリを増やす必要があったのはこのためです。512Mに設定すると、出力テーブルが生成されますが、非常に遅いため、Chromeがフリーズします。
利用可能なトークンのプレビューがある場合に発生します。したがって、パスオートまたはカスタムブレッドクラムにあります。
Google Chrome HTMLプレビューでは次のようになります。
ノード参照+エンティティトークンが巨大なトークンツリーUIテーブルHTMLを作成する で、このような問題のいくつかの解決策を見つけることができます。
Token tweaks モジュールを使用することも役立ちます。私は試しましたが、うまくいきます。
トークンの微調整を提供します(主にパフォーマンスを向上させるため)
- トークンタイプまたは特定のトークンを無効にします。
- トークンツリーUIのデフォルトの深さ制限を変更します。
Token Tweaksは私のために働きました、しかしあなたがより多くのモジュールを追加するための一般的な軽蔑があるなら、あなたはパッチを Prevent recursive tokens で試すことができます。
TOKEN_MAX_DEPTH
のtoken.module
も変更できます。私にとって、値を1
に変更すると、読み込み時間が1秒になりました。 2
は5.23秒にしました。 3
以上でブラウザがクラッシュしました。この場合でも、おそらく変更のパッチを作成したり、token.module
ファイルのバックアップを保持したり、モジュール更新プロセスの一部として Hacked を作成したりすることをお勧めします。
token_help
レンダリングDrupal 7。
特定のフォームにトークンが必要なく、コンテンツタイプが多すぎるためにフィールドが多すぎるためにパフォーマンスの問題が発生している場合は、利用可能なトークンのリストのテーマ関数を置き換えて、同じページに戻るリンクに置き換えることができます。トークンを確認する変数セット。
デフォルトでは、トークンはレンダリングされませんが、トークンを含むページを表示する場合は、次のことができます。
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')));
}
}