Automaticaly set better derivative params for mobile theme according to screen size.
git-svn-id: http://piwigo.org/svn/trunk@13545 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
parent
f0d5c6c010
commit
1c50bb4d03
4 changed files with 30 additions and 9 deletions
|
@ -14,6 +14,9 @@
|
|||
</h6>
|
||||
</div>
|
||||
{/if}
|
||||
{footer_script require='jquery'}
|
||||
document.cookie = 'screen_size='+jQuery(document).width()+'x'+jQuery(document).height()+';path={$COOKIE_PATH}';
|
||||
{/footer_script}
|
||||
{get_combined_scripts load='footer'}
|
||||
</div><!-- /page -->
|
||||
|
||||
|
|
|
@ -1,10 +1,8 @@
|
|||
{define_derivative name='derivative_params_square' type='square'}
|
||||
|
||||
<ul data-role="listview" data-inset="true">
|
||||
{foreach from=$category_thumbnails item=cat}
|
||||
<li>
|
||||
<a href="{$cat.URL}">
|
||||
<img src="{$pwg->derivative_url($derivative_params_square, $cat.representative.src_image)}">
|
||||
<img src="{$pwg->derivative_url($thumbnail_derivative_params, $cat.representative.src_image)}">
|
||||
<h3>{$cat.NAME}</h3>
|
||||
<p class="Nb_images">{$cat.CAPTION_NB_IMAGES}</p>
|
||||
</a>
|
||||
|
|
|
@ -5,21 +5,18 @@
|
|||
{combine_script id='jquery.ajaxmanager' path='themes/default/js/plugins/jquery.ajaxmanager.js' load='footer'}
|
||||
{combine_script id='thumbnails.loader' path='themes/default/js/thumbnails.loader.js' require='jquery.ajaxmanager' load='footer'}
|
||||
|
||||
{define_derivative name='derivative_params_square' type='square'}
|
||||
{define_derivative name='derivative_params_large' type='large'}
|
||||
|
||||
<ul class="thumbnails">
|
||||
{foreach from=$thumbnails item=thumbnail}{strip}
|
||||
{assign var=derivative value=$pwg->derivative($derivative_params_square, $thumbnail.src_image)}
|
||||
{assign var=derivative value=$pwg->derivative($thumbnail_derivative_params, $thumbnail.src_image)}
|
||||
{if isset($page_selection[$thumbnail.id])}
|
||||
<li>
|
||||
<a href="{$pwg->derivative_url($derivative_params_large, $thumbnail.src_image)}" rel="external">
|
||||
<a href="{$pwg->derivative_url($picture_derivative_params, $thumbnail.src_image)}" rel="external">
|
||||
<img {if !$derivative->is_cached()}data-{/if}src="{$derivative->get_url()}" alt="{$thumbnail.TN_ALT}">
|
||||
</a>
|
||||
</li>
|
||||
{else}
|
||||
<li style="display:none;">
|
||||
<a href="{$pwg->derivative_url($derivative_params_large, $thumbnail.src_image)}" rel="external"></a>
|
||||
<a href="{$pwg->derivative_url($picture_derivative_params, $thumbnail.src_image)}" rel="external"></a>
|
||||
</li>
|
||||
{/if}
|
||||
{/strip}{/foreach}
|
||||
|
|
|
@ -12,6 +12,10 @@ $themeconf = array(
|
|||
'mobile' => true,
|
||||
);
|
||||
|
||||
// Redirect if page is not compatible with mobile theme
|
||||
if (!in_array(script_basename(), array('index', 'register', 'profile', 'identification')))
|
||||
redirect(duplicate_index_url());
|
||||
|
||||
//Retrive all pictures on thumbnails page
|
||||
add_event_handler('loc_index_thumbnails_selection', 'sp_select_all_thumbnails');
|
||||
|
||||
|
@ -24,4 +28,23 @@ function sp_select_all_thumbnails($selection)
|
|||
return $page['items'];
|
||||
}
|
||||
|
||||
// Get better derive parameters for screen size
|
||||
if (!empty($_COOKIE['screen_size']))
|
||||
{
|
||||
$screen_size = explode('x', $_COOKIE['screen_size']);
|
||||
$derivative_params = new ImageStdParams;
|
||||
$derivative_params->load_from_db();
|
||||
$type = IMG_LARGE;
|
||||
|
||||
foreach ($derivative_params->get_all_type_map() as $type => $map)
|
||||
{
|
||||
if (max($map->sizing->ideal_size) >= max($screen_size) and min($map->sizing->ideal_size) >= min($screen_size))
|
||||
break;
|
||||
}
|
||||
pwg_set_session_var('sp_picture_deriv', $type);
|
||||
}
|
||||
|
||||
$this->assign('picture_derivative_params', ImageStdParams::get_by_type(pwg_get_session_var('sp_picture_deriv', IMG_LARGE)));
|
||||
$this->assign('thumbnail_derivative_params', ImageStdParams::get_by_type(IMG_SQUARE));
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue