en:user:gs3_sample_format_statements
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:user:gs3_sample_format_statements [2016/10/09 23:26] – [Adding javascript into a page] kjdon | en:user:gs3_sample_format_statements [2023/03/13 01:46] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | |||
+ | |||
+ | |||
====== Sample Greenstone3 Format Statements ====== | ====== Sample Greenstone3 Format Statements ====== | ||
Line 154: | Line 157: | ||
- | ===== Linking metadata to a search ===== | + | ===== Handling multi-valued metadata ===== |
+ | |||
+ | ==== Displaying values in a bulleted list ==== | ||
+ | |||
+ | Say we want to display all the authors of a document in a bulleted list. We can't just use < | ||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | This will produce output like: | ||
+ | |||
+ | < | ||
+ | ==== Linking metadata to a search ==== | ||
+ | |||
+ | How to link metadata values to a search for that value? | ||
- | How to link metadata values to a search for that value. | ||
For example, say a document has several authors, stored as dc.Creator metadata. You can display a list of the authors, each one linked to a search of the dc.Creator index for that author. | For example, say a document has several authors, stored as dc.Creator metadata. You can display a list of the authors, each one linked to a search of the dc.Creator index for that author. | ||
Line 276: | Line 296: | ||
* **single page, single collection** | * **single page, single collection** | ||
- | * | + | |
Say you just want to use this new javascript on the classifier pages, then add the template into the main classifier format element. Or add it into the format element of a specific classifier and it will only be available for that single classifier. | Say you just want to use this new javascript on the classifier pages, then add the template into the main classifier format element. Or add it into the format element of a specific classifier and it will only be available for that single classifier. | ||
Line 312: | Line 332: | ||
</ | </ | ||
- | This lets us check that our function is correct and we are getting the right metadata. However, using " | + | This lets us check that our function is correct and we are getting the right metadata. However, using " |
- | Instead, we will need to set the innerHTML | + | Instead, we will need to add to the html of the td element. This means we need to give the td element an id so we can find it again. |
+ | If the <td> we are adding the filesize to contains only the filesize, then we can use the element.innerHTML() method to set the content. | ||
< | < | ||
<td> | <td> | ||
Line 321: | Line 342: | ||
<script type=" | <script type=" | ||
document.getElementById(< | document.getElementById(< | ||
+ | </ | ||
+ | </td> | ||
+ | </ | ||
+ | |||
+ | However, if this <td> element already has content, then we need to append the filesize, using element.appendChild() and document.createTextNode(). For example: | ||
+ | |||
+ | < | ||
+ | <td> | ||
+ | < | ||
+ | ...other content here... | ||
+ | <script type=" | ||
+ | document.getElementById(< | ||
</ | </ | ||
</td> | </td> | ||
Line 332: | Line 365: | ||
We set the text to be the result of calling our function on the filesize metadata. | We set the text to be the result of calling our function on the filesize metadata. | ||
+ | |||
+ | To add to an element' | ||
One further tricky part. We want to write **document.getElementById("< | One further tricky part. We want to write **document.getElementById("< | ||
- | i.e. **document.getElementById(< | + | i.e. **document.getElementById(< |
- | ** | + | |
- | Greenstone provides a shorthand: **< | + | |
- | + | ||
+ | Greenstone provides a shorthand: **< | ||
en/user/gs3_sample_format_statements.1476055613.txt.gz · Last modified: 2016/10/09 23:26 by kjdon