スケジュールの編集権限を変更する

config.system.yaml に1行追記し、スケジュールの編集権限を変更できます。この機能はVer.2.11から利用可能です。

スケジュールの編集権限は管理者または編集者を選択できます。初期値は編集者以上になっています。



項目 選択肢 初期値
schedule_admin_authority administrator | editor editor

Entry_BodyモジュールでRSSファイルを作成する

a-blog cms では、/themes/system/rss2.xml が用意されており、特に意識しなくてもルート直下にRSSファイルが生成されます。他のテンプレートファイルと同様、お使いのテーマに複製してカスタマイズすることも可能です。このファイルには Feed_Rss2モジュールが使用されています。しかし、Feed_Rss2モジュールでは変数等が限られています。このエントリーでは、Entry_Bodyモジュールを使用したよりきめ細かいRSSファイルの実装について説明します。

Entry_Bodyモジュールを使うとできるようになること

  • カスタムフィールドの値を出す
  • RSS にメイン画像のURLを出す
  • タグの値を出す
  • エントリー日時だけでなく、更新日時を出す
  • Entry_TagRelationalモジュールなどで関連エントリーを出す

例えば多言語サイトで言語ごとのタイトルをカスタムフィールドで作成している場合、各ニュースサイトに最適化したソースを出したい場合などに便利です。

