mt_user

CMSPreSave.entryのコールバック時にカスタムフィールド値を上書きしたい

1

MT::App::CMS::CMSPreSave.entry のコールバックで以下の処理を行っています。
処理結果でカスタムフィールド(テキスト)の値を上書きしたいのですが、
どのように行うかご教示いただきたいです。

MTは6.3.5を使用しています。

よろしくお願い致します。

sub _post_pre_entry {
my ( $cb, $app, $obj, $entry ) = @_;
 $obj->title( 'タイトル' );
 my $field = 'field.text';
 $obj->$field( 'カスタムフィールドのテキスト' );
 $obj->save;
}

返信(2)

| 返信する
  • >mt_userさん
    こんにちは。

    MT::App::CMS::CMSPreSave.entry のコールバックに対して、以下のような処理を行います。
    フォームから送信されてきた値を上書きする形です。

    sub _pre_save_entry {
        my ( $cb, $app, $obj, $entry ) = @_;
        $app->param('customfield_ベースネーム', 保存したい値);
        return 1;
    }
    
  • おかげさまでカスタムフィールドの値が変更ができました。
    感謝の気持ちでいっぱいです。ありがとうございました。

返信する


OpenID対応しています OpenIDについて