nucleus初心者で、初歩的な質問ですいません。
アイテム(content)の表示のところで、日付フォーマットで表記の変更の仕方はわかったのですが、曜日を日本語表記に変更方法が判らないので教えて頂ければと思い投稿しました。
検索の仕方が悪いのか表記の仕方(パラメーター?)が見つかりませんが、パラメーターでは出来ないのでしょうか?
よろしくお願いします。
オフライン
残念ながら標準ではできません。
Nucleusの仕様というよりPHPのdate関数の仕様によるものです。
http://jp2.php.net/date
オフライン
あれ、ロケール指定したらできませんか?
http://nakahara21.com/index.php?itemid=80
でそう書いていたんだけど。
nakahara21
http://nakahara21.com/
(ただいま調整中です)
オフライン
dateじゃなくってstrftimeだったんですね。ちゃんと調べないで書いてすみませんでした。 :oops:
というわけで,前の投稿は撤回します。
できないと思い込んでました。
オフライン
Andyさん、nakahara21さん、さっそく教えて頂きありがとうございました。
挑戦してみたのですが、やはり英語表記しかできないですね
Localeは、最初から ja_JP.EUC-JP になっていましたので変更が必要かどうかもわからないのですが・・・
ちなみにテンプレートの設定で
日付のフォーマットは %Y年%m月%d日(%a) → 2007年04月06日(Fri)
時刻のフォーマットは %H時%M分 → 16時46分
Localeは ja_JP.EUC-JP
としています。
もう少し、いろいろ勉強してみます。
ほんとうにありがとうございました。
オフライン
あれ、ロケール指定したらできませんか?
http://nakahara21.com/index.php?itemid=80
でそう書いていたんだけど。
たぶんサーバー環境に左右されるのではないかと思います。
私もこのまみおさんの記事が書かれたころに試したんですが、和暦とか出ませんでした。たしか曜日も出なかったような。
※追記. 試したのは会社のWindwos2000Serverです。こちらはやはり、ロケール設定にかかわらず、echo strftime("%a")でMonという表示になります。
phpマニュアルのstrftimeには
http://jp2.php.net/manual/ja/function.strftime.php
使用する C ライブラリで、すべての変換指定子がサポートされているとは限りません。 そのような場合、該当する変換指定子は PHP の strftime() ではサポートされません。
と書いてあるので、サーバ環境によるのではないかと推察されます。
<?php
setlocale(LC_ALL "ja_JP.EUC-JP");
echo strftime("%a");
?>
というファイルをweek.phpとしてアップして、アクセスしたらどのように表示されるかどうかで、対応しているのかどうかがわかると思います。
藤咲
備忘録とかもろもろ
http://fjsk.tk/
オフライン
文字化け防止で
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body>
<?php
setlocale(LC_ALL, "ja_JP.EUC-JP");
echo strftime("%a");
?>
</body>
</html>
うちのサーバーは「月」と出ました。
オフライン
藤咲さん、Andyさんありがとうございます。
早速、week.phpを作成して試してみました。
結果は Mon でした。
サーバーが対応してないのであれば仕方ないです。
本当にありがとうございました。
参考までに、使用しているサーバーは、ファーストサーバーのギカント2です。
オフライン
テンプレートで日本語曜日表示できるようにするだけというプラグインです。
環境にあった文字コードで保存して使ってください。
<?php
class NP_JPWKDY extends NucleusPlugin {
function getName() { return 'JP Weekday'; }
function getAuthor() { return 'Andy'; }
function getURL() { return ''; }
function getVersion() { return '0.5'; }
function getDescription() {
return 'テンプレートに<%JPWKDY%>と書くと曜日を漢字で表示します。';
}
function supportsFeature($what)
{
switch ($what)
{
case 'SqlTablePrefix':
return 1;
default:
return 0;
}
}
function init() {
$this->weekday = array ('日', '月', '火', '水', '木', '金', '土');
}
function doTemplateVar(&$item) {
echo $this->weekday[strftime('%w', $item->timestamp)];
}
}
?>
オフライン
Andyさん、ありがとうございます。
無事、曜日を日本語表記できました。
plag-inを理解するまでは、まだまだ遠いですけど少しずつでもがんばります。
ほんとうにありがとうございました。
オフライン
<!-- l --><a class="postlink-local" href="http://japan.nucleuscms.org/bb/viewtopic.php?t=3626">viewtopic.php?t=3626</a><!-- l -->
でいただいた,コメントで使えるようにしたいというのを反映したバージョンです。
環境にあった文字コードで保存して使ってください。
<?php
class NP_JPWKDY extends NucleusPlugin {
function getName() { return 'JP Weekday'; }
function getAuthor() { return 'Andy'; }
function getURL() { return ''; }
function getVersion() { return '0.6'; }
function getDescription() {
return 'テンプレートに<%JPWKDY%>と書くと曜日を漢字で表示します。';
}
function supportsFeature($what)
{
switch ($what)
{
case 'SqlTablePrefix':
return 1;
default:
return 0;
}
}
function init() {
$this->weekday = array ('日', '月', '火', '水', '木', '金', '土');
}
function doTemplateVar(&$item) {
echo $this->weekday[strftime('%w', $item->timestamp)];
}
function doTemplateCommentsVar(&$item, &$comments) {
echo $this->weekday[strftime('%w', $comments['timestamp'])];
}
}
?>
オフライン