ソースの例

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><!-- BEGIN_MODULE Entry_Body id="rss" -->
    <channel>
        <title>%{ROOT_BLOG_NAME}</title>
        <link>%{HOME_URL}</link>
        <description>%{META_DESCRIPTION}</description>
        <language>ja</language>
        <copyright>(C) %{ROOT_BLOG_NAME}</copyright>
        <lastBuildDate>%{r}</lastBuildDate><!-- BEGIN entry:loop -->
        <item>
            <title>{title}[raw|striptags]</title>
            <link>{permalink}</link>
            <guid isPermaLink="true">{permalink}</guid>
            <description>{summary}[raw|striptags]</description>
            <!-- BEGIN mainImage --><!-- BEGIN_IF [{path}/nem/] --><media:content url="<!-- BEGIN_IF [{image@type}/eq/media] -->%{HTTP_MEDIA_ARCHIVES_DIR}{path}<!-- ELSE -->%{HTTP_ARCHIVES_DIR}{path}<!-- END_IF -->" media="image" /><!-- END_IF --><!-- END mainImage -->
            <content:encoded>
            <![CDATA[
            @include("/include/unit.html")
            ]]>
            </content:encoded>
            <pubDate>{date#r}</pubDate>
            <lastPubDate>{udate#r}</lastPubDate>
            <!-- BEGIN tag:veil --><!-- BEGIN tag:loop --><tags>{name}[raw]></tags><!-- END tag:loop -->
            <!-- END tag:veil --><!-- BEGIN category:veil --><!-- BEGIN category:loop --><category>{name}[raw]></category><!-- END category:loop --><!-- END category:veil -->
        </item><!-- END entry:loop -->
    </channel><!-- END_MODULE Entry_Body -->
</rss>

ポイントは下記の通りです。

  • channelタグの外側を Entry_Bodyモジュールで囲い、モジュールIDを rss としています。
  • lastBuildDate にはグローバル変数 %{r} を使って RFC 5322 形式でフォーマットされた現在の日付を出しています。a-blog cms ではこのように、phpのdate関数フォーマットに指定出来る日付の書式がそのままグローバル変数として使えます。
  • itemタグの外側を entry:loop で囲っています。
  • description には summary を出しています。
  • content:encoded には unit.html をインクルードしています。調整が必要な場合は unit-rss.html 等のファイルを作成してインクルードしてください。
  • media:content にメイン画像のパスを出力しています。
  • content:encoded, media:content を扱う場合には rssタグにそれぞれ 名前空間の指定が必要になります。詳しくはフィードに関する技術的な要件を参考にしてください。

Entry_TagRelationalモジュールなどで関連エントリーを出す場合についてはここでは説明を省きますが、エスケープが必要になることに注意してください。

モジュールIDの設定例


表示設定

条件設定

モジュールIDの設定のポイントは、下記の通りです。

  • 表示設定ではカテゴリー表示順を「現在のカテゴリーのみ」としてカテゴリを1つだけ出すようにしています。ページャー等不要なもののチェックを外しています。
  • 条件設定ではお知らせカテゴリーに絞り込み、引数のフィールドに entry_meta_rss/em を設定して、「RSSに表示しない」にチェックの入っているエントリーを出力しないようにしています。

最後に

もちろん、これらのソースや設定は一例にすぎません。a-blog cms ではこのように、RSSファイルを生成するからといって、必ずFeed_Rss2モジュールを使用しなければならないということはありません。目的に沿ったソースを生成できるモジュールであれば、何を使ってもかまわないのです。実装の際に参考にしていただければ幸いです。

フォームの編集権限を変更する

config.system.yaml に1行追記し、フォームの編集権限を変更できます。この機能はVer.2.11から利用可能です。

フォームの編集権限は管理者または編集者を選択できます。初期値は編集者以上になっています。



項目 選択肢 初期値
form_admin_authority administrator | editor editor

Shoping Cart拡張アプリ アップデートのお知らせ 2024年4月


この記事では、ShoppingCart 拡張アプリ について、2024年4月30日にリリースした  Ver. 2.2.2, Ver. 2.2.3 の内容について紹介いたします。

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

Ver. 2.2.3 のリリースノート

Fixed

  • fix: Ver. 2.2.2 より管理画面でPHPエラーが発生する問題の修正

Ver. 2.2.2 のリリースノート

Features

  • 監査ログ対応
  • feat: Square 連携のクレジットカード決済機能でメモをカスタマイズできる機能を追加(square-note)
  • feat: PHP8.3対応

Fixed

  • Square SDKをVer. 34.0.1.20240118 へアップデート(pnp.iniがを読み込む権限がない場合でもPHPエラーがでないように修正)
  • fix: カート内商品情報を更新すると、表示順が更新順(降順)になってしまう問題の修正
  • fix: 購入時に在庫数が足りないことが原因でエラーが発生した場合の表示を改善
  • a-blog cms Ver. 3.1.7で実装されたallow_dangerous_tagの対応
  • support PSR12
  • POSTによる注文フォームへのアクセスからだと、購入ができない問題を修正
  • fix: サブディレクトリへのインストール時にSquareのWebhook APIが動作しない問題の修正
  • fix: 購入フォームで、決済方法を送信しない場合PHPエラーが出る問題の修正
  • ECテーマの軽微な不具合修正
  • インストーラーのテンプレートを a-blog cms Ver. 3.1.14 のUI変更に対応

主なリリースノート内容

ShoppingCart 拡張アプリ Ver. 2.2.2 の内容について一部紹介いたします。

feat: PHP8.3対応

Ver. 2.2.2より、PHPバージョン 8.3 の環境で動作することを確認しています。

より新しいバージョンの PHP を利用することで、パフォーマンスやセキュリティ的にも改善が期待できます。

是非 PHP 8.2 や、PHP 8.3 の環境で ShoppingCart 拡張アプリをご利用ください。

Square SDKをVer. 34.0.1.20240118 へアップデート(pnp.iniがを読み込む権限がない場合でもPHPエラーがでないように修正)

Square SDK を Ver. 34.0.1.20240118 へアップデートいたしました。

以前のバージョンでは、Square SDK の問題で、pnp.iniがを読み込む権限がない場合、PHPエラーが発生してしまっていました。

これにより、Xserver で Xアクセラレータ Ver. 2 を利用していた場合、Square 連携で不具合が発生しておりました。

Square SDK をアップデートすることで、pnp.iniがを読み込む権限がない場合でも、PHPエラーが発生することなく、正常に動作するようになり、Xserver で Xアクセラレータ Ver. 2 を利用している場合でも Square 連携できるようになっております。

最後に

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

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