PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[よくあるご質問] システムログに「タスクを実行するために必要なロックを獲得できませんでした」というログが残っている を追加しました。
[よくあるご質問] 特定のシステムログに絞って確認できますか? を追加しました。

PowerCMS ブログ

ホーム > PowerCMS ブログ > 技術情報 > なんてことない原因ではまった事例集 (カスタム項目とか)

2019年08月19日

なんてことない原因ではまった事例集 (カスタム項目とか)

うまくいかないから原因を調査したら、とても単純な見落としだったということがあったりします。こんにちは。

単純すぎて会社に怒られそうですが、そんなゆるい事例をいくつか紹介します。
※ すべて自身の実話です

非公開のカスタムオブジェクトが出力されないと悩む

カスタムオブジェクト、メニュー名はカスタム項目ですね。

カスタム項目を新規で作成すると、ステータスの初期選択が「下書き」になっています。
テンプレートを作っても再構築をしても、公開してないものは出しません。


<MTCustomObjects>
  <$MTCustomObjectID$>: <$MTCustomObjectName$>
</MTCustomObjects>

モディファイアを指定して出すことは可能です。


<MTCustomObjects include_draft="1">
  <$MTCustomObjectID$>: <$MTCustomObjectName$>
</MTCustomObjects>

ついでに、MTCustomObjects タグを limit モディファイアなしで書くと「9999」が上限になります。
未指定にすれば、すべてが出力されると思っていると、つまずく日が来るかもしれませんね。

外部プレビューの公開期限が過ぎている URL を報告した

何度かやっちゃっていることを白状します。

ExternalPreview プラグイン (外部からのプレビュー) は、管理画面のアカウントなしに外部から記事/ウェブページ/リビジョンをプレビューすることができるようになるプラグインです。
ふわっとまとめると、ログイン不要プレビューでしょうか。

「有効期限」を設定しておき、期限が切れたらプレビューできないようにすることが可能です。
[メール通知] ボタンを押すと、メーラーが立ち上がり外部プレビュー用の URL が作成されます。

「有効期限」を過ぎている状態で [メール通知] で作成される URL を見てほしい人に連絡して「見えないよ」と言われてしまいました。報告する前に自分で見ておきましょう。

もう一点注意が必要なこととして、[メール通知] で作成された URL と、プレビューを行ったときのブラウザーに表示される URL は違う点です。
[メール通知] で作成された URL にアクセスすると、パラメーターに従ってプレビュー用のファイルを作るという動作をしますが、プレビュー用のファイルは短時間で削除されます。
ブラウザーに表示されている URL はプレビュー用ファイルの URL ですので、使いまわしができません。

なお URL に「mt-external-preview.cgi」が含まれていれば大丈夫です (期限が切れていなければ)。

ExternalPreview プラグインは、オプションプラグインのため使用するにはインストールが必要です。
さらに plugins_customized に属するので注意が必要です。

ユーザーガイドから引用

いくつかのプラグインは、標準のプラグイン格納ディレクトリである $MT_DIR/plugins とは異なるディレクトリに設置する必要があります。
これは、plugins ディレクトリ内のプラグインが初期化された後にそれらのプラグインが初期化されるようにする必要があるためです。
こういったプラグインは、パッケージ内では plugins_customized ディレクトリに同梱されています (ディレクトリ名は変更できますが、以下ではこの前提で設定しています)。

  1. mt-config.cgi に下記内容を記述します
    
    PluginPath plugins
    PluginPath plugins_customized
    
  2. plugins_customized ディレクトリ内にプラグインを設置します

環境変数 DebugEmailAddress のせいでメールが届かないと焦る

DebugEmailAddress は、ContactForm や、ワークフローのメール通知で送信されるメールの宛先を設定した内容に差し替える環境変数です。

テスト環境などで、メール送信先を固定して誤送信の防止に便利な環境変数ですが、設定したことを忘れていると、思ったところに送信されず、メール送信ができないと勘違いすることがあります。
送信テスト時、運用開始時には残さないようにご注意ください。

簡単に動作の解説をしますと、MT::Mail を利用してメールを送ると、「To」が DebugEmailAddress で指定した宛先に差し変わります。
「To」だけを差し替えるので「Cc」と「Bcc」はそのまま送ってしまいます。

DebugEmailAddress
https://www.powercms.jp/products/document/config-directives/debugemailaddress.html

なんてことなさすぎて、怒られそうなのでこのあたりで終わります。


カテゴリー
技術情報

Recent Entries