NVelocity를 사용하여 상당히 새로운입니다. 내 회사에 대한 오래된 템플릿 중 일부를 편집하려고하는데이 오류가 발생하는 이유는 무엇입니까? 주문에 여러 발송물이있는 경우 템플리트에서 여러 발송물 이름을 표시하고 하나만 발송물 이름을 표시하면 템플릿에서 확인하십시오. 여러 발송물이있을 때 올바르게 작동하지만 템플릿이 하나만 있으면 템플릿이 클래스 이름을 대신 출력하는 데 필요한 shiment 이름을 렌더링하지 않습니다.C 템플릿의 NVelocity 템플릿 오류
#if($order.Shipments.Count > 1)
#foreach($shipment in $order.Shipments)
#beforeall
#each
$shipment.ShipMethodName <strong>|</strong>
#else
$order.Shipments[0].ShipMethodName // in emails it renders "Orders.OrderShipmentCollection[0].ShipMethodName"
#end
#end
도와주세요.
어리석은 질문인데 죄송 합니다만 _else_ 절은 0 배송 사례 만 처리하는 것 같습니다. 내가 잘못 ? – jbl
yes ... thats right .... 나는 질문을 편집했다 ... 그것은 여전히 작동하지 않는 것 같다 ... –
나는 "jar"보다는 "> 0"을 가진 if 문에 혼란 스럽다. "> 1". foreach에 #end 문이 없어서 템플릿에 오류도 편집했습니다. 무언가가 null이거나 실패 할 때 NVelocity는 일반적으로 템플릿 변수 참조 (예 : "$ order.Shipments [0] .ShipMethodName")를 작성하지만 유형 이름을 작성해서는 안된다는 것을 알고 있습니다. 나는 "$ order.Shipments [0]"을 인쇄하고 통과 할 데이터를 디버깅하려고합니다. 설명에 대해 –