特定カテゴリのアイテム詳細にメールフォームを(その4)
さて、メールフォームをどうしよう・・・とりあえず、ゲストが入ったときのメンバー詳細ページを参考に、action.phpのsendMessageを使ってみることにする。
- NP_IncludeEXを使う関係上、skinに書くので、<%title%>ではなく、<%itemtitle%>で、記事タイトルを持ってはこれるが、これをメールタイトルに入れるのがわからない。
- 本当は、当該記事のauthorをもって来たかったが、宛先は、memberidで、決め打ちする。(^^;;
こんな感じ。(submitしないでね。)http://www.vojta.jp/nucleus/index.php?itemid=38&catid=16というわけでとりあえず最低限の用は足せるが、すっきりしない。というところで、Takaさんから返信を頂く。
あー、globalのこと書くの忘れてました。ごめんなさい。
いえいえ、数時間悩みましたけれど、良い勉強になりました。
ついでにごめんなさいなんですが、$catidで判断しちゃうと、閲覧者がカテゴリーを選択してない場合は表示されなくなっちゃいます。というわけでこれは使えません。ボケてました。
あ、そうか、
<?phpxx.php?itemid=zzz&catid=yyy?>
ならOKだけど、
<?phpxx.php?itemid=zzz?>
みたく、catidを指定しないで、アイテム詳細に入られるとだめですね。
で、ちょっと必要なデータを取得するところまで書いてみました。アイテムのタイトルと、記事を書いた人のメールアドレスの取得です。スキンにphpincludeするとテストできます。
<?phpglobal $itemid;// フォームを表示するカテゴリーIDを設定$mycatid = 1;if (!function_exists('sql_table')){ function sql_table($name) { return 'nucleus_' . $name; }}$query = 'SELECT ititle, iauthor, icat' . ' FROM '.sql_table('item') . ' WHERE inumber='.$itemid; $result = sql_query($query);while($row = mysql_fetch_object($result)){ if($row->icat == $mycatid){ $mytitle = $row->ititle; $tomem = new MEMBER(); $tomem->readFromId($row->iauthor); $myadd =$tomem->getEmail(); // テスト出力 echo “$itemid : $mytitlen”; echo $myadd; } }?>
ありがとうございます。とりあえずは、mycatidを目的の16に書き換えて、eucのlfでU/Lしてっと。・・・でもぉ・・・
<?phpParse error: parse error in /home/xxxxx/public_html/nucleus/wsmail_test.php on line 9?>
とかってエラーでるんですけど・・・。しかも、カテゴリ選んでないみたい。そらそーか、line 9っちゃーif分あたりだものね。どなししまひょ。・・・(--)....
0コメント