アイテムを一括印刷する方法
※プラグインではありませんが、junさん作のNucleus運用支援プログラムのひとつとして補完しておきます。セキュリティに関しては他プラグインと同様、検証が必要です。
2006/08/03 [Tips] [Nucleus]
[サンプルソース]
最近Nucleusのアイテムを一括印刷することが多々あります。1つ2つなら「印刷用ページ」を使えばOKなのですが、印刷するアイテム数が100を超える場合や、ドラフト状態のアイテムが含まれる場合など、とても対応できません。
と言う訳で簡単なスクリプトを作成しました。「config.php」と同じフォルダに置きます。
<?php
require("config.php");
$prefix = $MYSQL_PREFIX."nucleus_" ;
$dbconnect = mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);
mysql_select_db($MYSQL_DATABASE);
$temp = sql_query('SELECT ititle, ibody, imore, itime FROM '.$prefix.'item WHERE itime > "2000-01-01 00:00:00"');
while($row = mysql_fetch_assoc($temp)) {
$text .= '
<div class="contenttitle">'.$row['ititle'].' '.$row['itime'].'</div>
<div class="contentbody">'.$row['ibody'].'
'.$row['imore'].'</div>
';
}
echo '<html>
<head>
<link rel="stylesheet" type="text/css" href="'.$DIR_SKINS.'default.css" />
</head>
<body>'.$text.'
</body>
</html>';
mysql_close($dbconnect);
exit;
?>
変更すべき箇所は次の2ヶ所です。
1.アイテム絞込抽出関係
例えばカテゴリーidが2のものを抽出したかったら「 and icat = 2」を追加します。この他にもブログidや時間などで絞り込むことが可能です。
また、並び順を変更したかったら「 ORDER BY itime ASC」などを追加します。MySQLの知識が必要になりますので、各種マニュアルなどを参考にカスタマイズしてみてください。
2.スタイルシート関係
また必要に応じて<div class="contenttitle">などのclass要素を変更してください。
これで一括印刷処理が大幅に楽になります。
と言う訳で簡単なスクリプトを作成しました。「config.php」と同じフォルダに置きます。
<?php
require("config.php");
$prefix = $MYSQL_PREFIX."nucleus_" ;
$dbconnect = mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD);
mysql_select_db($MYSQL_DATABASE);
$temp = sql_query('SELECT ititle, ibody, imore, itime FROM '.$prefix.'item WHERE itime > "2000-01-01 00:00:00"');
while($row = mysql_fetch_assoc($temp)) {
$text .= '
<div class="contenttitle">'.$row['ititle'].' '.$row['itime'].'</div>
<div class="contentbody">'.$row['ibody'].'
'.$row['imore'].'</div>
';
}
echo '<html>
<head>
<link rel="stylesheet" type="text/css" href="'.$DIR_SKINS.'default.css" />
</head>
<body>'.$text.'
</body>
</html>';
mysql_close($dbconnect);
exit;
?>
変更すべき箇所は次の2ヶ所です。
1.アイテム絞込抽出関係
$temp = sql_query('SELECT ititle, ibody, imore, itime FROM
'.$prefix.'item WHERE itime > "2000-01-01 00:00:00"');
「WHERE」以下を変更します。例えばカテゴリーidが2のものを抽出したかったら「 and icat = 2」を追加します。この他にもブログidや時間などで絞り込むことが可能です。
また、並び順を変更したかったら「 ORDER BY itime ASC」などを追加します。MySQLの知識が必要になりますので、各種マニュアルなどを参考にカスタマイズしてみてください。
2.スタイルシート関係
<link rel="stylesheet" type="text/css"
href="'.$DIR_SKINS.'default.css" />
「default.css」の部分を使用するスタイルシート名に変更します。また必要に応じて<div class="contenttitle">などのclass要素を変更してください。
これで一括印刷処理が大幅に楽になります。