Ver. 3.0.23 フィックスバージョンリリースのお知らせ


2023年03月24日にリリースした Ver. 3.0.23 の修正内容についてご紹介いたします。

現在お困りの問題に該当する項目がありましたら、お早めにバージョンアップのご検討をお願いいたします。

Ver. 3.0.23 リリースノート

不具合修正

  • CMS-6303 Topicpath モジュールの表示設定でカテゴリーとエントリーの「フィールド」のツールチップ内容が間違っている問題の修正
  • CMS-6297 Entry_Body でエントリーを複数表示した場合に、SmartPhoto で表示する画像をエントリー毎にグループ化する機能が動作していない問題の修正
  • CMS-6309 ロールを削除した場合のアラートにスタイルが適用されていない問題の修正
  • CMS-6310 PHP バージョンが 8.1 の場合、Feed_ExList モジュールで PHP エラーが出る問題の修正
  • CMS-6312 メディアのキャプション・代替テキスト・リンクのプレースホルダーの意図がわかりづらい問題を修正
  • CMS-6307 標準テーマのキーワード検索結果ページで「noindex」のmetaタグが出力されない場合がある問題を修正
  • CMS-6314 エイリアスにコードを設定している場合、リンクがエイリアスのリンクにならない問題を修正
  • CMS-6315 メンテナンスメニューから使用していないデータベースのテーブルを削除するときにPHPエラーが出る問題の修正
  • CMS-6318 .htaccess の index.html なしへの正規化を修正(ディレクトリを切ってa-blog cmsをインストールしている場合、リダイレクトがおかしくなる問題への対応)
  • CMS-6319 画像ユニットで登録した画像が存在しない場合、PHPエラーが出る問題を修正
  • CMS-6320 PHP8.1 で SMTP 経由でメール送信時にPHPエラーが発生する問題の修正
  • CMS-6323 /include/edit/module-custom-left.html をinclude しても「編集する」が左側に配置されない問題の修正
  • CMS-6329 画像ユニットで登録した画像が存在しない場合、PHPエラーが出る問題を修正
  • CMS-6330 エントリーのインポートで、古いバージョンのエクスポートデータだと、画像のインポートに失敗する場合がある問題を修正

主なリリースノート内容

CMS-6297 Entry_Body でエントリーを複数表示した場合に、SmartPhoto で表示する画像をエントリー毎にグループ化する機能が動作していない問題の修正

SmartPhotoを拡大表示した時、下側に表示されるサムネイルが、エントリー毎にグループできていない問題を修正しました。



問題

Entry_Body の モジュールID設定のイメージビューアーにはデフォルトで data-rel="smartPhoto[{unit_eid}]" という値が設定されています。

これは、Entry_Body でエントリーを複数表示した場合(一覧ページなど)に、SmartPhotoで表示した時の下側に表示されるサムネイル画像を、そのエントリーに限定するために設定されていましたが、この機能が動作していなく、他のエントリーも一緒にサムネイル表示される状態となっていました。

* この仕組みは、SmartPhoto以前の prettyPhoto による仕様で、SmartPhotoでは対応できていなかったことになります。

修正内容

「SmartPhoto」では data-group 属性 でグループ化できる仕様になっているため、テンプレート(system/_layouts/unit.html)にて直接 data-group 属性にエントリーIDを記述するようにしました。

<a href="{url}" {viewer}[raw] data-group="{link_eid}">

* 以前の仕様だと、link#front ブロック内で {unit_eid} 変数が解決されないため、link#front ブロックでエントリーIDを表示できるように、{link_eid} を追加しました。

次にデフォルトの Entry_Body の イメージビューワー の設定(config.system.default.yaml と各テーマの初期データ)を data-rel="SmartPhoto" へ変更しております。

また、Entry_Body以外のSmartPhoto起動場所には、class属性に「js-smartphoto」を指定するように変更しました。

テンプレートの修正が必要な場合

今回の問題は、基本的にはCMSアップデートにより自動で対応されますが、メディアユニットや画像ユニットを独自にカスタマイズしている場合は、カスタマイズしているユニットテンプレートに、 data-group="{link_eid}" を追加するようにお願いいたします。

CMS-6307 標準テーマのキーワード検索結果ページで「noindex」のmetaタグが出力されない場合がある問題を修正

標準テーマでは、キーワード検索結果ページはインデックスされないようにテンプレートが仕込まれています。

理由

ユーザーによる好きな検索ワードで検索されるので、悪意のあるユーザーが、イメージダウンするようなワードで検索し、そのワードがタイトルに入った状態でインデックスされてしまうためになります。また似たようなページのインデックスが大量にできてしまうので、SEO的にもインデックスさせないようにしています。

該当テンプレート

themes/該当テーマ/include/head/robots.html

今回問題となっていた内容

エントリ詳細URLだと問題はなかったのですが、一覧ページの場合インデックスされていました。

