カスタマイズしていると、保存しては再構築……を何度もしなくてはならず、結構めんどくさいものです。
このカスタマイズをすると、1クリックで保存と再構築ができるようになります。↓↓

こまめにカスタムする方にはとてもオススメ。
イライラが軽減されます。
MagicWhiteさんの記事と小粋空間さんの記事を参考に作業しました。
なぜか最初うまくいかなくて、エラーを出したりしました。
結構いじるので、関連書類のバックアップ必須です。お気をつけて。
やり方は以下に。
sub save_object {
を探します。(以下、エディタの検索機能を使うと便利です)
my $sr = 0;
を追加します。
$obj->text($text);
をテキストエディタ機能を使って探します。
## Save and Rebuild
if($q->param('sr')){
$sr = 1;
$app->rebuild_indexes( BlogID => $obj->blog_id, Template => $obj, Force => 1 )
or return;
}
を追加します。
$obj->rebuild_me : 1;
をテキストエディタ機能を使って探します。
$param{sr} = 1 if($q->param('sr')) ;
を追加します。
} else {
return $app->redirect($app->uri . '?__mode=view&_type=' . $type . '&id=' . $obj->id . '&blog_id=' . $blog_id . '&saved=1');
}
}sub list_objects {
を
} else {
if($sr == 1){
return $app->redirect($app->uri . '?__mode=view&_type=' . $type . '&id=' . $obj->id . '&blog_id=' . $blog_id . '&sr=1');
$sr = 0;
} else {
return $app->redirect($app->uri . '?__mode=view&_type=' . $type . '&id=' . $obj->id . '&blog_id=' . $blog_id . '&saved=1');
}
}
}sub list_objects {
に書き換えます。
<form method="post" action="<TMPL_VAR NAME=SCRIPT_URL>">
を探します。
<TMPL_IF NAME=SR>
<div class="message">
<MT_TRANS phrase="Your template changes have been saved and your template has been rebuilt.">
</div>
</TMPL_IF>
を追加します。
<input type="button" onclick="doRebuildOne(<TMPL_VAR NAME=ID>)" value="<MT_TRANS phrase="Rebuild">" />
を探します。
<input type="submit" name="sr" value="<MT_TRANS phrase="Save & Rebuild">" />
を追加します。
ここまででボタンが追加されているはずです。
動作確認してみてください。
以下はボタンを一番左へ配置と、フォームボタンおよびメッセージの日本語表示です。
'Your template changes have been saved.' => '変更したテンプレートを保存しました。',
の真下に以下のコードを付け足します。
'Your template changes have been saved and your template has been rebuilt.' => '変更したテンプレートを保存・再構築しました。',
'Rebuild' => '再構築',
の真下に以下のコードを付け足します。
'Save & Rebuild' => '保存&再構築',
これでボタンが日本語になります。
以上です。
ちょっと面倒ですが、更新がすごく楽になりますよ。
このエントリーのトラックバックURL: