さりげなく? cms_pre_previewコールバックが追加されている件。
公開日 : 2008-01-03 21:10:45
エントリー編集画面で「確認」ボタンをクリックして「プレビュー」するときにプラグインなんかで拡張したデータをプレビューに反映させるため? のコールバック「cms_pre_preview」がMT4.1で追加されていたのでメモしておきます。Custom Fieldのため?
エントリーにPDF2つファイル添付する拡張してる時にプレビューに反映させるコードですが、pdf_ja,pdf_enカラムにアップロードしたファイルのパスを格納しているとして、pdf_ja_org,pdf_en_orgフィールドにアップ済みのファイルパスを放り込んでいる場合のコードをメモっときます(例がわかりにくいと思うけど)。
sub _preview_entry {
my ($cb, $app, $obj, $data) = @_;
my $q = $app->param;
my $pdf_ja = $q->param('pdf_ja_org');
my $pdf_en = $q->param('pdf_en_org');
if ( $pdf_ja ) {
push @$data,
{
data_name => 'pdf_ja_org',
data_value => $pdf_ja
};
$obj->pdf_ja($pdf_ja);
}
if ( $pdf_en ) {
push @$data,
{
data_name => 'pdf_en_org',
data_value => $pdf_en
};
$obj->pdf_en($pdf_en);
}
}
ついでに「cms_post_preview」の追加と、「build_file」コールバックが呼ばれてくれると嬉しいってのも書いておきます!