如何将产品电视传递给SimpleCart的scGetCart片段?

时间:2015-07-16 02:24:38

标签: modx modx-revolution modx-chunks

我需要一些与我的产品相关联的电视(重量,尺寸等)才能显示在我的SimpleCart网站的购物车页面中。

问题是我不知道该怎么做。我不明白SimpleCart购物车的构建方式,也没有相关的文档。

有人知道如何在购物车输出块中显示与每种产品相关联的电视吗?

购物车代码段具有以下代码,该代码从购物车获取数据并将其放入Chunks:

$sc = $modx->getService('simplecart','SimpleCart',$modx->getOption('simplecart.core_path',null,$modx->getOption('core_path').'components/simplecart/').'model/simplecart/',$scriptProperties);
if (!($sc instanceof SimpleCart)) return '';
 
$controller = $sc->loadController('Cart');
$output = $controller->run($scriptProperties);

输出Chunk看起来像:

<div id="simplecart">

    <form action="[[~[[*id]]]]" method="post" id="form_cartoverview">
        <input type="hidden" name="updatecart" value="true" />

        <table>
          <tr>
            <th class="desc">[[%simplecart.cart.description]]</th>
            <th class="price">[[%simplecart.cart.price]]</th>
            <th class="quantity">[[%simplecart.cart.quantity]]</th>
            [[+cart.total.vat_total:notempty=`<th class="quantity">[[%simplecart.cart.vat]]</th>`:isempty=``]]
            <th class="subtotal">[[%simplecart.cart.subtotal]]</th>
            <th> </th>
          </tr>

            [[+cart.wrapper]]

          [[+cart.total.discount:notempty=`<tr class="total first discount">
            <td colspan="[[+cart.total.vat_total:notempty=`3`:isempty=`2`]]"> </td>
            <td class="label">[[%simplecart.cart.discount]]</td>
            <td class="value">- [[+cart.total.discount_formatted]]</td>
            <td class="extra">[[+cart.total.discount_percent:notempty=`([[+cart.total.discount_percent]]%)`:isempty=` `]]</td>
          </tr>`:isempty=``]]

        [[+cart.total.vat_total:notempty=`
          <tr class="total [[+cart.total.discount:notempty=`second`:isempty=`first`]]">
            <td colspan="3"> </td>
            <td class="label">[[%simplecart.cart.total_ex_vat]]</td>
            <td class="value">[[+cart.total.price_ex_vat_formatted]]</td>
            <td class="extra"> </td>
          </tr>
          [[+cart.vat_rates]]
          <tr class="total [[+cart.total.discount:notempty=`third`:isempty=`second`]]">
            <td colspan="3"> </td>
            <td class="label">[[%simplecart.cart.total_vat]]</td>
            <td class="value">[[+cart.total.vat_total_formatted]]</td>
            <td class="extra"> </td>
          </tr>
          <tr class="total [[+cart.total.discount:notempty=`fourth`:isempty=`third`]]">
            <td colspan="3"> </td>
            <td class="label">[[%simplecart.cart.total_in_vat]]</td>
            <td class="value">[[+cart.total.price_formatted]]</td>
            <td class="extra"> </td>
          </tr>
        `:isempty=`
          <tr class="total [[+cart.total.discount:notempty=`second`:isempty=`first`]]">
            <td colspan="2"> </td>
            <td class="label">[[%simplecart.cart.total]]</td>
            <td class="value">[[+cart.total.price_formatted]]</td>
            <td class="extra"> </td>
          </tr>
        `]]
        </table>

        <div class="submit">
            <input type="submit" value="[[%simplecart.cart.update]]" />
        </div>
    </form>

2 个答案:

答案 0 :(得分:0)

这似乎记录在案:

Product Options (TVs)

并输出它们:

Modifying the Product Template

您似乎只会正常输出它们[[* myProductOptions]]

尽管您的模板似乎正在使用占位符,但我会尝试 [[+ cart.myProductOptions]也是如此。如果所有其他方法都失败了,您可以尝试调试simplecart类并在填充块之前转储产品数据数组,其中可能存在线索。

答案 1 :(得分:0)

发现(通过反复试验)您必须使用:

[[+product.tv.name_of_tv]]