モバイルプレビューで選択できるデバイスを変更する
application ディレクトリでオーバーライドした設定ファイルから変更することができます。デフォルト設定は concrete/config/devices.php に PHP の配列で書かれています。デフォルト設定の一部を上書きしたり、デバイスを追加することができます。
下記は iPhone 6 の名前を変更し、Xperia Z を追加した例です。
application/config/devices.php
<?php use Concrete\Core\Device\DeviceInterface as DeviceType; return array( 'iphone6' => array( 'name' => 'iPhone 6 Foo', ), /** Xperia Z, 1920x1080 @3x */ 'xperiaz' => array( 'type' => DeviceType::MOBILE, 'name' => 'Sony Xperia Z', 'class' => '\Application\Src\Device\Sony\Xperia\XperiaZDevice', 'width' => 1920, 'height' => 1080, 'pixel_ratio' => 3, 'default_orientation' => 'portrait', 'agent' => 'Mozilla/5.0 (Linux; U; Android 5.0.2; de-de; SGP612 Build/23.1.A.0.690) AppleWebKit/537.16 (KHTML, like Gecko) Version/4.0 Safari/537.16' ), );
上記の設定ファイル中で指定されている XperiaZDevice クラスは、application/src/Device/Sony/Xperia/XperiaZDevice.php に設置します。内容は、他の concrete/src/Devices ディレクトリ内のファイルを参考にしてください。基本的には、デバイスプレビューの外側のdivタグを指定する形になります。iPhoneなど標準のモバイルプレビューに含まれるデバイスの画像はconcrete5に同梱されていますが、追加デバイスの画像は、別途用意したうえで、このクラスで指定したclassの背景としてcssで指定してください。
<?php namespace Application\Src\Device\Sony\Xperia; use Concrete\Core\Device\Device; class XperiaZDevice extends Device { public function getViewportHTML() { return '<div class="ccm-device-xperiaz"><iframe class="ccm-display-frame"></iframe></div>'; } }