Nucleus(JP)フォーラム

NucleusCMS日本語版ユーザーのためのサポートフォーラムです。疑問が生じたらまずは記事検索をご利用ください。

ログインしていません。

#26 2007-05-30 13:13:10

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

Geo さんの発言:

>Katsumiさん、Shizukiさん
やはり、ShowBlogsでのページ送り後はいずれの方法をとってもダメでした。
うーむ。。。困った。なぜそこだけ・・・

一つ考えられる疑問は、/hogehoge/page_2.html を表示させようとしているときに、肝心の NP_match の if 文のところに制御が来ているかどうかということです。例えば問題のif文の直前に、

<%if(admin)%>
<script type="text/javascript">
alert('OK');
</script>
<%endif%>

を記述すると、OK のダイアログが出ますか?javscript でなくても、コメント(<!-- -->)か何かを記述して、それがソースの中に見えるかどうかでも良いですが。

あと、hogehoge といった表現でなくて、問題の箇所のコードをここにコピー&ペーストしていただいたほうが、解決が早いと思いますが、難しいですか?ちょっとした記述の違いで挙動が大きく変わってきます。例えば、

^(/hogehoge/|/hogehoge2/|hogehoge3/)

^(/hogehoge/|/hogehoge2/|/hogehoge3/)

の間違いだと思うのですが、そういったことが影響してきます。

オフライン

#27 2007-06-12 10:20:43

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

<%if%>構文シリーズというわけでもないのですが、Nucleus 3.3 の新しい機能である doItemVar を生かしたプラグイン、NP_if を、Wikiにアップしました。

このプラグインをインストールすると、コメント・テンプレート、コメント・テンプレート、及びブログ記事中で、<%if%> <%ifnot%> <%else%> <%elseif%> <%elseifnot%> <%endif%> が使えるようになります。

ただし、条件が偽の場合でもテンプレート変数のパースが行われてしまいますので、処理の重いテンプレート変数を用いる場合は注意が必要です(インストールしてあっても、スキンの<%if%>の方は、大丈夫です)。

オフライン

#28 2007-06-13 04:05:15

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

NP_match ver 0.2.5 を wiki にアップしました。変更点は、以下のとおりです。

1. isset 構文を追加。
2. 空の文字列かどうかの比較が可能に
3. $_SERVER, $GLOBALS, $_GET の検索順位を変更

以前のバージョンでは、空の文字列かどうかの判定が出来ませんでしたので、これが行えるようにしました。同時に、変数がセットされているかどうか(isset)を判断する構文を追加しました。

デフォルトで、$_SERVER, $GLOBALS, $_GET の順で検索するようにしました。これは、$_SERVER['REQUEST_URI'] を調べるようなケースで、data=server を指定していない場合に、index.php?REQUEST_URI=xxxxx の様な URL を指定すると意図しない表示がされてしまうことを避けるための変更です。こういった使い方をしている場合は、新しいバージョンにアップグレードするか、data=server を引数に追加することをお勧めします。

オフライン

#29 2007-06-13 07:13:21

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

NP_if 0.1.3 を wiki にアップしました

1)記事での使用を、super-admin の記事のみに制限しました。
2)<%if(if)%>構文を追加しました。


<%if(if)%>構文の使用方法の詳細は、wiki をご覧ください。アイテムIDや、authorid などを評価して分岐することが可能です。

オフライン

#30 2007-07-24 13:26:06

Geo
メンバー
From: 関東
登録日: 2004-07-16
投稿: 87

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

Katsumiさん

Geoです。
前から気になっていたのですが、場所が特定できたので報告です。

どうやら、スキンで最初に呼び出したNP_matchのタグ

<%if(match,・・・)%>

なのですが、最初に限り何故かソースコードに改行コードが含まれるようです。
HTMLのクラス指定などの中に入っているとValidatorにひっかかりますので解決したいのですがいかがでしょうか。
現状、どこか適当な部分に、全然関係ないコードを挿入する事で回避はできます。

オフライン

#31 2007-07-24 16:00:17

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

NP_march.php ファイルの、最初の<?php の前か、最後の?>の後に、余分な行が入っていませんか?

最後の行の ?> は無くても良いらしいので消してしまっても良いのですが、これを消すと開始タグに対応する終了タグがないという、コードの見栄えが悪い状況になるので入れてしまっています。

PHP の仕組みを考えると、?> が無い方がパフォーマンスがほんの少し良くなるんでしょうけれど…。

オフライン

#32 2007-07-24 16:12:35

Geo
メンバー
From: 関東
登録日: 2004-07-16
投稿: 87

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

Katsumi さんの発言:

NP_march.php ファイルの、最初の<?php の前か、最後の?>の後に、余分な行が入っていませんか?

最後の行の ?> は無くても良いらしいので消してしまっても良いのですが、これを消すと開始タグに対応する終了タグがないという、コードの見栄えが悪い状況になるので入れてしまっています。

PHP の仕組みを考えると、?> が無い方がパフォーマンスがほんの少し良くなるんでしょうけれど…。

>Katsumiさん
ああっ。。。なるほど。
そこの改行が反映されるんですか。見事に余計な改行が入っておりました。削除したところ直ったようです。
やはりソースはDL出来る形になっていたほうが良いかもしれません。そんなちょっとした事もわからなかったりしますね :oops:

勉強になりました!ありがとうございます♪ big_smile

オフライン

#33 2007-07-24 16:19:03

Katsumi
メンバー
From: CA
登録日: 2005-06-24
投稿: 637
ウェブサイト

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

Geo さんの発言:

やはりソースはDL出来る形になっていたほうが良いかもしれません。

うまく行って、なによりです。Wiki のプラグインで、比較的小さなものでファイル一個だけ(NP_xxxx.php)で済むものは、ソースコードを載せるようにしています。これの方が、メンテナンスがしやすい(変更点がわかる)ので。

PHP ファイル作成の際の注意点を、wiki に載せるようにした方がいいかもしれませんね。

オフライン

#34 2007-07-24 16:46:06

Geo
メンバー
From: 関東
登録日: 2004-07-16
投稿: 87

Re: NP_match, NP_or, NP_and, NP_if(<%if%>構文の拡張)

Katsumi さんの発言:

PHP ファイル作成の際の注意点を、wiki に載せるようにした方がいいかもしれませんね。

>Katsumiさん
そうですね。それがあるとOKだと思われます big_smile

オフライン

Board footer