インデックスされない例
https://example.com/search.html?keyword=xxxx
インデックスされていた例
https://example.com/?keyword=xxxx

上記の問題がこのバージョンで修正されました。

最後に

該当する問題がありましたら、お早めにバージョンアップのご検討をお願いいたします。また、迅速にご報告いただいたユーザーの皆さま、誠にありがとうございました。

今後もご報告いただいた内容に対して真摯に受け止め修正と改善を行ってまいります。 今後ともどうぞよろしくお願いいたします。

フックの拡張

拡張アプリでのフックの拡張の仕方を見ていきます。名前空間・クラス名に気をつけましょう。

ファイル名は任意ですが、わかりやすくする為、Hook.php とします。

例: extension/plugins/SamplePlugin/Hook.php

<?php

namespace Acms\Plugins\SamplePlugin;

class Hook
{
    /**
     * 例: グローバル変数の拡張
     *
     * @param array &$globalVars
     */
    public function extendsGlobalVars(&$globalVars)
    {
         $globalVars->set('SAMPLE', 'サンプルのグローバル変数です');
    }
}

ServiceProviderの設定

これだけでは、通常の拡張方法と違い動作しません。動作させるためには、このクラスのオブジェクトをa-blog cmsに登録する必要があります。

ServiceProviderでHook実装クラスを登録する

拡張アプリの基本で作成した ServiceProviderに少し手を加えます。

<?php

namespace Acms\Plugins\SamplePlugin;

use ACMS_App;
use Acms\Services\Common\HookFactory;

class ServiceProvider extends ACMS_App
{
    /* 省略... */

    /**
     * サービスの初期処理
     */
    public function init()
    {
        $hook = HookFactory::singleton();
        $hook->attach('SampleHook', new Hook);
    }

    /* 省略... */
}

ポイント

Acms\Services\Common\HookFactory のオブジェクトを

HookFactory::singleton();

で取得して 先ほど作成した Acms\Plugins\SamplePlugin\Hookattach します。

  • 第一引数: 被らないような任意の文字列
  • 第2引数: 実装クラスのオブジェクト

これで拡張アプリをインストールすれば、Hook.php で実装したHookが利用できるようになります。

本日 a-blog cms awards 2023 の応募を開始しました


a-blog cms awards 2023の応募を本日 (5月16日)より開始します。

2022年度 に a-blog cms で制作されたWebサイトの制作事例を募集いたします。

はじめて参加する方や参加を迷われている方、応募事例が決まっていない方も、参加登録をすることが可能です。まずは応募詳細をメールでお送りいたしますので、お気軽に参加登録をお願いいたします。参加特典や、入賞した事例には素敵な賞品もご用意しております。皆様のご応募を心よりお待ちしております。

応募条件

  1. a-blog cms で作られたサイトであること
  2. 今回提出されるコンテンツが、a-blog cmsの広報活動に利用されることを(サイトの持ち主である)サイトオーナー様が承諾されていること
  3. 2022年度(2022年4月〜2023年3月)に制作されたサイトであること ※リニューアル可
  4. 個人利用のサイトはご応募いただけません

参加特典

どちらか1つを進呈(スタンダードライセンス用)

・アップデート期間延長オプション(1年間) ・1ユーザーライセンス

※ 参加特典は、応募いただいた後、弊社の用意する制作事例のフォーマットを完成提出いただけた事例に限ります。

  • テクノロジー賞
  • デザイン賞
  • ユーザビリティ賞
  • アップルップル賞

入賞した事例の特典

テクノロジー賞、デザイン賞、ユーザビリティ賞、アップルップル賞のいずれかに入賞した方にそれぞれトロフィーと賞品を用意しています。

賞品の内容

以下の候補の中からひとつお好きな賞品をお選びいただけます。



  • BALMUDA The Toaster Pro
  • BALMUDA The GreenFan
  • DELL S2721QS 27インチ 4K ディスプレイ
  • Apple HomePod mini x 2
  • Apple Watch SE スマートウォッチ
  • Amazon Echo Show 15 15インチスマートディスプレイ
  • SONY WF-1000XM4 ワイヤレスノイズキャンセリングステレオヘッドセット

詳細は以下のイベントページをご覧ください。


a-blog cms awards とは?

a-blog cms awardsは、a-blog cms で制作されたサイトの事例をあつめて、よりよいサイトをみつけるための企画です。 応募条件は a-blog cms で制作されたサイトであること。選ばれたサイトから各分野の賞を贈り賞品を贈呈します。 2019年から始まり、今回で5回目の開催となります。

多くのサイトからの制作事例をお待ちしております。お気軽にご登録ください。

前年の開催の様子については、 以下の記事をご参考にしてください。

過去の開催の様子



過去の応募者による開催レポート





それでは、今回もみなさんからのたくさんの事例のご応募をお待ちしております!