diff --git a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php index ce1fc51f2eecf5b8f52282a2e691842721c6f28b..8ae9081bb09ee8868db054cd5469ad839ec0253e 100644 --- a/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php +++ b/module/finc/src/finc/RecordDriver/SolrMarcFincTrait.php @@ -2506,13 +2506,16 @@ trait SolrMarcFincTrait */ public function getNumberOfPages() { - if ($data = $this->getMarcRecord()->getField('300')->getSubfield('a')->getData()) - { - // Grab first occurance of a number - preg_match('/([1-9]\d*)/', $data, $matches); - if ($page = $matches[0]) + if ($m300 = $this->getMarcRecord()->getField('300')) { + if ($m300a = $m300->getSubfield('a')) { - return (int)$page; + $data = $m300a->getData(); + // Grab first occurance of a number + preg_match('/([1-9]\d*)/', $data, $matches); + if ($page = $matches[0]) + { + return (int)$page; + } } } return null;