diff --git a/module/finc/src/finc/View/Helper/Root/RecordLink.php b/module/finc/src/finc/View/Helper/Root/RecordLink.php index 21fe564f6cf1775e144ce71dc7a2a9b34ed85fbb..402b732b9ad00dd63ae44d9f53f008257303a3c2 100644 --- a/module/finc/src/finc/View/Helper/Root/RecordLink.php +++ b/module/finc/src/finc/View/Helper/Root/RecordLink.php @@ -28,9 +28,10 @@ */ namespace finc\View\Helper\Root; -use VuFindSearch\Query\Query as Query; +use VuFind\Exception\RecordMissing as RecordMissingException; use VuFind\Record\Loader as Loader; use VuFind\Record\Router as Router; +use VuFindSearch\Query\Query as Query; use VuFindSearch\Service as SearchService; /** @@ -139,4 +140,23 @@ class RecordLink extends \VuFind\View\Helper\Root\RecordLink } return null; } + + /** + * Get the default URL for a record. + * refs #16002 - don't throw exception if record not found + * + * @param \VuFind\RecordDriver\AbstractBase|string $driver Record driver + * representing record to link to, or source|id pipe-delimited string + * + * @return string + */ + public function getUrl($driver) + { + try { + return $this->getTabUrl($driver); + } + catch (RecordMissingException $exception) { + return ""; + } + } } diff --git a/themes/finc/theme.config.php b/themes/finc/theme.config.php index b5635ac379365a3ae95f1fd65ea5e8ce13b60964..5674711edbfaf7418ba1140f70d5905fbb035c70 100644 --- a/themes/finc/theme.config.php +++ b/themes/finc/theme.config.php @@ -13,7 +13,7 @@ return [ 'interlibraryloan' => 'finc\View\Helper\Root\InterlibraryLoanLink', 'sideFacet' => 'finc\View\Helper\Root\SideFacet', 'resultfeed' => 'finc\View\Helper\Root\ResultFeed', - 'recordlink' => 'finc\View\Helper\Root\RecordLink', + 'recordLink' => 'finc\View\Helper\Root\RecordLink', ], 'factories' => [ 'finc\View\Helper\Root\BranchInfo' =>