L’articolo illustra come aggiungere dei nuovi campi al livello di presentazione di un libro. La gestione di un nuovo campo si articola nelle seguenti fasi:
- estensione del record driver
- estensione del tema relativo
Il record driver è la classe php responsabile di recuperare il dato esposta da Solr. Nella configurazione standard occorre aggiungere i metodi di get alla classe SolrDefault, tale operazione è sufficiente se il campo è già disponibile in Solr, altrimenti deve essere aggiunto modificando lo schema opportunamente, come illustrato in un articolo precedente.
Ipotizzando di gestire un campo di nome abstract modificheremo la classe SolrDefault aggiungendo il metodo
1 2 3 4 5 |
public function getAbstract() { return isset($this->fields['abstract']) ? $this->fields['abstract'] : ''; } |
A questo punto il metodo è invocabile nel tema, quindi modifichiamo il file core.phtml aggiungendo l’invocazione del metodo
1 2 3 4 5 |
<? $abstract = $this->driver->getAbstract(); ?> <tr valign="top"> <th><?=$this->transEsc('abstract')?>: </th> <td property="abstract"><?=$this->escapeHtml($abstract)?></td> </tr> |
E’ possibile modificare la presentazione aggiungendo anche un tab nella sezione a scheda. Per fare questo occorre agire sul file di configurazione del modulo VUFIND nella sezione recorddriver_tabs e definire un nuovo tab
1 2 3 4 5 6 7 8 9 10 11 |
'VuFind\RecordDriver\SolrDefault' => array( 'tabs' => array ( 'Holdings' => 'HoldingsILS2', 'Description' => 'Description2', 'TOC' => 'TOC2', 'UserComments' => 'UserComments2', 'Reviews' => 'Reviews2', 'Excerpt' => 'Excerpt2', 'HierarchyTree' => 'HierarchyTree2', 'Map' => 'Map2', 'Details' => 'StaffViewArray2', <strong>'altreInfo' => 'AltreInfo',</strong> ), 'defaultTab' => null, ), |
LA configurazione si conclude con la creazione di un controller in RecordTab del modulo VuFind e la vista altreInfo.phtml relativa nel tema configurato.
Se abbiamo operato bene otterremo questo effetto