Page History
Info |
---|
Ohjelmakoodin muokkaaminen vaatii organisaation pääylläpitäjän myöntämän oikeuden. Ohjelmakoodi sijaitsee hakemistossa /module. Mikäli et näe hakemistoa tiedostonhallinnassa, pyydä organisaatiosi pääylläpitäjältä oikeudet muokata ohjelmakoodia. |
Näkymän ohjelmakoodi sijaitsee moduuleihin jaoteltuna hakemistossa /module. Näistä tärkein on Finna, joka perii VuFind-moduulin toiminnot. Paikallisia muutoksia voi toteuttaa FinnaCustom-moduuliin, joka perii Finna-moduulin. Kooditiedostojen lisäksi tulee muistaa päivittää FinnaCustom-moduulin konfiguraatio, jotta paikallinen koodi ladataan käyttöön.
...
Esimerkki: lisätään Marc-tietueajuriin uusi metodi, jota kutsutaan tietuesivulla.
Lisätään Lisää tiedostoon /module/FinnaCustom/config/module.config.php viite omaan paikalliseen tietueajuriin (esim. 'solrmarc' => 'FinnaCustom\RecordDriver\Factory::getSolrMarc', ks. /module/Finna/config/module.config.php):
Code Block language php <?php namespace FinnaCustom\Module\Configuration; $config = [ 'vufind' => [ 'plugin_managers' => [ 'recorddriver' => [ 'factories' => [ 'solrmarc' => 'FinnaCustomFinna\RecordDriver\Factory::getSolrMarc', ], SolrMarc' => ], ] ] ]; return $config;
Luodaan tiedosto /module/FinnaCustom/srs/FinnaCustom/RecordDriver/Factory.php ja lisätään tiedostoon metodi getSolrMarc. Samaan tapaan kuin Finna-moduulin Factoryssä:
Code Block language php <?php namespace FinnaCustom\RecordDriver; use Zend\ServiceManager\ServiceManager; class Factory extends \Finna\RecordDriver\Factory { /** 'VuFind\RecordDriver\SolrDefaultFactory', * Factory for SolrMarc record driver. ], * * @param ServiceManager $sm Service manager. 'aliases' => *[ * @return SolrMarc */ public static function getSolrMarc(ServiceManager $sm) { $driver = new SolrMarc( $sm->getServiceLocator()->get('VuFind\Config')->get('config'), 'VuFind\RecordDriver\SolrDefault' => 'FinnaCustom\RecordDriver\SolrDefault', null, $sm->getServiceLocator()->get('VuFind\Config')->get('searches'), $sm->getServiceLocator()->get('VuFind\SearchResultsPluginManager')\RecordDriver\SolrMarc' => 'FinnaCustom\RecordDriver\SolrMarc', $sm->getServiceLocator()->get('VuFind\Config')->get('datasources') );] $driver->attachILS( $sm->getServiceLocator()->get('VuFind\ILSConnection'),] $sm->getServiceLocator()->get('VuFind\ILSHoldLogic'),] $sm->getServiceLocator()->get('VuFind\ILSTitleHoldLogic') ); $driver->attachSearchService($sm->getServiceLocator()->get('VuFind\Search')); return $driver; } }
] ]; return $config;
Luo Luodaan tiedosto /module/FinnaCustom/srssrc/FinnaCustom/RecordDriver/SolrMarc.php ja lisätään tänne lisää sinne uusi metodi:
Code Block language php <?php namespace FinnaCustom\RecordDriver; class SolrMarc extends \Finna\RecordDriver\SolrMarc { use \Finna\RecordDriver\SolrFinna; public function localTest() { return "localTest"; } }
Metodia Voit kutsua metodia voi kutsua tietuesivun sivupohjassa templates/RecordDriver/SolrDefault/core.phtml:
Code Block <?= $this->driver->localTest(); ?>
...
Näkymien tuottamat virheilmoitukset tallentuvat virhelokiin, jonka tarkastelusta voi olla apua näkymän virhetilanteissa. Nämä voivat johtua esimerkiksi tiedostonhallinnan kautta tehdyistä ohjelmakoodin virheistä tai päivityksen piiristä poistetusta paikallisesta tiedostosta.
Virheloki avautuu omaan ikkunaansa Avaa virheloki klikkaamalla "Avaa virheloki" -nappia hallintaliittymän etusivulta:
Lokiin tulostetaan Voit tulostaa lokiin käyttämällä PHP:n 'error_log' -komentoa:
...