diff --git a/ding_periodical.field.inc b/ding_periodical.field.inc index 337462d..e0530a5 100644 --- a/ding_periodical.field.inc +++ b/ding_periodical.field.inc @@ -71,7 +71,7 @@ function ding_periodical_field_formatter_view($entity_type, $entity, $field, $in $availability = ding_provider_invoke('availability', 'holdings', array($entity->provider_id)); if (isset($availability[$entity->provider_id])) { - $issues = $availability[$entity->provider_id]['issues']; + $issues = $availability[$entity->provider_id]['location']['issues']; // array_walk($issues, 'asort') complains about 'Notice: A non // well formed numeric value encountered'. foreach ($issues as $k => $v) { diff --git a/ding_periodical.js b/ding_periodical.js index 0de1407..934ee09 100644 --- a/ding_periodical.js +++ b/ding_periodical.js @@ -1,13 +1,13 @@ (function ($) { -$(document).ready(function(){ + $(document).ready(function(){ $('.field-name-ding-periodical-issues li').children('.item-list').hide(); -}); - + }); + Drupal.behaviors.dingPeriodicalIssueToggle = { attach: function (context, settings) { - $('.field-name-ding-periodical-issues .ding-periodical-fold').click(function(){ - $(this).parent('.ding-periodical-foldable').children('.item-list').toggle(); - }); + $('.field-name-ding-periodical-issues .ding-periodical-fold', context).click(function(){ + $(this).siblings('.item-list').toggle(); + }); } } }(jQuery)); diff --git a/ding_periodical.module b/ding_periodical.module index d222543..44c3bed 100644 --- a/ding_periodical.module +++ b/ding_periodical.module @@ -27,22 +27,21 @@ function theme_ding_periodical_issues($variables) { $items = array(); foreach ($variables['elements']['#issues'] as $volume => $issues) { $iss = array(); - foreach ($issues as $key => $availability) { + foreach ($issues as $key => $availability) { $issue = $key; // check user if ($availability['reservable'] && module_exists('ding_periodical_reservation')) { - $issue .= ' ' . ding_periodical_reservation_button($availability['local_id'], $volume, $key, $variables['elements']['#entity']); - } + $issue .= ' ' . ding_periodical_reservation_button($availability['local_id'], $volume, $key, $variables['elements']['#entity']); + } $iss[] = $issue; - } + } - $vol = - array( - 'data' => '