Fix #832 make the viewport setting customizable

모바일 접속시 <meta name="viewport"> 태그에 들어가는 내용을
시스템 설정 메뉴에서 커스터마이징할 수 있도록 변경함.
This commit is contained in:
Kijin Sung 2017-11-23 16:54:06 +09:00
parent 2f10d5c0b5
commit 17ca61eed3
7 changed files with 15 additions and 1 deletions

View file

@ -111,6 +111,7 @@ return array(
'mobile' => array( 'mobile' => array(
'enabled' => true, 'enabled' => true,
'tablets' => false, 'tablets' => false,
'viewport' => 'width=device-width, initial-scale=1.0, user-scalable=yes',
), ),
'use_prepared_statements' => true, 'use_prepared_statements' => true,
'use_rewrite' => true, 'use_rewrite' => true,

View file

@ -5,7 +5,7 @@
<!-- META --> <!-- META -->
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="generator" content="Rhymix"> <meta name="generator" content="Rhymix">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes" cond="$m" /> <meta name="viewport" content="{config('mobile.viewport') ?: 'width=device-width, initial-scale=1.0, user-scalable=yes'}" cond="$m" />
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<block loop="Context::getMetaTag() => $no, $val"> <block loop="Context::getMetaTag() => $no, $val">
<meta http-equiv="{$val['name']}"|cond="$val['is_http_equiv']" name="{$val['name']}"|cond="!$val['is_http_equiv']" content="{$val['content']}" /> <meta http-equiv="{$val['name']}"|cond="$val['is_http_equiv']" name="{$val['name']}"|cond="!$val['is_http_equiv']" content="{$val['content']}" />

View file

@ -769,6 +769,7 @@ class adminAdminController extends admin
// Mobile view // Mobile view
Rhymix\Framework\Config::set('mobile.enabled', $vars->use_mobile_view === 'Y'); Rhymix\Framework\Config::set('mobile.enabled', $vars->use_mobile_view === 'Y');
Rhymix\Framework\Config::set('mobile.tablets', $vars->tablets_as_mobile === 'Y'); Rhymix\Framework\Config::set('mobile.tablets', $vars->tablets_as_mobile === 'Y');
Rhymix\Framework\Config::set('mobile.viewport', utf8_trim($vars->mobile_viewport));
if (Rhymix\Framework\Config::get('use_mobile_view') !== null) if (Rhymix\Framework\Config::get('use_mobile_view') !== null)
{ {
Rhymix\Framework\Config::set('use_mobile_view', $vars->use_mobile_view === 'Y'); Rhymix\Framework\Config::set('use_mobile_view', $vars->use_mobile_view === 'Y');

View file

@ -565,6 +565,7 @@ class adminAdminView extends admin
Context::set('use_rewrite', Rhymix\Framework\Config::get('use_rewrite')); Context::set('use_rewrite', Rhymix\Framework\Config::get('use_rewrite'));
Context::set('use_mobile_view', (config('mobile.enabled') !== null ? config('mobile.enabled') : config('use_mobile_view')) ? true : false); Context::set('use_mobile_view', (config('mobile.enabled') !== null ? config('mobile.enabled') : config('use_mobile_view')) ? true : false);
Context::set('tablets_as_mobile', config('mobile.tablets') ? true : false); Context::set('tablets_as_mobile', config('mobile.tablets') ? true : false);
Context::set('mobile_viewport', config('mobile.viewport') ?: 'width=device-width, initial-scale=1.0, user-scalable=yes');
Context::set('use_ssl', Rhymix\Framework\Config::get('url.ssl')); Context::set('use_ssl', Rhymix\Framework\Config::get('url.ssl'));
Context::set('delay_session', Rhymix\Framework\Config::get('session.delay')); Context::set('delay_session', Rhymix\Framework\Config::get('session.delay'));
Context::set('use_session_keys', Rhymix\Framework\Config::get('session.use_keys')); Context::set('use_session_keys', Rhymix\Framework\Config::get('session.use_keys'));

View file

@ -248,6 +248,8 @@ $lang->timezone = 'Time Zone';
$lang->use_mobile_view = 'Enable Mobile View'; $lang->use_mobile_view = 'Enable Mobile View';
$lang->about_use_mobile_view = 'Show mobile page when visitors access with mobile devices.'; $lang->about_use_mobile_view = 'Show mobile page when visitors access with mobile devices.';
$lang->tablets_as_mobile = 'Treat Tablets as Mobile'; $lang->tablets_as_mobile = 'Treat Tablets as Mobile';
$lang->mobile_viewport = 'Mobile viewport Setting';
$lang->about_mobile_viewport = 'The settings entered above will be output in a &lt;meta name=&quot;viewport&quot;&gt; tag for mobile visitors.';
$lang->thumbnail_target = 'Extract Thumbnail From'; $lang->thumbnail_target = 'Extract Thumbnail From';
$lang->thumbnail_target_all = 'All images'; $lang->thumbnail_target_all = 'All images';
$lang->thumbnail_target_attachment = 'Attached images only'; $lang->thumbnail_target_attachment = 'Attached images only';

View file

@ -244,6 +244,8 @@ $lang->timezone = '표준 시간대';
$lang->use_mobile_view = '모바일 뷰 사용'; $lang->use_mobile_view = '모바일 뷰 사용';
$lang->about_use_mobile_view = '모바일 기기로 접속시 모바일 페이지를 보여줍니다.'; $lang->about_use_mobile_view = '모바일 기기로 접속시 모바일 페이지를 보여줍니다.';
$lang->tablets_as_mobile = '태블릿도 모바일 취급'; $lang->tablets_as_mobile = '태블릿도 모바일 취급';
$lang->mobile_viewport = '모바일 viewport 설정';
$lang->about_mobile_viewport = '모바일 접속시 여기 입력한 내용이 &lt;meta name=&quot;viewport&quot;&gt; 태그로 출력됩니다.';
$lang->thumbnail_target = '썸네일 생성 대상'; $lang->thumbnail_target = '썸네일 생성 대상';
$lang->thumbnail_target_all = '모든 이미지 (외부 이미지 포함)'; $lang->thumbnail_target_all = '모든 이미지 (외부 이미지 포함)';
$lang->thumbnail_target_attachment = '첨부된 이미지'; $lang->thumbnail_target_attachment = '첨부된 이미지';

View file

@ -80,6 +80,13 @@
</select> </select>
</div> </div>
</div> </div>
<div class="x_control-group">
<label class="x_control-label" for="mobile_viewport">{$lang->mobile_viewport}</label>
<div class="x_controls">
<input type="text" name="mobile_viewport" id="mobile_viewport" value="{$mobile_viewport}" style="min-width: 80%" />
<p class="x_help-block">{$lang->about_mobile_viewport}</p>
</div>
</div>
<div class="x_control-group"> <div class="x_control-group">
<label class="x_control-label">{$lang->use_db_session}</label> <label class="x_control-label">{$lang->use_db_session}</label>
<div class="x_controls"> <div class="x_controls">