고객이 주문한 후 우편을 보내려고합니다. 이 이메일에는 주문한 제품의 모든 교차 판매 제품이 포함됩니다.
다음 링크를 참조로 사용했습니다.
모두 잘 작동합니다.
그러나 이제 내 의심은 로케일 디렉토리에 있는 html 파일 내부에서 foreach 루프를 사용할 수 있습니까?
메일 템플릿의 모든 제품 정보를 반복하고 인쇄 할 수있었습니다. 누구든지 도울 수 있습니까?
고객이 주문한 후 우편을 보내려고합니다. 이 이메일에는 주문한 제품의 모든 교차 판매 제품이 포함됩니다.
다음 링크를 참조로 사용했습니다.
모두 잘 작동합니다.
그러나 이제 내 의심은 로케일 디렉토리에 있는 html 파일 내부에서 foreach 루프를 사용할 수 있습니까?
메일 템플릿의 모든 제품 정보를 반복하고 인쇄 할 수있었습니다. 누구든지 도울 수 있습니까?
답변:
이메일에서 foreach 루프를 직접 수행하는 것은 불가능하지만 일반적인 템플릿에서 루프를 수행하는 블록을 포함시키는 것이 가능합니다.
이메일에 다음과 같은 것을 추가하십시오.
{{block type='core/template' area='frontend' template='email/template.phtml' items=$items}}
그런 다음 템플릿에 다음을 추가하십시오.
<?php foreach ($this->getItems() as $_item): ?>
<p><?php echo $_item['name'] ?></p>
<?php endforeach; ?>
자세한 내용은이 블로그를 따라
items=$items
할까요? $items
PHP 변수와 마찬가지로 .
실제로 이메일에서 for 루프를 사용할 수 있습니다. 2.3.3 버전에서 테스트했습니다. 검사 할 코드 위치 입니다. 템플릿에서 다음과 같이 보입니다.
<ul>
{{for item in data.items}}
<li>Name: {{var item.name}}</li>
{{/for}}
</ul>
운송 정보 :
$this->transportBuilder->setTemplateVars(
[
'items' => [
['name' => 'Product1'],
['name' => 'Product2']
]
...
곁에. 2.3.4에서는 코드가 리팩토링 되었지만 제거되지 않았으므로 여전히 작동해야한다고 생각합니다. Magento는이 버전을 기준으로 객체에서 함수를 호출하는 기능을 제거 했으므로 order->getItems()
기능이 작동하지 않을 수 있습니다.