Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions themes/finna2/templates/RecordDriver/DefaultRecord/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@
$binding = $this->driver->tryMethod('getBinding');
$iiifManifests = $this->driver->tryMethod('getIiifManifests');

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mikä tuon $finnaSkipLinkTarget-muuttujan tarkoitus on?

@JJManner JJManner Sep 22, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tuo on pakollinen, sillä muuten skiplinkki menee - finnaMainTabs - kohtaan joka ei siis ole suoraan sisältöä.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ei ole. Se on paikallinen muuttuja, jolla ei ole mitään virkaa.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tämä edelleen.


$addRenderedUrl = function (array $url) use (&$renderedURLs) {
$renderedURLs[] = [
'url' => $url['url'],
Expand Down Expand Up @@ -85,8 +88,7 @@

<?php $this->metadata()->generateMetatags($this->driver);?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>

<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if (!empty($this->extraControls)): ?>
<?=$this->extraControls['actionControls'] ?? ''?>
<?=$this->extraControls['availabilityInfo'] ?? ''?>
Expand All @@ -96,7 +98,7 @@
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php foreach ($this->driver->tryMethod('getFullTitlesAltScript', [], []) as $altTitle): ?>
<div class="record-title-alt-script">
<?=$this->escapeHtml($altTitle)?>
Expand Down
7 changes: 5 additions & 2 deletions themes/finna2/templates/RecordDriver/SolrAipa/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,19 @@
$img = $this->recordImage($this->record($this->driver));
$thumbnail = false;
$thumbnailAlignment = false;

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';
?>

<?php $this->metadata()->generateMetatags($this->driver);?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php if ($results = $this->driver->getAlternativeTitles()): ?>
<div class="recordAltTitles record-alt-titles">
<?=implode('<br>', array_map([$this, 'escapeHtml'], $results))?>
Expand Down
8 changes: 6 additions & 2 deletions themes/finna2/templates/RecordDriver/SolrEad/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@
$img = $this->recordImage($this->record($this->driver));
$thumbnail = false;
$thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

ob_start(); ?>
<div class="media-<?=$thumbnailAlignment ?><?=!empty($audioUrls) ? ' audio' : ''?>">
<?=$this->record($this->driver)->renderTemplate('record-image-information.phtml', ['img' => $img, 'sizes' => ['small' => ['w' => 100, 'h' => 100], 'medium' => ['w' => 1200, 'h' => 1200]]]);?>
Expand All @@ -47,12 +51,12 @@

<?php $this->metadata()->generateMetatags($this->driver);?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php if ($results = $this->driver->getAlternativeTitles()): ?>
<div class="recordAltTitles record-alt-titles">
<?=implode('<br>', array_map([$this, 'escapeHtml'], $results))?>
Expand Down
13 changes: 9 additions & 4 deletions themes/finna2/templates/RecordDriver/SolrForward/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@

$thumbnail = false;
$thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

ob_start(); ?>
<div class="media-<?=$thumbnailAlignment ?>">

Expand Down Expand Up @@ -65,19 +69,20 @@

<?php $this->metadata()->generateMetatags($this->driver);?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if ($altTitles): ?>
<div class="alt-title-wrapper visible-xs">
<div class="alt-title-wrapper visible-xs" aria-hidden="true">
<?=$altTitlesContent?>
</div>
<?php endif; ?>
<?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php if ($altTitles): ?>
<div class="alt-title-wrapper hidden-xs">
<div class="visually-hidden"><?=$altTitlesContent?></div>
<div class="alt-title-wrapper hidden-xs" aria-hidden="true">
<?=$altTitlesContent?>
</div>
<?php endif; ?>
Expand Down
8 changes: 6 additions & 2 deletions themes/finna2/templates/RecordDriver/SolrLido/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@

$thumbnail = false;
$thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

ob_start();
?>
<div class="media-<?=$thumbnailAlignment ?><?=!empty($audioUrls) ? ' audio' : ''?>">
Expand Down Expand Up @@ -72,12 +76,12 @@
?>
<?php $this->metadata()->generateMetatags($this->driver);?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php if ($results = $this->driver->getAlternativeTitles()): ?>
<div class="recordAltTitles record-alt-titles">
<?=implode('<br>', array_map([$this, 'escapeHtml'], $results))?>
Expand Down
8 changes: 6 additions & 2 deletions themes/finna2/templates/RecordDriver/SolrLrmi/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
$thumbnail = false;
$thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');
$formats = $this->driver->getFormats();

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ja täällä edelleen tuo $finnaSkipLinkTarget-muuttuja..


ob_start(); ?>
<div class="media-<?=$thumbnailAlignment?>">
<?= $this->record($this->driver)->renderTemplate('record-image-information.phtml', ['img' => $img, 'imageClick' => 'none']) ?>
Expand All @@ -25,12 +29,12 @@
<?php $thumbnail = ob_get_contents(); ?>
<?php ob_end_clean(); ?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php if ($results = $this->driver->getAlternativeTitles()): ?>
<div class="recordAltTitles record-alt-titles">
<?=implode('<br>', array_map([$this, 'escapeHtml'], $results))?>
Expand Down
8 changes: 6 additions & 2 deletions themes/finna2/templates/RecordDriver/SolrQdc/core.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,10 @@
$img = $this->recordImage($this->record($this->driver));
$thumbnail = false;
$thumbnailAlignment = $this->record($this->driver)->getThumbnailAlignment('result');

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

ob_start(); ?>
<div class="media-<?=$thumbnailAlignment ?><?=!empty($audioUrls) ? ' audio' : ''?>">

Expand All @@ -69,12 +73,12 @@

<?php $this->metadata()->generateMetatags($this->driver);?>
<div class="media">
<h1 class="record-title visible-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<h1 class="record-title visible-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?php if ($thumbnail && $thumbnailAlignment == 'left'): ?>
<?=$thumbnail ?>
<?php endif; ?>
<div class="media-body record-information">
<h1 class="record-title hidden-xs"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<?=$this->partial('layout/skiplink-core-heading.phtml') ?>
<?php if ($results = $this->driver->getAlternativeTitles()): ?>
<div class="recordAltTitles record-alt-titles">
<?=implode('<br>', array_map([$this, 'escapeHtml'], $results))?>
Expand Down
4 changes: 4 additions & 0 deletions themes/finna2/templates/layout/layout.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@
$contentElementId = 'main';
if (!empty($this->layout()->finnaUserAccountHeading)) {
$contentElementId = 'useraccount-content-heading';
} elseif ($isLandingPage) {
$contentElementId = 'main';
} elseif ((!empty($this->layout()->finnaSkipLinkTarget))) {
$contentElementId = 'record-skip-link-target';

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Miksi tämä on edelleen kovakoodattuna, kun piti käyttää tuota finnaSkipLinkTarget:n arvoa?

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tämä edelleen.

@JJManner JJManner Oct 21, 2026 •

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ilman tuota kovakoodattua tietoa ei mikään sivu, esim. - results.phtml - osaa hypätä oikeaan kohtaan, koska - <a class="skip-link" href="#<?=$contentElementId?>"><?=$this->transEsc('Skip to content') // skip to content ?></a> - kohdassa tuo tieto annetaan linkille, jota sitten käytetään kaikissa niissä sivuissa joissa - $this->layout()->finnaSkipLinkTarget = 'record-skip-link-target'; - on määritelty.

} elseif (!empty($this->layout()->finnaMainHeader)) {
$contentElementId = 'content-heading';
} elseif (!empty($this->layout()->finnaMainTabs)) {
Expand Down
4 changes: 4 additions & 0 deletions themes/finna2/templates/layout/skiplink-core-heading.phtml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- START of: finna - layout/skiplink-core-heading.phtml -->

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tämä ei kuulu layout:iin. Laita ennemmin RecordDriver/DefaultRecord/record-title-skiplink.phtml tms.

<div role="heading" aria-level="1" id="record-skip-link-target" class="visually-hidden" aria-label="<?=$this->escapeHtml($this->driver->getTitle())?>"></div>
<h1 class="record-title hidden-xs" aria-hidden="true"><?=$this->escapeHtml($this->driver->getTitle())?></h1>
<!-- END of: finna - layout/skiplink-core-heading.phtml -->
6 changes: 5 additions & 1 deletion themes/finna2/templates/search/results.phtml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@
$searchType = $this->params->getSearchType();
$geoFilter = '';

// Add Finna skip link target
$this->layout()->finnaSkipLinkTarget = $finnaSkipLinkTarget = 'record-skip-link-target';

// Store search id:
$this->layout()->searchId = $this->results->getSearchId();

Expand Down Expand Up @@ -110,7 +113,8 @@
$recommendations = $this->results->getRecommendations('side');
?>

<h1 tabindex="-1" id="results-heading" class="visually-hidden"><?= $this->transEsc('Search Results'); ?></h1>
<h1 tabindex="-1" id="results-heading" class="visually-hidden" aria-hidden="true"><?= $this->transEsc('Search Results'); ?></h1>
<div id="<?=$finnaSkipLinkTarget ?>" role="heading" aria-level="1" class="visually-hidden" ><?= $this->transEsc('Search Results'); ?></div>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

record-skip-link-target on nyt sitten väärä id hakutuloksille. Id suoraan ilman muuttujaa.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sama juttu kuin ylempänä, muuten ei päädytä sisältöön vaan - searchTabs - osioon.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Edelleen, record-skip-link-target on väärä id hakutuloksissa. Tietuesivulla se on ihan ok. käytettävä id:hän määritellään juuri tuossa templaatin alussa, niin voit siihen laittaa paremman id:n.

<?php if ($recordTotal > 0): ?>
<div class="mobile-nav-toggle-trigger visible-xs hidden-print"></div>
<div class="mobile-nav-toggle visible-xs hidden-print">
Expand Down
Loading