しんそつエンジニア日記
Tech
baserCMS5 メールフィールドでファイル添付機能が使えないときの対処法
2025.09.02

エラー内容

BcUploadHelper を利用するには、$this->BcUpload->setTable() か、 $this->BcUpload->fileLink() または、$this->BcUpload->uploadImage() の第3引数の `table` キーでテーブル名を指定してください。

対処法

/plugins/{テーマ名}/templates/Mail/{メールテンプレート名}/index.phpで以下の記述を追加する
$this->BcBaser->setTableToUpload('BcMail.MailMessages');
baserCMSのデフォルトテーマ(BcFront)に存在する記述
そのため、デフォルトテーマでは問題なく動作する

BcBaser->setTableToUpload()はBcUpload->setTable()を内部的に呼び出しているため、
処理としてはBcUpload->setTable()と同じ

その他Tips

メールフィールドタイプ「ファイル」を利用しているときに、ファイル添付をしない状態で確認画面に遷移しようとするとエラーになる場合がある

エラー内容
error: [Error] Object of class Laminas\Diactoros\UploadedFile could not be converted to string in /var/www/html/plugins/baser-core/src/View/Helper/BcFormHelper.php on line 493
対処法

フォームをcreate()するときのオプションに以下を追加する
'valueSources' => ['context']

more

この記事を書いた人

プロフィール画像

2002年生まれ、福岡県在住。
webデザインの専門学校を卒業後、webエンジニアとして働いています。
業務ではPHP、CMS開発を中心としていますが、ジャンルに関わらず、様々な技術に触ってみたいです。
日々の学びや、ゆるい日常を綴っていきます!