GOiGOi Project (ゴイゴイ・プロジェクト) -> Whats New index -> 運用マニュアル
 

運用マニュアル

メニューページを呼び出す

  • メニューページを表示させるリンクに以下のCGIを呼び出す
    <a href="/cgi-bin/whatsnew/whats_display.cgi?id:xxx">What's New Index</a>
    (呼び出し方は環境に合わせてください、あなたがアップロードした場所と whats_display.cgi の名称を変更した場合は違う指定になります)
  • whats_display.cgiの後に?を付けて指定。各オプションは「+」で続けることで組み合わせが可能
  • ここで指定するファイル名は半角英数字のみで構成してください。
  • xxxには表示させるジャンルを指定します。
  • メニューページに複数のジャンルのメニューがある場合は最初に表示されるジャンルを指定して表示させると効率的に表示できます。

メニューページをトップページに表示する

    トップページがフレームで区切られている場合
    表示させたいフレームの呼び出しを以下の様に指定します、の部分が呼び出しです、base: オプションでテンプレートのHTMLを指定しています
    テンプレートの指定は初期設定で指定しているテンプレートと同じディレクトリに存在するファイルを指定することができます。

    index.html

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=x-sjis">
    <title>XXXトップページ</title>
    </head>
    <frameset frameborder=0 border=0 framespacing=0 cols="160,*">
    <frame src="nav.html" name="nav" scrolling=no noresize>
    <frame src="/cgi-bin/whatsnew/whats_display.cgi?id:news+base:top.html" name="body" noresize>
    <noframe>
    <body>
    このページを表示するには、フレームを表示できるブラウザが必要です。
    </body>
    </noframe>
    </frameset>
    </html>

    トップページにインラインフレームを設定しそこにメニューを表示させる場合
    インラインフレーム内に表示させるURLを以下の様に指定します、の部分が呼び出しです。

    <iframe src="/cgi-bin/whatsnew/whats_display.cgi?id:news+base:top.html" name="xxx" width="xx" 〜 </iframe>

    マスター管理者メニューの「トップページ生成」処理を実行するとインラインフレームを使用した表示のサンプルソースが出力されます。
    ※注意トップページに表示したメニューから詳細へのリンクを同じWINDOWに表示した場合、詳細ページの「INDEX(メニュー)へ戻る」のリンクがうまく設定できません。そのような場合は、表示プログラムの引数に +idx:/index.html としメニューのリンク先を明示してやります。
    +idx:ドキュメントルートからのURL指定
    例:<iframe src="/cgi-bin/whatsnew/whats_display.cgi?id:news+base:top.html+idx:/index.html" name="xxx" width="xx" 〜 </iframe>

    トップページが単独のページの場合
    What'sNew はCGIでメニューページを呼び出します、そのためトップページのURLがcgi名になってしまいます、それを避けるには次の方法があります。

      script タグを利用して表示させる(推奨)
      トップページ index.html のWhat's New を表示させる箇所に以下のテンプレート挿入タグを配置します。
      <!--TEMP_file メニューテンプレートファイル名-->
      メニューテンプレートファイルの指定は作成したテンプレートのパスとファイル名をフルパスまたはドキュメントルートから指定します。
      (例:<!--TEMP_file /temprate/test.html--> フルパス、ドキュメントルート指定ともに / で始めます。)

      <!--TEMP_file /temprate/test.html-->の後に以下のscriptタグを記述します。
      <script language="JavaScript" src="/cgi-bin/whatsnew/whats_display.cgi?id:test+base:/temprate/test.html+script:/index.html+kjc:漢字コード"></script>
      CGIのパスはインストールした環境によって変わりますのであなたの環境に読み替えてください。
      test は表示するWhatsNewのジャンルIDになります。
      +script は script で呼び出す時は必ず付けます。+kjc:sjis は呼び出したHTMLソースを記述している漢字コードを指定します。(sjis,jis,euc,utf8)
      +scriptx を指定するとgreyboxなどのjavascript外部ファイルを読み込みません。<script〜>を配置しているHTMLソースでgreyboxなどのjavascriptの外部ファイルが既に読み込まれている場合に指定します。
      +script: の後のテンプレートの指定は index.html のファイル名をフルパスまたはドキュメントルートから指定します。
      (例:+script:index.html フルパス、ドキュメントルート指定ともに / で始めます))

      一連の記述は改行せずに1行で記述し余分なタグは入れないでください。
      <!--TEMP_file /temprate/test.html--><script language="JavaScript" src="/cgi-bin/whatsnew/whats_display.cgi?id:test+base:/temprate/test.html+script:/index.html+kjc:漢字コード"></script>
      index.html 内に <base href="〜> がなければ自動で挿入されます。
      <base href="〜> が必要なのは index.html が表示されるベースのディレクトリはCGIが存在するディレクトリになり、リンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスがうまく機能しなくなるからです。
      もしも画像が表示されなかったり、リンクがうまくつながらない時は、index.html 内にご自分で <base href="〜> を設置するかリンクタグ、イメージタグ <img src=""> <a href=""> など他のページ、画像にリンクしたり参照するパスの記述を絶対パスで記述してください。
      ただし、 <base href="〜> では同一ページ内へのリンクが記述されている場合はうまくリンクできませんので注意が必要です。(<a name="xxx">、<a href="yyy#xxx">)

      index.html のURLをブラウザで指定して表示させるとメニューが表示されるはずです。

      ここで指定している表示CGIの引数はこの他にも以下の表のオプション一覧のオプションが指定できます。
      ここで使用するテンプレートはサーバーのルート、もしくはドキュメントルートからフルパス( /〜)で指定してください。また、<html〜>〜</html>までフルに記述してください、結果としてヘッダータグ(<html〜>〜<body>)とフッタータグ(</body>以下)は削除して挿入されます。
      挿入されるコードは使用するテンプレートの漢字コードとなりますがエラーがあった場合などはプログラムの漢字コードなります、そのためプログラムの引数に +kjc:漢字コード を付けて明記します。( sjis、jis、euc、utf8 )
      PHP から表示させる
      上記の script での表示方法はPHPにも適用できます。(つまりPHPから WhatsNew のメニューが表示できるということです)
      <!--TEMP_file /temprate/test.html--><?php $fp=fopen("/cgi-bin/whatsnew/whats_display.cgi?id:test+base:/temprate/test.html+php:/index.html+kjc:sjis","r");while(!feof($fp)){$line=fgets($fp);echo $line;}fclose($fp); ?>
      一連の記述は改行せずに1行で記述し余分なタグは入れないでください。
      javascript、ajax を利用して表示させる
      トップページ index.html のWhat's New を表示させる箇所に以下の div タグと javascript ソースを配置します。
      表示させるメニューのテンプレートのHTMLソースファイルの漢字コードは UTF-8 で保存してください。

      <!-- *********** What's new を表示したい箇所に div タグをid= を付けて配置します ********* -->
      <div id="whatsnew"></div>
      <!-- *********** 以下のjavascriptのソースを変更せずに記述します ********* -->
      <script><!--
      ajax = false;
      // IE以外
      if(window.XMLHttpRequest) {
        ajax = new XMLHttpRequest();
      // IE用
      } else if(window.ActiveXObject) {
        try {
          ajax = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
          ajax = new ActiveXObject("Microsoft.XMLHTTP");
        }
      }
      function getData(serverURL, objID) {
        ajax.open("GET", serverURL);
        ajax.onreadystatechange = function() {
          if (ajax.readyState == 4 && ajax.status == 200) {
            var obj = document.getElementById(objID);
            if(ajax.responseText.match(/< *body[^>]*>([^\x00]+)< *\/ *body/i)){obj.innerHTML = RegExp.$1}
            else{obj.innerHTML=ajax.responseText}
          }
        }
        ajax.send(null);
      }
      function getData1(serverURL, objID) {
        ajax.open("GET", serverURL);
        ajax.onreadystatechange = function() {
          if (ajax.readyState == 4 && ajax.status == 200) {
            var obj = document.getElementById(objID);
            obj.innerHTML = ajax.responseText;
          }
        }
        ajax.send(null);
      }
      // ********* getData('WhatsnewのURL','上記で指定したdiv タグのID') *********
      window.onload=getData('http://wwww.xxx.co.jp/cgi-bin/whatsnew/whats_display.cgi?id:xxx','whatsnew');
      //-->
      </script>
      <!-- *********** javascriptのソースここまで ********* -->
      </html>

      object タグを利用して表示させる
      トップページ index.html に以下の What's New を表示させる箇所に以下のソースを配置します。

      <!--[if IE]>
      <object classid="clsid:25336920-03F9-11CF-8FD0-00AA00686F13" data="http://wwww.xxx.co.jp/cgi-bin/whatsnew/whats_display.cgi?id:xxx" style="width:800;height:400;border=0">
      <p>non object</p>
      </object>
      <![endif]-->
      <!--[if !IE]> <-->
      <object type="text/html" data="http://wwww.xxx.co.jp/cgi-bin/whatsnew/whats_display.cgi?id:xxx" style="width:800;height:400;border=0">
      <p>non object</p>
      </object>
      <!--> <![endif]-->

      表示領域の枠線(ボーダー)を表示させたくない場合は、WhatsNewで表示させるメニューテンプレートのボディタグを以下の様に指定します。
      <body style="border:0;overflow:auto">
      metaタグを利用して空の index.html を表示後すぐさま(0秒後)CGIにリンクさせる
      index.html

      <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html;charset=x-sjis">
      <meta http-equiv="refresh" content="0;url=/cgi-bin/whatsnew/whats_display.cgi?id:news+base:top.html">
      <title>XXXトップページ</title>
      </head>
      <body>
      </body>
      </html>

      編集メニューからHTMLファイルを生成させて、できたhtmlファイルにリンクさせる
      ただし、この場合はリアルタイムで表示させないので日時を参照するオプション(date:、new: オプション)はリアルに反映されません、また掲載開始日時、終了日時も機能しません

      ブラウザのアドレス入力から直接実行も可能です
      /cgi-bin/whatsnew/whats_display.cgi?id:news+base:index.html

      .htaccess ファイルを利用して自動的に他のアドレス(URL)にアクセスさせる方法です
      http://(ドメイン名)/ というアドレスをトップページとしてご利用になる場合、 トップページのファイル名は /home ディレクトリに index.html、index.htm、index.shtml 等しか使用出来ませんので、 通常はHDMLファイルやCGIをトップページにする事が出来ません。
      しかし、以下の内容の .htaccess を/homeディレクトリに設置すると http://(ドメイン名)/ にアクセスが行われた時に自動的に他のアドレスにアクセスが行われますので、 HDMLファイルやCGIなど、任意のファイルをトップページとして表示させる事が出来ます。

      Redirect アクセスされるファイル(URI) 転送先のアドレス(URL)

      例えば、ドメイン名が www.xxx.co.jp の場合に、トップページとして /cgi-bin ディレクトリ内の「whats_display.cgi」を使用する時の .htaccess の内容は以下の様になります。

      Redirect /index.html http://www.xxx.co.jp/cgi-bin/whatsnew/whats_display.cgi?id:test

