0

私はクライアントのためにカスタムの e コマース サイトを構築しています。クライアントがオプションを選択したときに、Ajax を使用して製品のレイアウトを再設定することにしました。だから例えば…

色のリストがあります。赤、青、緑など。色の 1 つをクリックすると、色の ID を ajax 関数に渡します。選択した色に基づいて製品の新しいリストを取得する php 関数に移動します。すべての製品を含む JSON オブジェクトを返します。この部分は私が扱うことができます。

だから、これは私が助けを必要としている部分です。これまでにこれを行ったことがないので、JSON オブジェクトが返された後に製品テーブルをどのようにレイアウトすればよいでしょうか? 明らかに、JSON オブジェクトを php に戻すことはできず、そのようにすることはできないので、jquery を使用して製品テーブルを再作成し、JSON オブジェクトの foreach ループを記述してから、コンテナー div をそのコンテンツに置き換えますか?

あなたは通常、専門的にどのようにそれを行いますか?

コメントへの返信:

最初のページの読み込み時に PHP でテンプレートを作成しました。私は ajax を使用しているので、ページをリロードする必要はありません。

ここに私のPHPがあります

<?php foreach($products as $p): ?>
        <div class="indProduct">
            <?php foreach($images as $img): ?>
            <?php if($img['productId'] == $p['id']): ?>
            <div class="prodImg"><img src="<?php echo base_url(); ?>images/products/<?php echo $img['image']; ?>" alt="<?php echo $p['productTitle']; ?>" /></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <?php if($p['salePrice'] != 0.00): ?>
            <div class="prodSaleBanner"></div>
            <?php endif; ?>
            <div class="prodTitle"><?php echo $p['productTitle']; ?></div>
            <div class="prodPrice">
                <?php if($p['salePrice'] != 0.00): ?>
                $<?php echo number_format($p['salePrice'], 2, '.', ''); ?>
                <?php else: ?>
                $<?php echo number_format($p['price'], 2, '.', ''); ?>
                <?php endif; ?>
                <br />
                <div class="original-price">
                    <?php if($p['salePrice'] != 0.00): ?>
                    $<span style="text-decoration:line-through;"><?php echo number_format($p['price'], 2, '.', ''); ?></span> 
                    <span class="savings">
                        <?php 
                        $savings = $p['price'] - $p['salePrice'];
                        echo 'SAVE: '.number_format($savings, 2, '.', '');
                        ?>
                    </span>
                    <?php endif; ?>
                </div>
            </div>
            <div class="prodAddButton">
                <a href="<?php echo $p['id']; ?>" id="addToCartButton" class="storeButton">Add To Cart</a>
            </div>
        </div>
        <?php endforeach; ?>

したがって、私の計画は、JSON オブジェクトを取得し、基本的に、PHP の代わりに jquery と json を使用して、ajax 成功要求で上記のすべてのコードをやり直すことでした。これは難しい方法ですか?

4

2 に答える 2

2

コード イグナイターは使用していませんが、mustache のようなテンプレート エンジンを使用し、表示する情報を含むテンプレートを定義してから、json をテンプレートに渡し、jQuery を使用して画面にレンダリングするだけです。私は自分自身を説明しましたか?

于 2012-10-18T02:03:43.053 に答える
0

GoCartを確認してください。これは CodeIgniter とオープン ソースの github-urlに基づいています。商品カタログもあります。ソースコードを確認してください。

于 2012-10-18T11:53:59.107 に答える