2012-05-10 18 views
1

メインカテゴリのメインカテゴリとサブカテゴリを持っています。メインカテゴリを含むドロップダウンリストです。メインカテゴリを選択すると、メインカテゴリのサブカテゴリが表示されます。 tpl_subcategory_default.phpでzencartのajax問題

<select name="main_category" id="main_category" onchange="showSubCategory(this.value)"> 
     <option>--Select--</option> 
</select> 


<script type="text/javascript"> 
     function showSubCategory(str) 
     { 

      if (str.length==0) 
      { 
       document.getElementById("txtHint").innerHTML=""; 
       return; 
      } 
      if (window.XMLHttpRequest) 
      {// code for IE7+, Firefox, Chrome, Opera, Safari 
       xmlhttp=new XMLHttpRequest(); 
      } 
      else 
      {// code for IE6, IE5 
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
      } 
      xmlhttp.onreadystatechange=function() 
      { 
       if (xmlhttp.readyState==4 && xmlhttp.status==200) 
       { 
        alert(xmlhttp.responseText); 
        document.getElementById("subcategory").innerHTML=xmlhttp.responseText; 
       } 
      } 
      xmlhttp.open("GET","index.php?main_page=getsubcategory&cid="+str,true); 
      xmlhttp.send(); 
     } 
    </script> 

<?php 
$cid=$_GET['cid']; 
$sql="select cd.categories_name, cd.categories_id 
          from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd 
          where c.parent_id = '" . (int) $_GET['cid'] . "' 
          and c.categories_id = cd.categories_id 
          and c.categories_status= 1"; 

$r=mysql_query($sql); 

while($row=mysql_fetch_array($r)) 

{ 
echo "<option value=$row[categories_id]>$row[categories_name]</option>"; 
} 

?> 

答えて

0

それは、ページ全体を見せているが含まれています... は、このために以下のコードを使用していますが、これはサブカテゴリボックスは、ヘッダーとフッターとページ全体が含まれて示しヘッダーのあるindex.php?main_page = fooを介して "ページ"にアクセスしているため、通常のテンプレートシステムの出力を独自のページ固有の出力に置き換えるためのアーキテクチャを追加していないためです。つまり、出力に直接ジャンプしますすべてのページに表示される通常のものを最初に呼び出す必要はありません。

/includes/modules/pages/subcategory/header_php.phpファイルで行ったことや、作成したことがある場合でも、あなたの質問に本当に正確に答えることはできません。可能なのは、tpl_subcategory_default.phpに入れたコードが上記のheader_php.phpファイルに入り、最後にdie()ステートメントが続き、あなたが探しているのと同じことを達成できる可能性があります。

あなたがこれまでに行ったことに関する詳細情報を提供した場合、あなたの質問に完全に答える方が簡単です。

0

ヘッダー、フッターなどを削除するには、tpl_main_page.phpを上書きできます。このディレクトリ/ includes/templates/customテンプレートに移動します。あなたの情報に従って、main_page = getsubcategoryページを作成しました。このディレクトリの下にgetsubcategoryという名前のフォルダを作成します。 include/templates/custom template/common /からtpl_main_page.phpをコピーし、/ include/templates /カスタムテンプレート/ getsubcategoryに貼り付けます。次に、tpl_main_page.phpファイルで以下の変更を行います。

if (in_array($current_page_base,explode(",",'getsubcategory'))) { 

    $flag_disable_left = true; 
    $flag_disable_header = true; 
    $flag_disable_footer = true; 

}