Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Navigaation määrittely kannattaa tehdä omaan tiedostoonsa (esim. navigation.phtml), joka tulostetaan varsinaisiin sivutiedostoihin. Tulostuskutsussa välitetään aktiivisen sivun id:

...

languagephp

...

.

...

Navigaation rakenne määritellään muuttujaan ($properties), joka välitetään navigaation tulostuskutsussa. Navigaatio voi olla yksi- tai kaksitasoinen. Alla olevassa esimerkissä on hyödynnetty sivun id:tä myös käännösavaimen osana, mutta käännöstoimintoa ei ole pakko käyttää.

Code Block
languagephp
<?php
  $properties = [
    'ariaLabel' => $this->transEsc('navigation'),
    'attributes' => [
      'class' => ['finna-multi-level-nav-content', 'finna-multi-level-nav-lg']
    ],
    'brandContent' => $this->transEsc('tabs_' . $activeId),
    'collapseId' => 'nav-collapse-id',
    'items' => [
      [
        'active' => 'tab1' === $activeId,
        'label' => $this->transEsc('tabs_tab1'),
        'link' => $this->url('content-page', ['page' => 'ensimmainen']),
      ],
      [
        'label' => $this->transEsc('tabs_tab2'),
        'link' => $this->url('content-page', ['page' => 'toisen-alasivu']),
        'children' => [
          [
            'active' => 'tab2_1' === $activeId,
            'label' => $this->transEsc('tabs_tab2_1'),
            'link' => $this->url('content-page', ['page' => 'toisen-alasivu']),
          ],
        ]
      ],
    ],
    "toggleBtnLabel" => $this->transEsc('More'),
  ];
?>
<?= $this->render('components/organisms/navigation/finna-multi-level-nav/finna-multi-level-nav.phtml', $properties); ?>

Sisältösivuihin lisättävässä navigaation tulostuskutsussa välitetään kyseisen sisältösivun id:

Code Block
languagephp
<?php if ($this->resolver('content/navigation.phtml')): ?>
  <?= $this->render('content/navigation.phtml', ['activeId' => 'tab2_1']) ?>
<?php endif; ?>

Sivun sisäinen navigaatio

...