This example shows you how to set up a custom module, custom theme and custom record driver. It assumes that you have already added a custom field to your Solr index named RecID – you can see more concrete examples of adding fields on the Adding Facets page.
1. Create a custom module (if you haven't already done so)
cd $VUFIND_HOME php install.php
2. From $VUFIND_HOME enter the following code generator command:
php public/index.php generate extendservice vufind/plugin_managers/recorddriver/factories/solrmarc ModuleName
Saved file: /usr/local/vufind/module/ModuleName/src/ModuleName/RecordDriver/SolrMarc.php Saved file: /usr/local/vufind/module/ModuleName/src/ModuleName/RecordDriver/Factory.php Successfully updated /usr/local/vufind/module/ModuleName/config/module.config.php
export VUFIND_LOCAL_MODULES=ModuleName php public/index.php generate extendservice vufind/plugin_managers/recorddriver/factories/solrmarc ModuleName
3. Update the SolrMarc.php file to add a new field.
Example: <?php namespace ModuleName\RecordDriver; class SolrMarc extends \VuFind\RecordDriver\SolrMarc { /** * Get the record ID of the current record. * * @return string */ public function getRecordID() { return isset($this->fields['recID']) ? $this->fields['recID'] : ''; } }
4. Customize the template where you want to use that field by copying the appropriate files into your custom theme.
cd $VUFIND_HOME/themes mkdir ThemeName
<?php return array( 'extends' => 'bootstrap3' );
Example: <? $recordID = $this->driver->getRecordID(); if (!empty($recordID)): ?> <tr> <th><?=$this->transEsc('Record ID')?>: </th> <td property="RecID"><?=$this->escapeHtml($recordID)?></td> </tr> <? endif; ?>