メニューリンクで使用したid=block-views-block-services-block-1
を含むビューブロックがあります。
メニューリンクは https://example.com/gb/#block-views-block-services-block-1 として表示されます。
ご覧のように、長いハイフンを使った単語では、見栄えはよくありません。このようなものに変更する簡単な方法はありますか https://example.com/gb/#services
Drupal 7の場合、IDを変更するためにtemplate.php
を編集する必要があります。しかし、Drupal 8では、template.php
はtwig.html
に置き換えられます。Drupalを初めて使用するので、よくわかりません。
誰かがそれを行う方法のいくつかの手順を説明できますか?
この関数をthemes/YOURTHEME/YOURTHEME.theme
ファイルに配置する必要があります。
function YOURTHEME_preprocess_block(&$variables) {
dump($variables);
}
ブロックの名前が表示されます。 block_html_id
を探す必要があります。説明に基づいて、block_html_id
の値はblock-views-block-services-block-1
になります。
その後、次のように単純に定義できます。
function YOURTHEME_preprocess_block(&$variables) {
if ($variables['block_html_id'] == "block-views-block-services-block-1") {
$variables['block_html_id'] = "services";
}
}
または、カスタムモジュールを作成して、この関数をそこに配置することもできます。その場合、YOURTHEME
をカスタムモジュールの名前に置き換える必要があります。