4 * Contains \Drupal\footer\Plugin\Block\FooterBlock.
6 namespace Drupal\footer\Plugin\Block
;
7 use Drupal\Core\Menu\MenuTreeParameters
;
8 use Drupal\Core\Block\BlockBase
;
9 use Drupal\node\Entity\Node
;
10 use Drupal\Core\Block\BlockPluginInterface
;
11 use Drupal\Core\Form\FormStateInterface
;
15 * Provides a 'footer' block.
18 * id = "footer_block",
19 * admin_label = @Translation("Footer"),
20 * category = @Translation("RYF Custom Module")
23 class FooterBlock
extends BlockBase
implements BlockPluginInterface
{
27 public function build() {
29 $menu_tree_parameters = new MenuTreeParameters();
30 $tree = \Drupal
::menuTree()->load('footer', $menu_tree_parameters);
33 foreach($tree as $menu){
34 $title = $menu->link
->getTitle();
35 $urlObject = $menu->link
->getUrlObject();
36 $url = $urlObject->toString();
37 $weight = $menu->link
->getWeight();
38 $enabled = $menu->link
->isEnabled();
41 $menu_array[$cc]['title'] = $title;
42 $menu_array[$cc]['url'] = $url;
43 $menu_array[$cc]['weight'] = $weight;
49 usort($menu_array, function($a, $b) {
50 return $a['weight'] - $b['weight'];
55 '#menu_array' => $menu_array,