[メニュー項目の追加]ページの[展開して表示]チェックボックスをデフォルトで選択する必要があります。
私は 'expand_menu_items'モジュールを作成し、hook_form_alter関数を試してIDを取得しました。これは明らかに 'menu_link_content_menu_link_content_form'です。
#default_valueを探していますが、いくつかあり、それらを「TRUE」に設定してみましたが、ページに影響を与えていません(xdebugは値をtrueと表示しています)。何が悪いのでしょうか?
同様の質問がここにあります:
これが関数コードです:
function expand_menu_items_form_alter($form, FormStateInterface &$form_state, $form_id) {
if ($form_id == 'menu_link_content_menu_link_content_form') {
// $form['expanded']['#default_value'] = true; // Doesn't work.
$form['expanded']['widget']['value']['#default_value'] = true; // Doesn't work either.
}
}
以下は、問題のフォームページの画像です。
メニューリンクエンティティのデフォルト値を設定するには、 hook_ENTITY_TYPE_create を使用します。
use Drupal\menu_link_content\MenuLinkContentInterface;
/**
* Implements hook_ENTITY_TYPE_create() for menu_link_content.
*/
function mymodule_menu_link_content_create(MenuLinkContentInterface $menu_link_content) {
$menu_link_content->expanded->value = 1;
}
「展開して表示-常に」モジュールが答えかもしれません。