エンタメ特化型、心を動かすWeb制作。
まずは無料で相談いたします!
今回は、コアアップデートに加えて、管理画面テーマのディスカッション、そして新モジュール「Wesanox Framework Package」もご紹介します。
最後には、開発中の「ProcessWire JSON API」ライブラリについても触れています。
フルスタックサイト構築
ここ最近のコア開発は、デフォルトの管理画面テーマ「Admin Theme Uikit」の刷新にフォーカスしています。
今週の変更点は以下の通りです:
ライトテーマがデフォルトに
自動モードやダークモードは引き続き利用可能ですが、ダークモードはやや実験的であり、他のサードパーティモジュールとの組み合わせで不具合が出る場合もあるため、今はライトモードをデフォルトにする方針です。
トグル型チェックボックスが無効に
トグルデザインは視覚的に魅力的ですが、すべての場面で最適とは限らないため、現在は無効化され、必要な場合にオプションとして有効にできます。
新しい設定オプション追加
以下のように設定することで、機能を個別に制御できます
$config->AdminThemeUikit('noDarkMode', true); // ダークモード無効
$config->AdminThemeUikit('noTogcbx', true); // トグル型チェックボックス無効
Ryan氏によると、これらの設定は「グローバル」または「リクエスト単位」で適用できます。
たとえば特定のモジュール内だけでダークモードを無効化することも可能です。
現在のところ、既存サイトが自動的に新デザインに移行されることはありません。
オリジナルテーマ(旧テーマ)は今後も利用可能ですので、安心して使い続けられます。
今週は、Ville "Fokke" Saarivaara 氏が開発中の新しいPHPライブラリ「ProcessWire JSON API」を紹介します。
これはモジュールではなくスタンドアロンのライブラリで、ProcessWire サイトに簡単に JSON API を構築できるツールです。
簡単な導入
必要なのはクラス作成と初期化のみ。以下のように構成します。
サービス定義(/site/services/HelloWorldService.php)
<?php namespace ProcessWire;
use PwJsonApi\{Service, Response};
class HelloWorldService extends Service {
public function __construct() {
parent::__construct();
$this
->addEndpoint('/hello-world')
->get(function () {
return new Response([
'hello' => 'world',
]);
});
}
}
初期化(/site/ready.php)
<?php namespace ProcessWire;
require_once './services/HelloWorldService.php';
$api = new PwJsonApi\Api();
$api->setBasePath('/api');
$api->addService(new HelloWorldService());
$api->run();
これで /api/hello-world/
にアクセスすると、以下のようなJSONが返されます:
{
"hello": "world"
}
拡張性が高い(マルチサービス、フックなど)
最新のPHP技術を活用(URLフック、型、enum、traitなど)
テストスイート付き(ProcessWireでは珍しい!)
現在はまだ開発中ですが、GitHub で試すことができます。インストール方法は以下の通り:
composer require fokke/pw-json-api
この新しいサードパーティ製モジュールは、よく使われる JavaScript ライブラリをまとめて読み込めるローダーです。
カスタムスクリプトの追加も可能です。
AOS 2.3.1(スクロールアニメーション)
Swiper 11.2.8(タッチスライダー)
Bootstrap 5.3.6
jQuery 3.7.1
APIでの呼び出し方法
echo $modules->WesanoxFrameworkPackage->renderStyles();
echo $modules->WesanoxFrameworkPackage->renderScripts();
README によると、必要に応じて直接モジュールを編集してカスタマイズするのが推奨されています。
自分専用のライブラリローダーとして使ってみるのも良いでしょう。
モジュールページまたは管理画面のモジュールマネージャーからインストール可能です。
これまで何回かにわたって、オフィシャルからのメルマガ内容「ProcessWire Weekly」を翻訳してお伝えしてきておりましたが、メルマガ内容によっては、記事にするまでもない内容の時もございますので、今後はProcessWireにコアアップデート/新ライブラリ紹介/新モジュール紹介がある場合のみといたします。