以 php 形式包含 angularjs 对象

include angularjs object in php form

我在我的 PHP 网络应用程序中使用 angularjs ng-cart。

在这里您将看到用于显示产品的基本 table,我需要在我的付款表格中包含购物车总价以完成 braintree 的流程。

以前我使用的是基于会话的购物车和结帐,因此能够从只读输入值中 $_POST['amount'] 金额。

像这样,<input type="text" name="amount" value="<?php echo $amount?>" readonly/>

和 server.php 上的 $_POST 像这样:

$result = Braintree_Transaction::sale(array( "amount" => $_POST["amount"], 'paymentMethodNonce' => $nonce, 'customer' => array( 'firstName' => $_POST["firstName"], 'lastName' => $_POST["lastName"], 'email' => $_POST["email"], 'phone' => $_POST["phone"] ),

但是,现在我正在使用 angular 和 PHP 我不确定如何在我的表单提交中包含 {{ ngCart.totalCost() | currency:"€" }} 的购物车总数。

   <script type="text/ng-template" id="template/ngCart/summary.html">
            <div class="row">

                <div class="col-md-6">{{ ngCart.getTotalItems() }}
                    <ng-pluralize count="ngCart.getTotalItems()" when="{1: 'item', 'other':'items'}"></ng-pluralize>
                    <br />{{ ngCart.totalCost() | currency:"€" }}
                </div>
            </div>
        </script>

        <script type="text/ng-template" id="template/ngCart/cart.html">
            <div class="alert alert-warning" role="alert" ng-show="ngCart.getTotalItems() === 0">
                Your cart is empty
            </div>
            <div class="table-responsive col-lg-12" ng-show="ngCart.getTotalItems() > 0">
                <table class="table table-striped ngCart cart">
                    <thead>
                    <tr>
                        <th></th>
                        <th></th>
                        <th>Quantity</th>
                        <th>Amount</th>
                        <th>Total</th>
                    </tr>
                    </thead>
                    <tfoot>
                    <tr ng-show="ngCart.getTax()">
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>Tax ({{ ngCart.getTaxRate() }}%):</td>
                        <td>{{ ngCart.getTax() | currency:"€" }}</td>
                    </tr>
                    <tr ng-show="ngCart.getShipping()">
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>Shipping:</td>
                        <td>{{ ngCart.getShipping() | currency:"€" }}</td>
                    </tr>
                    <tr>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td>Total:</td>
                        <td>{{ ngCart.totalCost() | currency:"€" }}</td>
                    </tr>
                    </tfoot>
                    <tbody>
                    <tr ng-repeat="item in ngCart.getCart().items track by $index">
                        <td><span ng-click="ngCart.removeItemById(item.getId())" class="fa fa-times cart-product-remove"></span></td>

                        <td>{{ item.getName() }}</td>
                        <td><span class="fa fa-minus cart-products-mines" ng-class="{'disabled':item.getQuantity()==1}"
                                  ng-click="item.setQuantity(-1, true)"></span>&nbsp;&nbsp;
                            {{ item.getQuantity() | number }}&nbsp;&nbsp;
                            <span class="fa fa-plus cart-products-plus" ng-click="item.setQuantity(1, true)"></span></td>
                        <td>{{ item.getPrice() | currency:"€"}}</td>
                        <td>{{ item.getTotal() | currency:"€" }}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </script>

您可以为此使用隐藏的输入字段:

<input type="hidden" name="amount" value="{{ ngCart.totalCost() | currency:'€' }}" />