モジュールに次のコードがあります。
function mymodule_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'comment_node_blog_form') {
$form['#node']->content['links']['comment']['#links']['comment-add']['title'] = t('Post a comment');
$form['#node']->actions['submit'] = t('Post comment');
unset($form['#node']->actions['preview']);
var_dump($form);
}
var_dump を見ると、フォーム フィールドが意図したとおりに設定されています。ただし、フォームを見ると、タイトルにはまだ「新しいコメントを追加」があり、送信ボタンは変更されておらず、プレビュー ボタンも表示されています。
ページのコンテンツ (var_dump の出力を含む) を検索すると、'Add' が存在する唯一の場所は、var_dump のコンテンツではなく、フォームのテキスト内にあります。私がそれを確認できる唯一の方法は、フックの後にフォーム配列が変更されている場合です。そのため、モジュールの重みを (mysql 経由で) 99 に変更し、キャッシュをクリアしようとしました。変わりはない。