Ignore:
Timestamp:
Dec 21, 2011, 2:51:44 PM (12 years ago)
Author:
rvelices
Message:

derivatives - can display several sizes on picture page

File:
1 edited

Legend:

Unmodified
Added
Removed
  • extensions/derivatives/main.inc.php

    r12770 r12775  
    2424}
    2525
     26
     27add_event_handler(
     28  'render_element_content',
     29  'dyn_render_picture_content',
     30  EVENT_HANDLER_PRIORITY_NEUTRAL-1,
     31  2
     32  );
     33
     34function dyn_render_picture_content($content, $element_info)
     35{
     36  if ( !empty($content) )
     37  {// someone hooked us - so we skip;
     38    return $content;
     39  }
     40
     41  $all_derivatives = DerivativeImage::get_all($element_info);
     42  //var_export($all_derivatives);
     43  $selected_derivative = $all_derivatives[IMG_LARGE];
     44
     45  $available_derivatives = array();
     46  $added = array();
     47  foreach($all_derivatives as $type => $derivative)
     48  {
     49    $url = $derivative->get_url();
     50    if (isset($added[$url]))
     51      continue;
     52    $added[$url] = 1;
     53    $available_derivatives[] = $type;
     54  }
     55
     56
     57  global $user, $page, $template;
     58
     59  $template->set_filenames(
     60    array('default_content'=> dirname(__FILE__).'/picture_content.tpl')
     61    );
     62
     63  $template->append('current', array(
     64      'all_derivatives' => $all_derivatives,
     65      'selected_derivative' => $selected_derivative,
     66      'available_derivative_types' => $available_derivatives,
     67    ), true);
     68
     69  $template->assign( array(
     70    'ALT_IMG' => $element_info['file'] ));
     71
     72  return $template->parse( 'default_content', true);;
     73}
    2674?>
Note: See TracChangeset for help on using the changeset viewer.