About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:howtos:displaying_a_custom_field

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
development:howtos:displaying_a_custom_field [2020/04/14 12:17] demiankatzdevelopment:howtos:displaying_a_custom_field [2020/09/22 13:27] (current) demiankatz
Line 11: Line 11:
 In the case of Solr, stored field data from the index is made available to the record driver through its fields property; in the case of MARC, convenience methods are provided for extracting data. For other data formats and sources, availability and format of internal data will vary according to the design of the [[development:howtos:connecting_a_new_external_data_source|search backend]]. In the case of Solr, stored field data from the index is made available to the record driver through its fields property; in the case of MARC, convenience methods are provided for extracting data. For other data formats and sources, availability and format of internal data will vary according to the design of the [[development:howtos:connecting_a_new_external_data_source|search backend]].
  
-For examples of display templates, see the [[https://github.com/vufind-org/vufind/tree/master/themes/bootstrap3/templates/RecordDriver/DefaultRecord|DefaultRecord]] templates within the Bootstrap3 theme. An understanding of the [[development:architecture:record_data_formatter|record data formatter]] will also help clarify how these work.+For examples of display templates, see the [[https://github.com/vufind-org/vufind/tree/dev/themes/bootstrap3/templates/RecordDriver/DefaultRecord|DefaultRecord]] templates within the Bootstrap3 theme. An understanding of the [[development:architecture:record_data_formatter|record data formatter]] will also help clarify how these work.
  
-For examples of Solr-based retrievals, see the [[https://github.com/vufind-org/vufind/blob/master/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php|DefaultRecord]] driver; for examples of MARC-based retrievals, see the [[https://github.com/vufind-org/vufind/blob/master/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php|SolrMarc]] driver (and its [[https://github.com/vufind-org/vufind/blob/master/module/VuFind/src/VuFind/RecordDriver/MarcAdvancedTrait.php|MarcAdvancedTrait]]).+For examples of Solr-based retrievals, see the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/DefaultRecord.php|DefaultRecord]] driver; for examples of MARC-based retrievals, see the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php|SolrMarc]] driver (and its [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/MarcAdvancedTrait.php|MarcAdvancedTrait]]).
  
 ===== Workflow for Adding a Field ===== ===== Workflow for Adding a Field =====
Line 34: Line 34:
 If you are displaying a field that is already defined within VuFind, you can skip this step. If you are displaying a field that is already defined within VuFind, you can skip this step.
  
-If you are adding a totally new field, you will need to add an appropriate getter method to the record driver used to display your records. In the most common situation, this is going to be the [[https://github.com/vufind-org/vufind/blob/master/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php|SolrMarc]] driver, which inherits most of its functionality from the [[https://github.com/vufind-org/vufind/blob/master/module/VuFind/src/VuFind/RecordDriver/SolrDefault.php|SolrDefault]] driver. The existing get methods in these classes should serve as useful examples for creating new methods.+If you are adding a totally new field, you will need to add an appropriate getter method to the record driver used to display your records. In the most common situation, this is going to be the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/SolrMarc.php|SolrMarc]] driver, which inherits most of its functionality from the [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/RecordDriver/SolrDefault.php|SolrDefault]] driver. The existing get methods in these classes should serve as useful examples for creating new methods.
  
 If you copy an existing method as a template for your new method, the most important detail to watch out for is the return value: be sure that you return a string when dealing with a single-valued Solr field and that you return an array when dealing with a multi-valued Solr field. This will make it easier for you to deal with data cleanly in your template. If you copy an existing method as a template for your new method, the most important detail to watch out for is the return value: be sure that you return a string when dealing with a single-valued Solr field and that you return an array when dealing with a multi-valued Solr field. This will make it easier for you to deal with data cleanly in your template.
Line 54: Line 54:
 ===== 4. Step-by-step examples ===== ===== 4. Step-by-step examples =====
  
-  * [[development:howtos:displaying_a_custom_field:vufind3_example]]+  * [[development:howtos:displaying_a_custom_field:vufind6_example|Example for VuFind 6.x or newer]] 
 +  * [[development:howtos:displaying_a_custom_field:vufind3_example|Example for VuFind 3.x]]
 ---- struct data ---- ---- struct data ----
 +properties.Page Owner : 
 ---- ----
  
development/howtos/displaying_a_custom_field.1586866667.txt.gz · Last modified: 2020/04/14 12:17 by demiankatz