0
我使用Drupal 8創建了一個網站。我想創建一個菜單項鍊接,我可以在其中添加HTML/Javascript代碼(我試圖顯示一個可以在菜單中單擊展開的小部件,而不是將其顯示在菜單旁邊的自己的塊中)。我可以看到添加菜單項的唯一方法是鏈接到一個頁面。 Drupal 8 - 使用HTML添加/創建菜單項
我使用Drupal 8創建了一個網站。我想創建一個菜單項鍊接,我可以在其中添加HTML/Javascript代碼(我試圖顯示一個可以在菜單中單擊展開的小部件,而不是將其顯示在菜單旁邊的自己的塊中)。我可以看到添加菜單項的唯一方法是鏈接到一個頁面。 Drupal 8 - 使用HTML添加/創建菜單項
您可以使用衍生工具。這可以讓你自定義幾乎所有的東西,並控制要做什麼。下面的例子:
注:我假設你有自定義模塊的一般知識。如果不遵循this link
創建自定義模塊中的以下文件:用於衍生類
# my_module.links.menu.yml
my_module.custom_links:
deriver: \Drupal\my_module\Plugin\Derivative\CustomLinkDerivative
現在(位於my_module/src目錄/插件/微分)
<?php
namespace Drupal\my_module\Plugin\Derivative;
use Drupal\Component\Plugin\Derivative\DeriverBase;
use Drupal\Core\Plugin\Discovery\ContainerDeriverInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
class CustomLinkDerivative extends DeriverBase implements ContainerDeriverInterface {
public static function create(ContainerInterface $container, $base_plugin_id) {
return new static();
}
/**
* {@inheritdoc}
*/
public function getDerivativeDefinitions($base_plugin_definition) {
$links['custom_menulink'] = [
'title' => t('Custom menulink'),
'menu_name' => 'main',
'route_name' => 'entity.node.canonical',
'parent' => footer,
'route_parameters' => [
'node' => 1,
]
] + $base_plugin_definition;
return $links;
}
}
注意:衍生物在重建緩存期間被觸發!
這只是在腳註中創建一個鏈接,指向節點1.您可以添加所有類型的東西和邏輯來滿足自己的喜好。希望這可以幫助你:)