2016-12-13 4 views
0

주문 상태가 업데이트되면 CS-Cart는 두 개의 이메일을 발송합니다. 하나는 고객에게 fn.cart.php:6102이고 다른 하나는 공급 업체 fn.cart.php:6123입니다.CS-Cart 멀티 벤더 - 공급 업체 주문 알림

현재 내가 내 테마 design/themes/mytheme/mail/templates/order/order_notification.tpldesign/themes/mytheme/mail/templates/order/order_notification_subl.tpldesign/backend/mail/templates/order/order_notification.tpldesign/backend/mail/templates/order/order_notification_subl.tpl,

에서 템플릿을 복사 한 템플릿을 오버라이드 (override)합니다.

내 사용자 지정 템플릿은 클라이언트 알림 전자 메일에서만 사용되지만 공급 업체 알림에도 필요합니다. 이것이 일어날 수있는 방법이 있습니까?


나는 조금 더 깊이 파고 시도하지만-곳이 없어.

공급 업체 전자 메일이 전송되면 함수 호출에 'A' 매개 변수를 전달하는 것으로 보입니다. 템플릿 경로가 fn_get_theme_path() 기능 (fn.common.php:108)에 내장 될 때 $areaA 경우

다음, 디자인 디렉토리가 themes/ 대신 backend/ 폴더로 설정됩니다.

내가 뭔가를 내려다 보았습니까? 핵심을 해킹 할 수있는 유일한 방법입니까?

답변

1

"A"또는 "V"(관리자, 각각 "공급 업체") 인 경우 CS-Cart는 backend의 템플릿을 사용합니다. 영역이 "C"(고객) 일 때, 귀하의 테마, 즉 mytheme 템플릿.

두 테마에는 모두 order_notification.tpl 및 order_notification_subj.tpl 템플릿의 복사본이 있습니다 (올바르게 기억하면 약간 다릅니다). 두 가지 모두를 재정의했습니다.

일부 복잡한 해결 방법을 준비하지 않는 한 프론트 엔드 템플릿에서 백엔드 템플릿을 덮어 쓸 수 없습니다.

Mailbox.php에서 send_mail_pre을 사용하여 템플릿 경로를 재정의하는 것이 더 좋습니다.

+0

감사합니다. 내가 언급 한 갈고리에 갈거야 :) – Hippie