Virtuemart ショップに、製品のリストを含む製品ビューがあります。これらの製品は foreach ループによって生成されます。製品リストが PHP コードでどのように表示されるかの例を次に示します。
<div id="products">
<?php //Loop START
$counter = 0;
foreach ( $this->products as $product ) {
$ProductName = $product->product_name;
$ProductID = $product->virtuemart_product_id;
$ProductSalesPrice = $product->prices['salesPrice'];
$ProductDiscount = $product->prices['discountAmount']; ?>
<div class="product">
<div class="nameHeader <?php echo $counter ?>"><?php echo $ProductName ?></div>
<div class="productID <?php echo $counter ?>"><?php echo $ProductID ?></div>
<div ID="salesprice<?php echo $counter ?>" class="salesprice <?php echo $counter ?>"><?php echo $ProductSalesPrice ?></div>
<div ID="discount<?php echo $counter ?>" class="discount <?php echo $counter ?>"><?php echo $ProductDiscount ?></div>
</div>
<?php $counter++; } //Loop END ?>
</div>
「静的な」PHP コードの代わりに ajax を使用して価格データを表示する方法を探しています。これにより、Joomla コンポーネント「JotCache」によって価格がキャッシュされなくなります。
ajax を使用し、製品 ID を POST データとして PHP スクリプトに送信することで、単一の製品でこれを行う方法は知っていますが、上記の例のような製品のループ全体でこれを行う方法はわかりません。
誰も方法を知っていますか:
- ループ内の製品のすべての製品 ID を POST データとして外部 PHP スクリプトに送信します。
- 計算されたすべての価格データ (製品 ID に基づく販売価格と割引) を PHP スクリプトから取得し、各製品の販売価格と割引を div タグ内に入力します。たとえば、「salesprice0」、「discount0」、「salesprice1」などの IDと「割引1」..など?