Drupal 7 が画像に付けた自動属性を削除するにはどうすればよいですか?
質問する
5539 次
1 に答える
13
Drupal 7 ではhook_preprocess_image()
、テンプレート ファイルを使用するものだけでなく、すべてのテーマ関数に対して前処理関数が実行されるため、実装するだけで済みます。あなたの場合、次のコードで十分です。
function mymodule_preprocess_image(&$variables) {
foreach (array('width', 'height') as $key) {
unset($variables[$key]);
}
}
$variables['attributes']
画像属性も含まれているため、次のコードはより完全です。
function mymodule_preprocess_image(&$variables) {
$attributes = &$variables['attributes'];
foreach (array('width', 'height') as $key) {
unset($attributes[$key]);
unset($variables[$key]);
}
}
mymoduleをモジュール/テーマの短い名前に置き換えます。
テーマ関数/テンプレート ファイルに渡される変数を変更する必要がある場合は、前処理関数を使用することをお勧めします。テーマ関数は、返される出力を変更する必要がある場合にのみオーバーライドする必要があります。この場合、変数を変更するだけで済み、テーマ関数をオーバーライドする必要はありません。前処理フックを使用すると、コードは将来の Drupal バージョンと互換性があります。
于 2012-05-29T18:56:32.390 に答える