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ä 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.

Huom: FinnaCustomissa kannattaa päivitettävyyden vuoksi korvata mahdollisimman vähän Finna-moduulin toiminallisuuksia. Esimerkiksi jos on tarpeen muuttaa yhtä metodia, paikalliseen tiedostoon sijoitetaan ainoastaan tämä metodi. Lisäksi yliajetussa metodissa kannattaa yleensä kutsua Finna-moduulia.

Esimerkki: lisätään Marc-tietueajuriin uusi metodi, jota kutsutaan tietuesivulla.

  • Lisätään tiedostoon /module/FinnaCustom/config/module.config.php viite omaan paikalliseen tietueajuriin (ks. /module/Finna/config/module.config.php):

    <?php
    namespace FinnaCustom\Module\Configuration;
    $config = [
         'vufind' => [
            'plugin_managers' => [
                'recorddriver' => [
                    'factories' => [
                        'Finna\RecordDriver\SolrMarc' =>
                         'VuFind\RecordDriver\SolrDefaultFactory',
                    ],
                    'aliases' => [
                        'VuFind\RecordDriver\SolrDefault' => 'FinnaCustom\RecordDriver\SolrDefault',
                        'VuFind\RecordDriver\SolrMarc' => 'FinnaCustom\RecordDriver\SolrMarc',
                    ]
                ]
            ]
         ]
    
    ];
    return $config;


     

  • Luodaan tiedosto /module/FinnaCustom/srs/FinnaCustom/RecordDriver/SolrMarc.php ja lisätään tänne uusi metodi:

    <?php
    namespace FinnaCustom\RecordDriver;
    class SolrMarc extends \Finna\RecordDriver\SolrMarc
    {
        use \Finna\RecordDriver\SolrFinna;
        public function localTest()
        {
            return "localTest";
        }
    }
  • Metodia voi kutsua tietuesivun sivupohjassa templates/RecordDriver/SolrDefault/core.phtml:

     <?= $this->driver->localTest(); ?>

     

Virhelokin tarkastelu

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 klikkaamalla "Avaa virheloki" -nappia hallintaliittymän etusivulta:

Lokiin tulostetaan käyttämällä PHP:n 'error_log' -komentoa:

<? error_log("testi"); ?>

Yllä oleva esimerkki toimii *.php -tiedostoissa ja sivupohjissa.

Loki päivittyy automaattisesti ja siinä näytetään kaikkien organisaatioiden näkymien tuottamat PHP virheet ja varoitukset. Tarkasteltavan näkymän virheilmoitukset voi erotella käyttämällä selaimen etsi-toimintoa.

  • No labels