オプション項目(表示CGI whats_display.cgi に指定できる引数)

オプション(引数)一覧
オプション 機 能携帯
i携帯用ページの表示(携帯への切り替えは自動判別していますが明示的に携帯用の表示であることを設定します)
id:xxxx表示させるジャンル(xxxx)を指定します
バックナンバーを表示させる場合はバックナンバーのファイル名をジャンル名の後に半角の / に続けて指定(拡張子は不要、例:id:xxx/yyy
rec:1詳細ページをメニューのように一覧で表示させるテンプレートを使う場合に詳細ページを単独で表示します
例:<a href="/cgi-bin/whatsnew/whats_display.cgi?id:xxx+rec:1">What's New Index</a>

call:xxxx
recc:xxxx
呼出キーで表示する詳細ページを指定します(半角英数字)
callカスタム番号:xxxxで呼出キーのカスタム番号を指定することもできます(指定無しは「初期設定」の呼出キー指定)

max:xx表示させるメニューの最大件数(xx)を指定
start:xxメニューに表示させる最初のレコードNo.(xx)を指定
date:2004/02表示させるメニューの年月を指定する(年だけ、年月日の指定も可能、/で区切る)
nolimit表示させるメニューの掲載終了日をチェックしない(掲載終了日を過ぎていても表示する)
pchk:メニュー表示時に閲覧制限のID、パスワードを要求
spl:xxx設定プログラムを whats_setxxx.pl で起動します
window:xxx詳細記事を新しいウインドウ xxx を開いて表示します(窓名を省略すると nowindow と同じ意味)
GreyBox で表示させる場合は window:greybox横幅x高さ(例:window:greybox800x600、* を指定するとフルスクリーンで表示、無指定は1000x600)
lytebox で表示させる場合は window:lytebox横幅x高さ(例:window:lytebox800x600、無指定は1000x600)

nowindowターゲットの指定があっても現在のウインドウに詳細を表示します。メニュー表示のリンクを GreyBox で表示させる場合などに指定すると GreyBox の二重オープンを防げます
nolink詳細へのリンクを行いません
target:xxx詳細を表示するフレーム、窓 xxx を指定する
fsize:xxx表示するフォントサイズを指定します
new:xxxx日前までに公開された記事はメニューの年月日表示の後に New! と表示します
day:xxxx日前までに公開された記事のみを表示対象にする
base:xxx
Base:xxx
メニューページのテンプレートを指定します。ジャンル用はファイル名のみを共用のテンプレートは !ファイル名 、他ジャンルのファイルは ジャンル名/ファイル名 で指定。任意の場所のファイルはドキュメントルート(/)、またはサーバーのルートから指定します。
Base:xxxを使うとテンプレートの指定がルート又はドキュメントルートから指定されているとテンプレート内に <base url=\"〜> がなければ自動で挿入されます。(HTMLの書き出しには機能しません)

sbase:xxx
Sbase:xxx
詳細ページのテンプレートを指定しますテンプレートを指定します。ジャンル用はファイル名のみを共用のテンプレートは%ファイル名で、他ジャンルのファイルはジャンル名/ファイル名で指定。任意の場所のファイルはドキュメントルート(/)、またはサーバーのルートから指定します。
Sbase:xxxを使うとテンプレートの指定がルート又はドキュメントルートから指定されているとテンプレート内に <base url=\"〜> がなければ自動で挿入されます。(HTMLの書き出しには機能しません)

filter:xxx フィルター条件を指定して条件に合致するデータのみを表示させます。<LOOP>で指定するフィルターと同じ記述方法で記述します。

  • フィルター条件の比較演算子一覧
    文字比較使用例条件指定(例の場合カスタム項目3が)数字比較使用例条件指定(例の場合カスタム項目3が)
    !eq!3!eq!ABCABC,abcと等しい!Eq!3!Eq!123123と等しい
    !eQ!3!eQ!ABCABC,abcと等しい、ブランクは等しいと判断
    !EQ!3!eq!ABCABCと等しい!Eq!3!Eq!123123と等しい
    !ne!3!ne!ABCABC,abcと等しくない!Ne!3!Ne!123123としくない
    !nE!3!nE!ABCABC,abcと等しくない、ブランクは等しくないと判断
    !NE!3!ne!ABCABCと等しくない!Ne!3!Ne!123123としくない
    !ct!3!ct!ABCABC,abcを含む


    !CT!3!CT!ABCABCを含む


    !nct!3!nct!ABCABC,abcを含まない


    !NCT!3!nct!ABCABCを含まない


    !fct!3!fct!ABCABCで始まる


    !Gt!3!Gt!ABCABCより大きい!gt!3!gt!123123より大きい
    !Ge!3!Ge!ABCABCより小さいか等しい!ge!3!ge!123123より小さいか等しい
    !Lt!3!Lt!ABCABCより小さい!lt!3!lt!123123より小さい
    !Le!3!Le!ABCABCより小さいか等しい!le!3!le!123123より小さいか等しい
    !Rg!3!Rg!ABC_XYZ範囲内にある ABC>= 値 <XYZ!rg!3!rg!1000_2000範囲内にある 1000>= 値 <2000
    !etc!3!etc!大阪:京都大阪、京都以外


    !Etc!3!Etc!大阪:京都大阪、京都を含まない


    !bl!3!bl!yes
    3!bl!no
    ブランクである
    ブランクでない






    !Bl!3!Bl!yes
    3!Bl!no
    0である
    0 でない



    !mlt!3!mlt!10経過月数が10ケ月未満



    !dlt!3!dlt!10
    3!dlt!-10
    本日から10日前未満
    本日から10日先以上
    文字比較と数字比較では結果が変わります。例えば 1234 と 99 を文字で比較すると 99 が大きいと判断されます。数字で比較しないと正しく判断されません。
    等しい、等しくないの条件のみ【文字比較】【数字比較】のパターンが逆になっていますので注意してください。
    条件の値がブランクの場合は条件に合致したと判定します。
    等しい、等しくない、含む、含まないの条件でアルファベットの大文字小文字を区別して判定したい場合は比較演算子を大文字で指定します。(例:!CT!)
    比較対象として以下の特殊な定数を指定することができます。(_DY_、_DM_、_DT_)
    (例)3!eq!_DTm30_ カスタム項目3の値が本日から30日前の年/月/前のデータと等しい。
    pmで当該年から計算して結果に置き換えることもできます。(例:当日から3日前 _DTm3_)
    3!CT!_DMp2_ カスタム項目3の値に本月から2ヶ月後の年/月を含むデータ。
    3!CT!_DY_ カスタム項目3の値に本年(西暦 2010)を含むデータ。
    pmは+-で置き換えることもできます(_DTm3_、_DMp3_)が表示プログラム whats_display.cgi の引数で指定する場合はpmを使ってください、また省略すると + となります。(_DT3_、_DM3_)

  • 評価は左から右に順番に行われます、優先順位をつけたりグループ分けする場合は半角の( )で括って指定してください。
    以下のAのような例(カスタム項目1が1で且つカスタム4が1または2)では左から順番に評価されるため !or! の評価はうまく動作せずBのように記述しなければなりません。
    A、1!eq!1!and!4!eq!1!or!4!eq!2
    B、4!eq!1!or!4!eq!2!and!1!eq!1
    しかし括弧で囲めば明確にわかりやすく記述できるようになります
    1!eq!1!and!(4!eq!1!or!4!eq!2)
  • 指定する値にカスタム番号の値を評価させる場合は custom番号 または Custom番号 を指定します。Custom はメニューページのカスタム項目です。
    (例)1!eq!Custom5 カスタム項目番号1の値がメニュー項目のカスタム項目番号5の値と等しい。
  • カスタム項目番号の前にand:(or:)を付けてカスタム項目番号を半角の:で区切って複数指定するとそれぞれのカスタム項目と値との比較を and または or での複合条件比較されます。(and:(or:)を省略すると or となります)
    例:or:3:5:7!eq!abc カスタム3,5、7のどれかが abc と等しい条件になります。
  • 指定する値の前にand:(or:)を付けて指定する値を半角の:で区切って複数指定するとそれぞれの指定する値とカスタム項目の値との比較を and または or での複合条件比較されます。(and:(or:)を省略すると or となります)
    例:3!eq!or:abc:def:ghi カスタム3の値が abc、def、ghiのどれかと等しい条件になります。
  • 比較演算子に etc を使う場合は、指定する値を半角の:で区切って複数指定するとそれぞれの指定する値がカスタム項目と等しくない(以外)となります。(例:3!etc!大阪:京都)
    含まれないとする場合は Etc を使用します。(例:3!Etc!大阪:京都)
  • 指定する値には特殊記号(/*!"#$%&'()=~|\+-?}{[]<>,等)は使えません。
  • (例)1!eq!news!or!2!ne!dog!and!3!eq!cat カスタム項目番号1の値が news であるかカスタム項目番号2の値が dog でなく、かつカスタム項目番号3の値が cat であるデータのみをメニューに表示します。
  • フィルター条件に全角の文字を使う場合、全角の文字をURLエンコードで変換するする必要があります。スーパーバイザーメニューにURL変換がありますのでそちらで変換してください。
    filter:1!eq!大阪 をURLエンコードすると filter:1!eq!%91%e5%8d%e3(シフトJISの場合)になります。
  • オーナーID(ジャンルID)、タイトル、記事、登録日を指定する場合はカスタム番号のかわりにオーナーID=902、タイトル=903、記事=904、登録年月日=905、登録更新年月日=906 を指定します。
    (例)903!ne!dog タイトルが dog と等しくない
    登録年月日、登録更新年月日では比較対象として以下の特殊な定数を指定することができます。(_DY_、_DM_、_DT_)
    pmで当該年から計算して比較対象とすることもできます。(例:当日から3日前 _DTm3_)
    (例)filter:905!gt!_DT-30_ 登録日が本日から30日前までのデータ。
    (例)3!eq!_DTm30_ 登録日が本日から30日前の年/月/前のデータ。
    pmは+-で置き換えることもできます(_DTm3_、_DMp3_)が表示プログラム whats_display.cgi の引数で指定する場合はpmを使ってください、また省略すると + となります。(_DT3_、_DM3_)
  • Tips フィルターのカスタム番号に908を指定すると「初期設定」で閲覧制限を「個別の記事にかける」を指定している場合にパスワード制限が掛かっている記事と掛かっていない記事を分けて表示することができます。
    パスワード制限が掛かっている記事を表示(908!eq!1)、パスワード制限が掛かっていない記事を表示(908!eq!0)
  • Tips 子ジャンルや登録者IDを指定している親ジャンルを表示する場合に子ジャンルや登録者IDのそれぞれの最新のデータのみを表示させることができます。
    (例)1!owner_new! 各子ジャンルの最新の1件のデータ、2!owner_new! 各登録者IDの最新の2件のデータ
  • Tips 比較する値に !cook!クッキー保存名 を指定するとクッキーに保存されている値を比較条件とすることができます。
    以下の例のように保存された値を参照させる場合は 3!eq!!cook!cooktest と記述します。カスタム項目3の値がクッキー保存名 cooktest で保存された値と等しいときにという条件になります。
    クッキーへの保存の手順は説明ページ
  • カスタム番号を 902 で指定するとオーナーID(ジャンルID)を比較対象に、 903 を指定するとタイトルを比較対象に、 904 を指定すると記事を、905 を指定すると登録年月日、906 を指定すると登録、更新年月日を、908を指定すると閲覧制限デ-タを比較対象にします。
    年月日のフォーマットは 9999/99/99 ですので比較は文字(テキスト)の比較演算子を使います。

allfilter や search でのデータの検索は全てのデータが対象にはなりません。データ登録時にWebに掲載にチェックを入れていないデータや掲載期間を外れたデータなどは検索対象外となります。
全てのデータを検索対象とする場合は all オプションを指定します。

sort:カスタム番号x桁数y
  • メニューページを表示する時に該当するデータをカスタム項目の値でソートしてから表示します。
    x の位置には n(値を数字としてソート、ブランクは最小値として処理) N(値を数字としてソート、ブランクは最大値として処理)または c(文字としてソート、ブランクは最小値として処理) C(文字としてソート、ブランクはブランクは最大値として処理)、桁数にはカスタム項目の値が取りうる最大の桁、バイト数を、y の位置には B(大〜小ででソート)または S(小〜大でソート)を指定します。
  • x、桁数、y は省略できます、x は省略すると「文字項目」、y は省略すると「小〜大」が、桁数は数字は11桁、文字は16バイトが初期値になります。
  • 複数のカスタム項目でソートを行う場合は半角の : で区切って続けます。例:sort:3n:5cS 昇順、降順どちらで並べるかは最後の指定が全体に採用されます(個別に昇順、降順を変えることはできません)。
  • 登録年月日でソートする場合はカスタム番号に 905 を指定します。
    登録、更新年月日でソートする場合はカスタム番号に 906 を指定します。
    タイトルでソートする場合はカスタム番号に 903 を指定します。
  • 数字項目を指定した時は値の中の数字、小数点以外は削除してからソートします。(「価格\15,000」も処理できます)
    コードなど桁数が固定の数字項目は文字項目として文字数を指定して処理するほうが効率的に処理できます。(例:sort:3c2S、カスタム番号3の値を文字として比較し小さいものから並べ替えて表示します、カスタム番号3の値の最大バイト数は2バイトです)
    整数部11桁、小数点以下3桁を超えた数字は処理できません。データ件数は99999件までです。
  • 文字項目は半角16文字までをソート対象にします。(初期値)
    対象文字数(最大文字数)は次のように指定して処理すると効率的に処理できます。(例:sort:3c2S、カスタム番号3の値を文字として比較し小さいものから並べ替えて表示します、カスタム番号3の値の最大バイト数は10バイトです)
    文字の処理できるソート対象文字数の初期値は設定ファイル whatsnew_set.pl で変更することができます。
  • (例:sort:3nS、カスタム番号3の値を数字として比較し小さいものから並べ替えて表示します)
    ※注意  <!--page--> タグを使用してメニューを分割して表示して表示し、ページの中に並べ替えリンクがある場合はページで表示されているデータの中での並び替えではなく全体が並び替えられます。そのため並び替え後の表示は違ったデータの一覧になることにご注意下さい。
  • カスタム項目の値を 909n を指定した場合はソートキーとしてランダムな数字が割り当てられます。そのため他のキーと組み合わせるとランダム表示が可能です。
    (例:sort:1n:909c カスタム項目1順でランダムに表示されます)
     ※注意 表示最大数を指定し <!--page--> タグを使用してメニューを分割して表示している場合は表示ページ以外のメニュー頁に移動した時、データ全体で再度ランダム化が行われますので表示済みの同じデータが重複して表示される可能性があります。
    <!--page--> タグを使用しないか <!--page0--> タグを使用して総数と表示数のみを表示するようにして下さい。

sort:R
  • メニューページを表示する時に該当するデータをランダムに表示します。
     ※注意 表示最大数を指定し <!--page--> タグを使用してメニューを分割して表示している場合は表示ページ以外のメニュー頁に移動した時、データ全体で再度ランダム化が行われますので表示済みの同じデータが重複して表示される可能性があります。
    <!--page--> タグを使用しないか <!--page0--> タグを使用して総数と表示数のみを表示するようにして下さい。

search:キーワード
SEARCH:キーワード
  • テキスト項目にキーワードが含まれるデータのみをメニューに表示します(全文検索)。
    半角アルファベットの大文字小文字を区別して比較したい場合は SEARCH を使ってください。
  • キーワードをANDで複数指定したい場合はキーワードをブランクで区切ります。
    キーワードをORで複数指定したい場合はキーワードを|で区切ります。
    AND、ORを組み合わせることはできません。
  • キーワードに全角が含まれる場合はURL変換する必要があります。スーパーバイザーメニューにURL変換がありますのでそちらで変換してください。
  • Tips カスタム項目が選択項目で選択値と表示値を変えている場合(コード化など)に全文検索を行うと表示値がキーワードで指定されるとマッチしません。そのような場合は x を付けて指定すると選択値を表示値に展開して検索されますのでマッチするようになります。
    例:searchx:キーワード

rep:任意テキスト指定した任意テキストをテンプレートの %rep% と置き換えます。
ショッピングカートCGIと組み合わせて使用する場合などでカートIDなどをセットすることができます。
Tips %rep% を <font color=%rep,aaa=red,bbb=blue,ccc=yellow%> のように半角の,で区切って指定すると任意テキストの値によって表示を変えることもできます。この例の場合は任意テキストが aaa の場合は red を bbb の場合は blue を ccc の場合は yellow を挿入します。
使用例:<font color=%rep,aaa=red,bbb=blue,ccc=yellow%>

D:半角数字テンプレートのカスタムタグと組み合わせて使用します。
<!--custom2D=3-->この例ではカスタム番号2は D:3 オプションで表示させた場合にのみ置き換えが実行されます。

pfix:xxx
  • 詳細ページへのリンクはHTML書出処理で生成した静的詳細ページとします。xxxではHTML書出処理に使った設定ファイル名を指定します。
  • この機能を使う場合は事前に詳細ページの全ページをHTML書出処理で生成しておいてください。
    またその際の使用テンプレートに前後のページへのリンクに置き換えるエンドタグを使用していると、フィルターや検索を指定して表示すると結果に該当しないページへリンクしますのでご注意ください。
  • この現象を避けるためエンドタグはインデックス(メニュー)ページのみへのリンクを指定してください。<!--END ,インデックス--><!--[ index ]-->

watchクッキーに保存させておいたワッチリストの詳細データをメニュー表示します。
watch:ユニークIDリスト でユニークIDリストを指定するとクッキーではなくユニークIDリストの詳細データをメニュー表示します。
ユニークIDリストは複数指定する場合は半角の:で区切って続けて指定します。
ユニークIDをテンプレートでセットするにはタグ <!--uniq_id--> を使います。watch:<!--uniq_id-->

form:フォームIDフォームメールプロのクッキー保存機能(以前に送信を行った方のデータをクッキーに保存して再送信時に項目にセット)を有効にするためのオプションです。
必要時にセットしてください。form_id はフォームメールプロのフォームIDを指定します。
一括資料請求を使うときに有効です。
フォームメールプロで保存したクッキーのドメインとパスがWhatsNewのクッキー読込のドメインとパスと一致しなければ使用することはできません)

idx:リンク先URLメニューから詳細へのリンクを同じWINDOWに表示した場合、詳細ページの「INDEX(メニュー)へ戻る」のリンクがうまく設定できません。そのような場合は、引数に idx:/index.html としメニューのリンク先を明示してやります。
+idx:URL指定
例:<iframe src="/cgi-bin/whatsnew/whats_display.cgi?id:news+base:top.html+idx:/index.html" name="xxx" width="xx" 〜 </iframe>
また、同じジャンルのメニューページへリンクさせる場合は、以下のようにURLの指定の先頭に!を付け引数から指定します。
引数の中に+がある場合は+を_plus_に変えて指定します。
例:+idx:!base:/aaa/ccc.html_plus_max:10(実際のリンク /cgi-bin/whatsnew/whats_display.cgi?id:news+base:/aaa/ccc.html+max:10)

Custom詳細データを表示せずメニュー頁カスタム項目のみを表示させる場合に指定します。(余分な詳細データを読み込むことがありません)
phpPHPから表示プログラムを呼出して表示させる場合にテンプレートの<body>タグ前と</body>タグ以降を無視します
php:テンプレートファイル名 分割メニュー表示後のリンクに使用するテンプレート(自身のphpファイル名)を指定します。(表示するメニューが件数指定による分割メニューで表示する場合に指定すると同じページ内容で次のメーニュが表示できます)

script、scriptxscriptタグで表示プログラムを呼出して表示させる場合にテンプレートの<body>タグ前と</body>タグ以降を無視します
<scriptx>を指定するとgreyboxなどのjavascript外部ファイルを読み込みません。<script〜>を配置しているHTMLソースでgreyboxなどのjavascriptの外部ファイルが既に読み込まれている場合に指定します。
script:テンプレートファイル名 分割メニュー表示後のリンクに使用するテンプレート(自身のHTMLファイル名)を指定します。(表示するメニューが件数指定による分割メニューで表示する場合に指定すると同じページ内容で次のメーニュが表示できます)

kjc:漢字コードPHP、scriptタグから表示プログラムを呼出して表示させる場合にソースを記述している漢字コードを指定します(sjis,jis,euc,utf8)
read件数:ジャンル名複数のジャンルのタイトルメニューの一覧を表示させることができます 参照
cntup:カスタム番号カスタム番号の値の件数をカウントします。検索フォームのテンプレートなどで有効に機能します。
whats_display.cgi?id:test+cntup:3 この例ではカスタム項目3の値で件数をカウントします。(テンプレートでは<!--cnt:カスタム項目3の値-->を配置します)
whats_display.cgi?id:test+cntup:3C2 この例ではカスタム項目3の値にメニュー項目カスタム番号2の値(半角,で区切られたキーテキスト)が含まれている件数をカウントします。
例えばメニュー項目カスタム番号2の値が大阪,東京,名古屋であればカスタム項目3の値によって大阪,東京,名古屋が含まれたデータ件数をカウントすることになります。(複数のキーテキストが含まれる場合は最初のキーテキストのみが適用されます、テンプレートでは<!--cnt:大阪-->〜<!--cnt:名古屋-->を配置します)
whats_display.cgi?id:test+cntup:3C2L この例ではカスタム項目3の値にメニュー項目カスタム番号2の値(半角,で区切られた数値)の範囲の件数をカウントします。
例えばメニュー項目カスタム番号2の値が1000,2000,3000であればカスタム項目3の値によって1000より小さい、2000より小さい、3000より小さいのそれぞれのデータ件数をカウントすることになります。(テンプレートでは<!--cnt:1000-->〜<!--cnt:3000-->を配置します)

pdir:HTML存在場所詳細へのリンクをHTML書き出しで書き出した静的なHTMLファイルにします。
HTML存在場所にはHTML書き出しで書き出した静的なHTMLファイルが存在するディレクトリをドキュメントルートから指定します。
whats_display.cgi?id:test+pdir:/html この例ではメニュー頁から詳細ページへのリンクをドキュメントルートにあるディレクトリ(HTML)以下にある静的な詳細ページに設定します。


(例)/cgi-bin/whatsnew/whats_display.cgi?id: xxxx+max:10+date:2001/03+base:aaa.html
(ジャンル xxxxの記事、最大10行、2001年3月の記事、テンプレートを aaa.htmlで表示)

RSSページを呼び出す(RSSリーダーに登録する)

  • RSSページをを表示させるリンクに以下のCGIを呼び出す

    <a href="/cgi-bin/whatsnew/whats_display.cgi?id:xxx+max:10+base:whatsindex.rdf">What's New Index</a>

    (呼び出し方は環境に合わせてください、あなたがアップロードした場所と whats_display.cgi の名称を変更した場合は違う指定になります)

  • オプション項目は
    whats_display.cgiの後に?を付けて指定。上記のオプションを「+」で続けることで組み合わせが可能

  • ここで指定するファイル名は半角英数字のみで構成してください。
  • xxxには表示させるジャンルを指定します。
  • base: オプションは使用するRSS用テンプレートファイルを指定します。(初期設定で指定されている場合は不要です)
  • max: オプションは表示する最大ニュース数を指定します。
  • HTML書き出しで静的なHTMLファイルが作成できている場合はそのHTMLファイルを指定することもできます。

 詳細ページを直接呼び出して表示する

  • 詳細ページを直接呼び出して表示するには2つの方法があります
  • ひとつはジャンルと詳細ページのレコード番号を指定して表示する方法です。
    この方法では詳細の追加や削除があった時にレコード番号が変化してしまうため毎回違った記事を表示することがあります。
    <a href="/cgi-bin/whatsnew/whats_display.cgi?id:xxx+rec:3">ジャンルxxxのレコード番号3の詳細ページへ</A>
    (呼び出し方は環境に合わせてください、あなたがアップロードした場所と whats_display.cgi の名称を変更した場合は違う指定になります)
  • もう1つは呼出キーを指定して表示する方法です。
    この方法では初期設定で呼出キーを設定しひとつひとつの記事に呼出キーを登録しておきます。
    <a href="/cgi-bin/whatsnew/whats_display.cgi?id:xxx+call:abc">ジャンルxxxの呼出キーabcの詳細ページへ</A>

使用講習会、説明会をご指定の場所で開催させていただきます

 本サイトの CGI は高機能で何でもできますが、高機能のため使用方法を完全に理解するためには説明を受けた方が解りやすいと思います。京阪神奈の制作会社様には使用講習会、説明会をご指定の場所で開催させていただきます。最下段のメールアドレスまでお問い合わせ下さい。(場所が京阪神奈以外の場合は実費交通費が必要です)

インストール、CGI制作の請け負い

 本サイトのプログラムは今までに CGI をインストールされた方なら簡単にインストールしていただけますが、設定も含めたインストール、サイト構築作業、CGI制作を請け負うことも可能です。お問い合わせページからご連絡ください。

GOiGOi Projectではフォームメール、WhatsNew(汎用データベース)、ページ自動生成、ページ更新、空き情報・予約など、ホームページを管理、運営する上でどうしても必要になってくるCGIをプロ仕様で提供しています。全てのプログラムは汎用CGIとして開発されていてどのようなサイトでもご使用いただけます。また、CGI制作も承ります。