![見出し画像](https://assets.st-note.com/production/uploads/images/172420244/rectangle_large_type_2_60fce72f91b3c9a023e595a43a676ea9.jpeg?width=1200)
PowerCMS X ver.3.63 / 2.763リリース
PowerCMS X のリリース情報がありました。
PowerCMS X ver.3.63 / 2.763リリースノート
公開日 : 2025-01-30 16:00
リリース情報に、
本リリースにはセキュリティに関する修正が含まれるため、アップデートを強く推奨いたします。
と記載されています。
テーマ Website / Media を使用されている場合は、ビュー「(Website) Comment Form」をコピーしましょう。テーマを使っていなければ気にしないで大丈夫です。
さまざまな改善をしていますが、個人的に気になったものを2つ紹介します。
1. 条件タグ「if」「unless」にタグ属性「or」を追加しました。「|」で区切った文字列または配列を指定、いずれかに合致するときにブロックを出力します。
if はよく使うので試してみました。「合致」は「完全一致」です。サンプルコードは以下になります。
<mt:var name="test" value="cat">
<mt:if name="test" or="cat|dog">hit<mt:else>none</mt:if>
結果:hit
or="cat|dog" というように「|」で仕切って利用します。
完全一致ですので、or="ca|dog" ではヒットしません。
日本語も使えます。
<mt:var name="test" value="データ">
<mt:if name="test" or="データ|クラウド">hit<mt:else>none</mt:if>
結果:hit
完全一致は旧バージョンでも match で利用できます。以下、サンプルです。
<mt:var name="test" value="cat">
<mt:if name="test" match="/^(cat|dog)$/">hit<mt:else>none</mt:if>
2. 「tools/exportCSV.php」を追加しました。「--file(拡張子は.zip)」「--model」を引数に指定してオブジェクトのエクスポートデータを作成します。
定期的に PowerCMS X のオブジェクト(登録データのこと)をCSVで出力する機能です。外部システム連携に利用できると思います。
機能を試すために、SSHでサーバーにログインして PowerCMS X のアプリケーションディレクトリに移動します。
次に以下のコマンドを実行します。サンプルはユーザー(user)モデルです。
$ sudo php tools/exportCSV.php --file ~/UserData_`date +%Y%m%d%H%M%S`.zip --model user
結果
ユーザーのエクスポート中...
*
CSVを生成してファイル「/home/rocky/UserData_20250130190047.zip」を作成しました。(所要時間:0秒)
自身のホームディレクトリに zip ファイルが生成されたと思います。zip 解凍してCSVファイルを確認してください。
CSVファイルの中身は情報が多すぎるので、環境変数 {model}_csv_exclude_cols を利用するとよいです。出力したくない項目をカンマ区切りで環境変数の値として登録します。以下、userモデルのサンプルです。
![](https://assets.st-note.com/img/1738303254-0qHDUvXtJzGA3ab8OZ6shxKF.png?width=1200)
値サンプル
photo,text_format,space_order,color_the_selector,fix_spacebar,sticky_buttons,language,control_border,is_superuser,debug,develop,lock_out,lock_out_on,last_login_on,last_login_ip
この環境変数の値は、項目名からモデル名を削除しておいてください。上記の場合は「user_」を削除しています。
これでスッキリしたCSVになるかと思います。
コマンドオプションが用意されています。
--file
サンプル:--file /path/to/filename.zip
説明:必須項目です。CSVファイルの出力先を指定します。拡張子は .zip にしてください。
--model
サンプル:--model member
説明:必須項目です。対象のモデル名を指定します
--workspace_ids
サンプル:--workspace_ids 1
説明:ワークスペースIDを指定できます。
--sort_by
サンプル:--sort_by id
初期値:id
説明:出力結果のソート対象カラムを指定できます。
--sort_order
サンプル:--sort_order ascend、--sort_order descend
初期値:descend
説明:出力結果のソート順を指定できます。ascend は昇順、descend は降順です。
--limit
サンプル:--limit 100
説明:出力件数を指定できます
--encoding
サンプル:--encoding UTF-8、--encoding Shift_JIS
初期値:UTF-8
説明:文字コードを指定できます
フィルタ機能は無く、インポート機能も無いので、そこはご注意くださいませ。