/** * Get an array of all series names containing the record. Array entries may * be either the name string, or an associative array with 'name' and 'number' * keys. * * @access protected * @return array */ protected function getSeries() { $matches = array(); // First check the 440, 800 and 830 fields for series information: $primaryFields = array('440' => array('a', 'p'), '800' => array('a', 'b', 'c', 'd', 'f', 'p', 'q', 't'), '830' => array('a', 'p')); $matches = $this->getSeriesFromMARC($primaryFields); if (!empty($matches)) { return $matches; } // Now check 490 and display it only if 440/800/830 were empty: $secondaryFields = array('490' => array('a')); $matches = $this->getSeriesFromMARC($secondaryFields); if (!empty($matches)) { return $matches; } // Still no results found? Resort to the Solr-based method just in case! return parent::getSeries(); }