Loading....
最近の投稿:

Article

キーワードの分離~管理者画面編~

今回は前回、前回とご紹介した改造の
最後として、設定画面の改造方法を
ご紹介します。

この修正を行うと、管理者画面の
カテゴリー/サブカテゴリーのテキストボックスに
表示用キーワードと検索用キーワードが
パイプ(|)で区切られて表示されます。

入力も同様に、パイプで区切って
行ごとに入力していきます。

表示時はパイプの直前・直後に
空白が入りますが、判りやすさの為です。
入力時には、パイプの前後に
空白が有っても無くても
どちらでも問題ありません。

では、下記が改造内容です。

※追加ポイントには、直前や直後が
混ざっていますので、
修正箇所にご注意下さい。

■検索用キーワードを管理画面に表示する為の改造

admin\src\top.php (166) :
foreach($mainCategory as $mc){
この行の直後に下記データを追加します。
if(isset($mainCategory4S[$mc])){
  $mc .= ' | ' . $mainCategory4S[$mc];
}
admin\src\top.php (175) :
(上記修正前は172行目)
foreach($subCategory[$i] as $sc){
この行の直後に下記データを追加します。
if(isset($subCategory4S[$sc])){
  $sc .= ' | ' . $subCategory4S[$sc];
}

■検索用キーワードを保存する為の改造

admin\src\updateCategory.php (6) :
foreach($param['mainCategory'] as $c){
この行の直前に下記データを追加します。
$main4S='';
admin\src\updateCategory.php (9) :
(上記修正前は8行目)
$c=htmlspecialchars($c);
この行を下記の様に修正します。
$ca=split("\|", $c);
$c=htmlspecialchars(trim($ca[0]));
admin\src\updateCategory.php (15) :
(上記修正前は13行目)
TO_END;
この行の直前に下記データを追加します。
TO_END;
}
if(isset($ca[1])){
$ca[1]=trim($ca[1]);
if($ca[1] !=''){
$c4s=htmlspecialchars($ca[1]);
$main4S.=<<<TO_END
'{$c}' => '{$c4s}',

admin\src\updateCategory.php (26) :
(上記修正前は15行目)
}
この行の直後に下記データを追加します。
}

※元々は2行連続していた閉じ括弧(})を3行にします。

admin\src\updateCategory.php (30) :
(上記修正前は18行目)
foreach($param['subCategory'] as $sc){
この行の直前に下記データを追加します。
$sub4S='';
admin\src\updateCategory.php (33-36) :
(上記修正前は20-23行目)
$sc=str_replace」から始まり、
$sub.=$sc;」まで この4行分を下記データに置き換えます。
$sca=split("\r\n",$sc);
$scs='';
foreach($sca as $scx){
$scxa=split("\|", $scx);
$sc=htmlspecialchars(trim($scxa[0]));
if($sc !=''){
if($scs==''){ $scs  = "array('{$sc}'"; }
else        { $scs .=      ",'{$sc}'"; }
}

if(isset($scxa[1])){
$scxa[1]=trim($scxa[1]);
if($scxa[1] !=''){
$sc4s=htmlspecialchars($scxa[1]);
$sub4S.=<<<TO_END
'{$sc}' => '{$sc4s}',

TO_END;
}
}
}
$scs.='),'."\n";
$sub.=$scs;
admin\src\updateCategory.php (67) :
(上記修正前は35行目)
);
この行の直後に下記データを追加します。
\$mainCategory4S=array(
{$main4S}
);

\$subCategory4S=array(
{$sub4S}
);

改造箇所は以上です。

最後になりましたが、
本サイトを経由してアラジンを購入された方で、
本ページの修正を行いたい方は、
前述の2ファイル(admin\src\top.php
admin\src\updateCategory.php)を添付の上、
インフォトップからの購入完了メールに記載されている
注文IDをメール本文に記載して、
下記メールアドレス宛にご連絡下さい。
追って、修正ファイルを返送させて頂きます。
chikamao@u3g.biz

人気ブログランキングへ
人気ブログランキングへ参加しました。
応援も宜しくお願いします。


Comments (5 comments)

お世話になります、なはちんです。
一連のキーワード分離の改造を行ったのですが、
サブカテゴリの方で、キーワードの保存ができません。
「|」以降が消えてしまいます。
カテゴリの部分は大丈夫でした。

お忙しいところ恐縮ですが、見ていただけないでしょうか。

なはちん / 4 月 22nd, 2009, 00:03

なはちん さん、こんにちは。

カテゴリーの保存ができて、サブカテゴリーが出来ないとなると、
admin\src\updateCategory.php ファイルの 30行目以降の
改造が上手くいっていない可能性が高いです。
もう一度このファイルの改造を行ってみてもらえますか?
貼り付けるコードはコピペで使えるようにしてありますので、
入力ミス等を防ぐ意味でも枠の中のコードをコピペして
使用してみてください。

再改造を行っても上手くいかない場合は確認しますので、
下記ファイルをお送りしてもらえますか?

 ■送信するファイル
  admin\src\updateCategory.php
  admin\src\top.php
  subject\mainCategory.php
  ※最後の subject\mainCategory.php はキーワードが
   記録されているファイルですので、私にキーワードを
   見せたくない場合は送らなくても良いですよ。
   問題を絞る為に、どの様に記録されているか
   確認したくてリストアップしているだけですので。

チカマオ / 4 月 22nd, 2009, 10:59

チカマオさん

お世話になります、なはちんです。
確認したところ、30行目の改造の入れる位置が間違っていました。
お騒がせいたしました。

ところが、もう一つ新しい問題が出てきました。
「バッグ 女性用」というカテゴリに「ボストンバッグ 女性用」という検索用のキーワードが入ったサブカテゴリがあり、また、「バッグ 男性用」というカテゴリに「ボストンバッグ 男性用」という検索用のキーワードが入ったサブカテゴリがあるのですが、
更新すると、女性用の方が男性用に引きずられて、「ボストンバッグ 男性用」になってしまいました。

違うカテゴリ名の中の同じサブカテゴリ名の時に不具合が起こるみたいです。

メールでファイルを送らせていただきますね。
よろしくお願いいたします。

なはちん / 4 月 22nd, 2009, 13:22

なはちん さん、こんにちは。

キーワード保存の問題が解決して良かったです。 \(^o^)/

さて、同じ(サブ)カテゴリー名を使用した場合に、検索キーワードが上手く動作しないのは、この改造の仕様なのですよ。

(サブ)カテゴリー名をキーにして、検索用キーワードを検索するので、同じキーワードが存在すると、どちらかしか選択出来なくなってしまいます。
記事の方にこの制限を書くのを忘れてしまいました、済みません。m(_ _)m

更に申し訳ありませんが、ジャンルIDで絞る機能の方も同じ制限をもっております。

データ構造を変えるか、カテゴリー名とサブカテゴリー名を結合したワードをキーワードとして使用すれば解決できるのですが、改造量が多くなってしまう為、本サイトで公開したのはこちらになりました。

パイプ(|)の前後の余分な空白を取り除く為、サブカテゴリー名の前後の半角空白は除去されてしまいますが、全角空白は除去しない為、前後、もしくは複数単語の間に任意の全角空白を追加するなどして対処して頂けないでしょうか?

なお、アラレボ第二弾ではこの制限を外した形で搭載しますので、お待ち頂ければ幸いです。
※他にもNGキーワードの指定などもできるようになります。

チカマオ / 4 月 22nd, 2009, 21:39

チカマオさん

お世話になります、なはちんです。

仕様とのこと、了解いたしました。
全角スペースを入れることで対処したいと思います。

アラレボはたくさん機能が詰まってるんですね!
今から楽しみです(^^)

なはちん / 4 月 22nd, 2009, 23:12

What do you think?

判らないphp命令やhtmlタグ等をここでお調べ下さい。

カスタム検索

緊急告知

本サイトより【アラジン】をご購入頂いた方は、お手数ですが下記アドレスまでメールを頂けないでしょうか。

サポート用メールアドレスのご連絡と、今後大規模改造が完成した際にはご連絡させて頂きます。

※メールには必ずInfotopからの購入完了メールに記載されている【注文ID】をご記載下さい。

chikamao@u3g.biz

QLOOKアクセス解析