0

私は解決できないこの問題を抱えています。適切な言葉で説明できないからです。私はこれに慣れていないので、この不器用な質問で申し訳ありません。

以下に、私の目標の概要を示します。動的ドロップダウン リストですべてのカテゴリ ID を取得しようとしました。2 番目のドロップダウン リストは、最初のドロップダウン リストの選択に基づいています。ローカルで正常に動作しているコードを見つけましたが、内部で試してみましたmagento が機能しないのはなぜですか?

これが私のコードです

<tr>
                <td class="tdpadfirst">
                <label for="category" class="rightgap"><?php echo Mage::helper('marketplacepartner')->__('Product Category') ?>:</label>
                <span class="required starimp">&nbsp;&nbsp;&nbsp;&nbsp;</span>
                    </td>

                <td class="tdpadfirst">
                <select id="category" class="myinput-text required-entry widthinput" name="category" onChange="updateCategory(this.value)">
                <option value="">--Select Categories--</option>
                <?php
                include('db.php');
                $sql=mysql_query("select entity_id from catalog_category_entity where level='2';");
                while($row=mysql_fetch_array($sql)) {
                $id=$row['entity_id'];
                $data=$row['parent_id'];?>
                <!--echo '<option value="'.$entity_id.'">'.$parent_id.'</option>';-->
                <option value="<?php echo $id ?>"><?php echo $id ?></option>
                <?php  } ?>
                </select>
                <select name="city" class="city">
                <option selected="selected">--Select subcategory--</option>
                </select></td></tr>

<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script type="text/javascript">
$(document).ready(function() {
   $(".country").change(function() {
    var id=$(this).val();
    var dataString = 'id='+ id;
    $.ajax ({
    type: "POST",
    url: "ajax_city.php",
    data: dataString,
    cache: false,
    success: function(html) {
       $(".city").html(html);
    }
    });
});
});

ajax_city.php は次のとおりです。

   <?php
include('db.php');
if($_POST['id']) {
   $id=$_POST['id'];
    $sql=mysql_query("select entity_id from catalog_category_entity where parent_id='$id'");
    while($row=mysql_fetch_array($sql)) {
        $id=$row['entity_id'];
        $data=$row['parent_id'];
        echo '<option value="'.$data.'">'.$id.'</option>';
    }
}

?>

そしてdb.phpは次のとおりです。

   <?php
$mysql_hostname = "localhost";
$mysql_user = "root";
$mysql_password = "admin";
$mysql_database = "magento16";
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) 
or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $bd) or die("Opps some thing went wrong");

?>

4

2 に答える 2

0

ajaxファイルへのパスが正しいと確信していますか.magentoにはベース.htaccessがあります。おそらくFirefoxのfirebugまたはchromeのデフォルトデバッガーを使用して、ブラウザで送信されたNETリクエストをチェックすることにより、呼び出しているajaxファイルが実際に呼び出されているかどうかを確認します。mage::catalog_category モデルを使用して、magento で単純なモジュールを作成してみてください。私はそれが役立つことを願っています.. :)

于 2013-07-17T07:27:16.650 に答える