Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: fixed typo srs->src


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
    languagephp
    <?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
    languagephp
    <?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
    languagephp
    <?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:

...