Contao 5.3 LTSを利用可能

2024年2月14日 16:46 Marcus Lelle - Current issues

2024年は既に順調な滑り出しです: 新しいContao 5.3 LTSがここにあります!

コアチームと他の多数の開発者は大好きなCMSを次の段階に向けて過去半年にわたって熱心に取り組んできました。ユーザーと開発者のための新しい大きな、そして小さな機能を楽しみにしています。

Contao 5.3はContao 5.2を置き換えて、5.2のサポートを終了にします。この新しいバージョンは2027年2月までバグ修正をサポートします。全てのContaoのLTS版のように、5.3にはセキュリティ更新をもう1年先の2028年2月まで提供します。

また、4.9 LTSバージョンのサポートは本日終わります。これ以上、Contao 4.9に更新はありません!

現在サポートしているContaoのバージョンはContao release planで確認できます。

ユーザー向け

入れ子のコンテント要素

この機能はアーティクルにより明瞭さを提供し、バックエンドのさらなる表示オプション、例えばグリッド表示の土台となります。機能拡張や将来のバージョンによって何が可能になるか、とても興奮しています。

現在のところ、コンテントスライダーとアコーディオンのために実装しました。

コンテントスライダー

新しいコンテントスライダーは最新のswiper.jsを元にしています。後方互換性のために、レガシーなスライダー、開始と終了のラッパーも、まだ存在します。

コンテントスライダーのそれぞれの子の要素はスライドを表現します。

スライダーがいくつかのコンテント要素で構成される場合は、新しいelement groupを使用して結合できます。

アコーディオン

新しいアコーディオン要素も入れ子のコンテント要素で動作します。ここでも、必要であれば要素をグループに結合できて、アコーディオンの領域のように扱えます。子の要素がアコーディオンに属している場合、編集するときに自動的に領域の見出しの項目を受けます。

アコーディオンの単一の要素ラッパーの開始ラッパーの終了は後方互換性のため引き続き利用できます。

完全した編集フォーム

これからは、編集時にそれぞれのコンテント要素にメニューが用意され、入力部分の特定の領域・見出しへの移動に使用できます。このメニューはスクロールしても最上部に固定して残ります。

説明リスト

別の新しいコンテント要素、説明リストがあります。<dl>のマークアップを作成します。これは用語集やよく似たものような一覧の代替手段となります。

インラインスタイルとなったニュースレターと新しいレスポンシブなテンプレート

ニュースレターのテンプレートに書かれたCSSを送信前にインラインスタイルに自動的に変更します。これによって第三者が提供するテンプレートを使いやすくします。新しいテンプレートmail_responsive.html5に、その可能性を見出せるでしょう。

ログインモジュールに"パスワード忘れ"

ログインモジュールに「パスワード忘れ」のページへのリンクを入力できるようにしました。これでログインの操作をさらに使いやすくします。

フロントエンドモジュールにアクセス権を設定

個別のフロントエンドモジュールに編集のアクセス権を設定できるようにしました。例えば、ニュースやイベントリストに設定を行えます。

バックエンドのクローラーにさらなる設定

バックエンドのクローラーの設定で、クロールする深さを変更できるようにしました。大きい数値にするほど、より多くのリンクを見つけられて、処理時間は長くなります。

ウェブサイトルート毎の独自のコンテントセキュリティポリシー

ウェブサイトのルートそれぞれで、CSPヘッダーのための広範な設定を行えます。スクリプト、スタイル、インラインのスタイルはノンスと共に自動的に提供し、対応するエントリーをCSPヘッダーに追加します。

標準の保守中のテンプレートを自動的に翻訳

保守中のページの標準のテンプレートを異なる言語に自動的に翻訳するようにしました。

Strict Transport Securityヘッダー

ContaoはすべてのHTTPS要求にStrict Transport Securityヘッダーを自動的に送ります。これはブラウザーにHTTPS経由だけでアクセスしなければならないことを伝えます。

プレビューのリンクでドメインを跨いだ自動ログイン

マルチドメインを使用している場合でも、プレビューをドメインを跨いで動作するようにしました。バックエンドにdomain-b.comでログインしていたとしても、domain-a.comのプレビューは動作します。

DNSの対応付の移行

データベースを稼働中のシステムからローカルのシステムにインポートするとき、DNSの対応付の移行によって開始点のドメインを自動的に変更します。

ローカル、ステージング、稼働中のシステムに異なる構成を保存できるようにしました。

# ローカル環境用: .env.local
DNS_MAPPING='{
    "www.example.com": "example.local",
    "www.foobar.org": "foobar.local",
    "www.lorem.at": "http://lorem.local" # Deactivate https in your local environment
}'

# ステージング環境用: .env.local
DNS_MAPPING='{
    "www.example.com": "staging.example.com",
    "www.foobar.org": "staging.foobar.org",
    "www.lorem.at": "staging.lorem.at"
}'

開発者向け

自動的なコントローラーの検出

これからは、独自のコントローラーのルートのためにroutes.yamlを作成する必要はなくなりました。自動的に検出します。

onpalette_callback

パレットを作成した時にonpalette_callbackを実行します。コールバックで挿入する項目は「複数を編集」のモードでも正しく動作します。

コンテントのURL生成

コンテントのURL生成は、様々なモデルからフロントエンドのURLを生成できます。

$model = NewsModel::findByPk(2);

// Contao 5.2
$archive = $model->getRelated('pid');
if ($archive) {
    $page = $archive->getRelated('jumpTo');
if ($page) {
        echo $page->generateFrontendUrl();
    }
}

// Contao 5.3
echo $container->get('contao.routing.content_url_generator')->generate($model);

DCAとモデルでEnumをサポート

PHPのenumをDCAのオプションとして使用できるようにしました。

さらにたくさん

すべての詳細な変更はChangelogで参照できます。 Christian Feneberg氏は、もっとも重要な新基軸を動画(ドイツ語だけ)でも要約しています。

互換性

Contao 5.3はSymfony 6.4、PHP 8.1以降、Doctrine 3と互換性があります。

こちらも参照: チケット | 比較表示 | 変更履歴 | 長期サポート版4.13の変更を比較


Contao 5.3 LTS is availableの翻訳です。