What I am trying to do is get our multi-file items such as diaries and letters to display on the item show page in a jquery slider, Gallerific (http://www.twospy.com/galleriffic/). The reason for this is that we need a solution for displaying the files along with the transcriptions for each page in a way that easy to navigate through. Also, we only want this style of display if the item type is a “document” and if it contains more than one file.
Here is what I have so far:
<?php if (item_has_type(‘Document’) AND count($item->Files)>1) { ?>
<!-- gallerific html -->
<div id="container">
<div class="navigation-container">
<div id="thumbs" class="navigation">
<a class="pageLink prev" style="visibility: hidden;" href="#" title="Previous Page"></a>
<ul class="thumbs noscript">
<?php Foreach($all_files as $file) {
Echo “<li>
<a class=”thumb” href=”$getWebPath(string$type=thumbnail);” title=”$metadata(‘file’, ‘original Filename’);”>
<img src=”$getWebPath(string$type=thumbnail);” alt=”$metadata(‘file’, ‘original Filename’);” /></a>
<div class=”caption”>
<div class=”image-desc”>$metadata(file, array(‘File Type Metadata’, ‘Transcription’));</div>
<div class=”download”>
<a href=”$file_display_uri($file);”>View Page</a>
</div>
</div>
</li>
?>
</ul>
<a class="pageLink next" style="visibility: hidden;" href="#" title="Next Page"></a>
</div>
</div>
<div class="content">
<div class="slideshow-container">
<div id="controls" class="controls"></div>
<div id="loading" class="loader"></div>
<div id="slideshow" class="slideshow"></div>
</div>
<div id="caption" class="caption-container">
<div class="photo-index"></div>
</div>
</div>
<div style="clear: both;"></div>
</div>
</div>
<!-- gallerific script -->
<script type="text/javascript">…</script>
<!—End Gallerific -->
<?php } else { // NOT a document or multi-file item ?>
<div id="item-images">
<?php echo files_for_item(); ?>
</div>
<?php endif; ?>
I'm getting a syntax parse error but I'm not sure what I need to fix.
One thing that stands out right away is the quotation marks in the echo
. Since you are using double quotes both to start the string to echo and inside the html, that will break things.
Ok, I fixed up a lot of my code:
<?php if(count($item->Files)>1): ?>
<?php $index = 0; ?>
<div id="container">
<div class="navigation-container">
<div id="thumbs' class='navigation">
<a class="pageLink prev" style="visibility: hidden;" href="#" title="Previous Page"></a>
<ul class="thumbs noscript">
<?php foreach ($item->Files as $index => $file): ?>
<li><a class='thumb' href= '<?php echo file_display_url($file, $format = thumbnail)?>' title='<?php echo metadata($file, $metadata('Dublin Core', 'Title'))?>'>
<img src='<?php echo file_display_url($file, $format = thumbnail)?>'> alt='<?php echo metadata($file, $metadata('Dublin Core', 'Title'))?>'>
</a>
<div class='caption'>
<div class='image-desc'><?php echo metadata($file, $metadata('Scripto', 'Transcription'))?></div>
<div class='download'>
<a href='<?php echo file_display_url($file, $format = fullsize)?>'>View Page</a>
</div>
</div>
</li>
<?php $index++; ?>
<?php endforeach; ?>
</ul>
<a class="pageLink next" style="visibility: hidden;" href="#" title="Next Page"></a>
</div>
</div>
<div class="content">
<div class="slideshow-container">
<div id="controls" class="controls"></div>
<div id="loading" class="loader"></div>
<div id="slideshow" class="slideshow"></div>
</div>
<div id="caption" class="caption-container">
<div class="photo-index"></div>
</div>
</div>
<div style="clear: both;"></div>
</div>
<?php endif; ?>
<?php if (count($item->Files)<2): ?>
<div id="item-images">
<?php echo files_for_item(); ?>
</div>
<?php endif; ?>
But things still aren't quite working. I'm getting a "Fatal error: function name must be a string" for this line of code:
<li><a class='thumb' href= '<?php echo file_display_url($file, $format = thumbnail)?>' title='<?php echo metadata($file, $metadata('Dublin Core', 'Title'))?>'>
I suspect that I am not writing the Omeka 2.0 functions properly, because I haven't been able to find any documentation with real-world examples for the new functions.