質問

顧客が注文を行うと、注文確認メールを受け取ります。その電子メール - 以下のラインアイテムが表示される場所では、小計、出荷と取り扱い、総計が出力されます。

enter image description here

私がやろうとしているのは、配送通知メールで同じことを示すことです。私はMagento Newbなので、私が通常するのは、これを処理するコアテンプレートを見つけて、ローカルフォルダーにコピーして変更を加えることです。

だから私はコピーしました: app/design/frontend/base/default/template/email/order/shipment/items.phtml

に: app/design/frontend/default/mytheme/template/email/order/shipment/items.phtml

そのファイルがどのように見えるか(すでに私のカスタマイズのいくつかがあります):

<?php $_shipment = $this->getShipment() ?>
<?php $_order    = $this->getOrder() ?>
<?php if ($_shipment && $_order): ?>
<table cellspacing="0" cellpadding="0" border="0" width="650" style="border:1px solid #EAEAEA;">
    <thead>
        <tr>
            <th align="left" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px">Item #</th>
            <th align="left" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px"><?php echo $this->__('Item Name') ?></th>
            <th align="left" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px;text-align:center;">Unit <br />Price</th>
            <th align="center" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px;text-align:center;">Shipped<br />Quantity</th>
            <th align="left" bgcolor="#EAEAEA" style="font-size:13px; padding:3px 9px;;text-align:center;">UOM</th>
        </tr>
    </thead>

    <?php $i=0; foreach ($_shipment->getAllItems() as $_item): ?>
    <?php if($_item->getOrderItem()->getParentItem()) continue; else $i++; ?>
    <tbody<?php echo $i%2 ? ' bgcolor="#F6F6F6"' : '' ?>>
        <?php echo $this->getItemHtml($_item) ?>
    </tbody>
    <?php endforeach; ?>   
</table>
<?php endif; ?>

ファイルを見ると app/design/frontend/base/default/template/email/order/invoice/items.phtml 配送テンプレートに表示したい合計がありますが、ここにあるコードの部分のように見えます。

<tfoot>
    <?php echo $this->getChildHtml('invoice_totals')?>
</tfoot>

だから私はそれを私の配送項目に貼り付けました。phtmlしかし、合計は表示されていません。誰かが私を正しい方向に向けることができますか?私は近くにいるように感じますが、まだ何かが足りません。

役に立ちましたか?

解決

問題を見つけました。からコードサンプルを使用するべきではなかった app/design/frontend/base/default/template/email/order/invoice/items.phtml しかし、このコードのスニペットを使用する必要がありました

<tfoot>
    <?php echo $this->getChildHtml('order_totals')?>
</tfoot>

ここから app/design/frontend/base/default/template/email/order/items.phtml

それに加えて、私のsales.xmlファイルは変更する必要がありました。 <sales_email_order_shipment_items> 見つかったものを模倣するためのブロック <sales_email_order_items>:

<sales_email_order_shipment_items>
    <block type="sales/order_email_items" name="items" template="email/order/items.phtml">
        <action method="addItemRender"><type>default</type><block>sales/order_email_items_order_default</block><template>email/order/items/order/default.phtml</template></action>
        <action method="addItemRender"><type>grouped</type><block>sales/order_email_items_order_grouped</block><template>email/order/items/order/default.phtml</template></action>
        <block type="sales/order_totals" name="order_totals" template="sales/order/totals.phtml">
            <action method="setLabelProperties"><value>colspan="5" align="right" style="padding:3px 9px"</value></action>
            <action method="setValueProperties"><value>align="right" style="padding:3px 9px"</value></action>
            <block type="tax/sales_order_tax" name="tax" template="tax/order/tax.phtml">
                <action method="setIsPlaneMode"><value>1</value></action>
            </block>
        </block>
    </block>
    <block type="core/text_list" name="additional.product.info" />
</sales_email_order_shipment_items>
ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top