diff --git a/module/VuFind/src/VuFind/Theme/Root/Helper/Record.php b/module/VuFind/src/VuFind/Theme/Root/Helper/Record.php index cfc0824a00cc997fab051d4ad28d7d44182d5f49..5009d19f98cb55f4e4633a0a31a58a22e3b448ba 100644 --- a/module/VuFind/src/VuFind/Theme/Root/Helper/Record.php +++ b/module/VuFind/src/VuFind/Theme/Root/Helper/Record.php @@ -284,6 +284,16 @@ class Record extends AbstractHelper return $html; } + /** + * Render a toolbar for use on the record view. + * + * @return string + */ + public function getToolbar() + { + return $this->renderTemplate('toolbar.phtml'); + } + /** * Render a search result for the specified view mode. * diff --git a/themes/blueprint/templates/RecordDriver/SolrDefault/toolbar.phtml b/themes/blueprint/templates/RecordDriver/SolrDefault/toolbar.phtml new file mode 100644 index 0000000000000000000000000000000000000000..b122924c053b82e9b83663858c36442a5ac8586a --- /dev/null +++ b/themes/blueprint/templates/RecordDriver/SolrDefault/toolbar.phtml @@ -0,0 +1,54 @@ +<? + $addThis = $this->addThis(); + if (!empty($addThis)) { + $this->headScript()->appendFile('https://s7.addthis.com/js/250/addthis_widget.js?pub=' . urlencode($addThis)); + } + + // Set up some variables for convenience: + $id = $this->driver->getUniqueId(); + $controllerClass = 'controller' . $this->record($this->driver)->getController(); + $cart = $this->cart(); + $cartId = $this->driver->getResourceSource() . '|' . $id; +?> +<div class="toolbar"> + <ul> + <? if (count($this->driver->getCitationFormats()) > 0): ?> + <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Cite')?>" class="citeRecord cite <?=$controllerClass?>" id="citeRecord" title="<?=$this->transEsc('Cite this')?>"><?=$this->transEsc('Cite this')?></a></li> + <? endif; ?> + <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'SMS')?>" class="smsRecord sms <?=$controllerClass?>" id="smsRecord" title="<?=$this->transEsc('Text this')?>"><?=$this->transEsc('Text this')?></a></li> + <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Email')?>" class="mailRecord mail <?=$controllerClass?>" id="mailRecord" title="<?=$this->transEsc('Email this')?>"><?=$this->transEsc('Email this')?></a></li> + <? $exportFormats = $this->record($this->driver)->getExportFormats(); if (count($exportFormats) > 0): ?> + <li> + <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>" class="export exportMenu"><?=$this->transEsc('Export Record')?></a> + <ul class="menu offscreen" id="exportMenu"> + <? foreach ($exportFormats as $exportFormat): ?> + <li><a <? if (\VuFind\Export::needsRedirect($exportFormat)): ?>target="<?=$this->escapeHtml($exportFormat)?>Main" <? endif; ?>href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>?style=<?=$this->escapeHtml($exportFormat)?>"><?=$this->transEsc('Export to')?> <?=$this->escapeHtml($exportFormat)?></a></li> + <? endforeach; ?> + </ul> + </li> + <? endif; ?> + <li id="saveLink"><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" class="saveRecord fav <?=$controllerClass?>" id="saveRecord" title="<?=$this->transEsc('Add to favorites')?>"><?=$this->transEsc('Add to favorites')?></a></li> + <? if (!empty($addThis)): ?> + <li id="addThis"><a class="addThis addthis_button" href="https://www.addthis.com/bookmark.php?v=250&pub=<?=urlencode($addThis)?>"><?=$this->transEsc('Bookmark')?></a></li> + <? endif; ?> + <? if ($cart->isActive()): ?> + <li><a id="recordCart" class="<?=$cart->contains($cartId) ? 'bookbagDelete' : 'bookbagAdd'?> offscreen" href="#"><?=$this->transEsc('Add to Book Bag')?></a></li> + <? endif; ?> + </ul> + <? if ($cart->isActive()): ?> + <div class="cartSummary"> + <form method="post" name="addForm" action="<?=$this->url('cart-home')?>"> + <input id="cartId" type="hidden" name="ids[]" value="<?=$this->escapeHtml($cartId)?>" /> + <noscript> + <? if ($cart->contains($cartId)): ?> + <input id="cartId" type="hidden" name="ids[]" value="<?=$this->escapeHtml($cartId)?>" /> + <input type="submit" class="button cart bookbagDelete" name="delete" value="<?=$this->transEsc('Remove from Book Bag')?>"/> + <? else: ?> + <input type="submit" class="button bookbagAdd" name="add" value="<?=$this->transEsc('Add to Book Bag')?>"/> + <? endif; ?> + </noscript> + </form> + </div> + <? endif; ?> + <div class="clear"></div> +</div> diff --git a/themes/blueprint/templates/record/view.phtml b/themes/blueprint/templates/record/view.phtml index 9edaeba7d73eb22247dbb3f9877b6a4bd454690c..e968bd623bb866981f0aadf801b327a88de08245 100644 --- a/themes/blueprint/templates/record/view.phtml +++ b/themes/blueprint/templates/record/view.phtml @@ -1,19 +1,8 @@ <? - $addThis = $this->addThis(); - if (!empty($addThis)) { - $this->headScript()->appendFile('https://s7.addthis.com/js/250/addthis_widget.js?pub=' . urlencode($addThis)); - } - // Set up standard record scripts: $this->headScript()->appendFile("record.js"); $this->headScript()->appendFile("check_save_statuses.js"); - // Set up some variables for convenience: - $id = $this->driver->getUniqueId(); - $controllerClass = 'controller' . $this->record($this->driver)->getController(); - $cart = $this->cart(); - $cartId = $this->driver->getResourceSource() . '|' . $id; - // Add RDF header link if applicable: if ($this->driver->supportsExport('RDF')) { $this->headLink()->appendAlternate($this->recordLink()->getActionUrl($this->driver, 'RDF'), 'application/rdf+xml', 'RDF Representation'); @@ -24,51 +13,10 @@ $this->recordLink()->getBreadcrumb($this->driver); ?> <div class="<?=$this->layoutClass('mainbody')?>"> - <div class="toolbar"> - <ul> - <? if (count($this->driver->getCitationFormats()) > 0): ?> - <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Cite')?>" class="citeRecord cite <?=$controllerClass?>" id="citeRecord" title="<?=$this->transEsc('Cite this')?>"><?=$this->transEsc('Cite this')?></a></li> - <? endif; ?> - <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'SMS')?>" class="smsRecord sms <?=$controllerClass?>" id="smsRecord" title="<?=$this->transEsc('Text this')?>"><?=$this->transEsc('Text this')?></a></li> - <li><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Email')?>" class="mailRecord mail <?=$controllerClass?>" id="mailRecord" title="<?=$this->transEsc('Email this')?>"><?=$this->transEsc('Email this')?></a></li> - <? $exportFormats = $this->record($this->driver)->getExportFormats(); if (count($exportFormats) > 0): ?> - <li> - <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>" class="export exportMenu"><?=$this->transEsc('Export Record')?></a> - <ul class="menu offscreen" id="exportMenu"> - <? foreach ($exportFormats as $exportFormat): ?> - <li><a <? if (\VuFind\Export::needsRedirect($exportFormat)): ?>target="<?=$this->escapeHtml($exportFormat)?>Main" <? endif; ?>href="<?=$this->recordLink()->getActionUrl($this->driver, 'Export')?>?style=<?=$this->escapeHtml($exportFormat)?>"><?=$this->transEsc('Export to')?> <?=$this->escapeHtml($exportFormat)?></a></li> - <? endforeach; ?> - </ul> - </li> - <? endif; ?> - <li id="saveLink"><a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" class="saveRecord fav <?=$controllerClass?>" id="saveRecord" title="<?=$this->transEsc('Add to favorites')?>"><?=$this->transEsc('Add to favorites')?></a></li> - <? if (!empty($addThis)): ?> - <li id="addThis"><a class="addThis addthis_button" href="https://www.addthis.com/bookmark.php?v=250&pub=<?=urlencode($addThis)?>"><?=$this->transEsc('Bookmark')?></a></li> - <? endif; ?> - <? if ($cart->isActive()): ?> - <li><a id="recordCart" class="<?=$cart->contains($cartId) ? 'bookbagDelete' : 'bookbagAdd'?> offscreen" href="#"><?=$this->transEsc('Add to Book Bag')?></a></li> - <? endif; ?> - </ul> - <? if ($cart->isActive()): ?> - <div class="cartSummary"> - <form method="post" name="addForm" action="<?=$this->url('cart-home')?>"> - <input id="cartId" type="hidden" name="ids[]" value="<?=$this->escapeHtml($cartId)?>" /> - <noscript> - <? if ($cart->contains($cartId)): ?> - <input id="cartId" type="hidden" name="ids[]" value="<?=$this->escapeHtml($cartId)?>" /> - <input type="submit" class="button cart bookbagDelete" name="delete" value="<?=$this->transEsc('Remove from Book Bag')?>"/> - <? else: ?> - <input type="submit" class="button bookbagAdd" name="add" value="<?=$this->transEsc('Add to Book Bag')?>"/> - <? endif; ?> - </noscript> - </form> - </div> - <? endif; ?> - <div class="clear"></div> - </div> + <?=$this->record($this->driver)->getToolbar()?> <div class="record recordId source<?=$this->escapeHtml($this->driver->getResourceSource())?>" id="record"> - <input type="hidden" value="<?=$this->escapeHtml($id)?>" class="hiddenId" id="record_id" /> + <input type="hidden" value="<?=$this->escapeHtml($this->driver->getUniqueId())?>" class="hiddenId" id="record_id" /> <?=$this->flashmessages()?> <? if (isset($this->scrollData) && ($this->scrollData['previousRecord'] || $this->scrollData['nextRecord'])): ?> <div class="resultscroller"> diff --git a/themes/jquerymobile/templates/RecordDriver/SolrDefault/toolbar.phtml b/themes/jquerymobile/templates/RecordDriver/SolrDefault/toolbar.phtml new file mode 100644 index 0000000000000000000000000000000000000000..6c060b5574ed9cbb130b52770cfd902d7ea0fac2 --- /dev/null +++ b/themes/jquerymobile/templates/RecordDriver/SolrDefault/toolbar.phtml @@ -0,0 +1,7 @@ +<div data-role="controlgroup"> + <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" data-role="button" rel="external"><?=$this->transEsc("Add to favorites")?></a> + <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'AddTag')?>" data-role="button" rel="external"><?=$this->transEsc("Add Tag")?></a> + <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Cite')?>" data-role="button" rel="external"><?=$this->transEsc("Cite this")?></a> + <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Email')?>" data-role="button" rel="external"><?=$this->transEsc("Email this")?></a> + <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'SMS')?>" data-role="button" rel="external"><?=$this->transEsc("Text this")?></a> +</div> diff --git a/themes/jquerymobile/templates/record/view.phtml b/themes/jquerymobile/templates/record/view.phtml index ebb1eead4f83f27f6f3cff18d7c9bb85f04e881d..7a9daa50018c7464dada6cb70bbf499276137e04 100644 --- a/themes/jquerymobile/templates/record/view.phtml +++ b/themes/jquerymobile/templates/record/view.phtml @@ -19,13 +19,7 @@ <h3><?=$this->escapeHtml($this->driver->getBreadcrumb())?></h3> <? endif; ?> <?=$tab?> - <div data-role="controlgroup"> - <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Save')?>" data-role="button" rel="external"><?=$this->transEsc("Add to favorites")?></a> - <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'AddTag')?>" data-role="button" rel="external"><?=$this->transEsc("Add Tag")?></a> - <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Cite')?>" data-role="button" rel="external"><?=$this->transEsc("Cite this")?></a> - <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'Email')?>" data-role="button" rel="external"><?=$this->transEsc("Email this")?></a> - <a href="<?=$this->recordLink()->getActionUrl($this->driver, 'SMS')?>" data-role="button" rel="external"><?=$this->transEsc("Text this")?></a> - </div> + <?=$this->record($this->driver)->getToolbar()?> </div> <?=$this->mobileMenu()->footer()?> </div>