거래 이메일 : 'sales_email_order_items'템플릿을 만드는 방법 (또는 adminhtml 템플릿을 재정의하는 방법)


15

거래 이메일 코드에서 나는 이것을 본다 :

{{layout handle="sales_email_order_items" order=$order}}
{{var items_html}}

이 템플릿 파일은 다음과 같습니다.

/app/design/adminhtml/default/default/template/email/order/items.phtml

핵심 파일을 덮어 쓰지 않도록 테마로 새 폴더를 만들려고했습니다.

/app/design/our_theme/default/default/template/email/order/items.phtml

그러나 이것은 작동하지 않는 것 같습니다. 단순히 코어를 덮어 쓰지 않고이 파일을 재정의하는 적절한 방법이 있습니까?

답변:


20

실제로 sales.xml268 행 의 파일 에서 찾을 수있는 Layout XML 핸들을 나타냅니다 .

다음 태그를 찾을 수 있습니다

<sales_email_order_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="3" 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_items>

이것을 자신의 테마로 복사 local.xml하고 필요한 것을 편집 할 수 있습니다. 귀하의 경우 템플릿 파일을 다음과 같이 재설정합니다.

<sales_email_order_items>
    <reference name="items">
        <action method="setTemplate">
            <template>yourdirectory/order/items.phtml</template>
        </action>
    </reference>
</sales_email_order_items>

죄송합니다. 감사합니다! 가능하면 :) 받아 들일 것
waffl

문제 없습니다, 다소 혼란 스러울 수 있습니다 :)
Sander Mangel

@SanderMangel 전자 메일 템플릿 (주문 확인 전자 메일 템플릿 이외)에서 사용할 기본값 이외의 {{layout handle = "sales_email_order_items"order = $ order}}를 만드는 방법
Mukesh

무슨 뜻인지 모르겠지만 전자 메일 템플릿의 local.xml에서 모든 핸들을 호출 할 수 있습니다. 원하는 경우 새 것을 만들 수 있습니다
Sander Mangel

6

조사 할 때 "sales_email_order_items"템플릿이 참조하는 것을 볼 수 있습니다

app/design/frontend/base/default/layout/sales.xml
app/design/frontend/base/default/layout/bundle.xml
app/design/frontend/base/default/layout/downloadable.xml

app/design/frontend/base/default/layout/sales.xml를 들어 다음을 볼 수 있습니다.

<sales_email_order_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="3" 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_items>

여기서 경로를 찾을 수 있습니다. template="email/order/items.phtml"

디렉토리 구조 /app/design/our_theme/default/default/template/email/order/items.phtml, 특히 부분이 잘못 된 것 같습니다 /app/design/our_theme/default/default/template...- /app/design/our_theme/default/template...기본값이 적어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.