There's now a free plugin for this: EU Withdrawal Button, for Zen Cart 1.5.8 through 3.0.0. It adds a Withdraw From Contract Here button to the footer of every page, a withdrawal page that needs no account (name, order and email, then Confirm Withdrawal), and an emailed acknowledgment of receipt with the date and time. The two labels the law fixes come word for word in English, Dutch, Finnish, French, German, Italian and Spanish, and there's an option to show the button only to visitors from selected countries.
On torvista's question about what the button has to do: Article 11a covers the statement itself. The button lets the customer tell you they're withdrawing and gets them a dated receipt; stopping the order, collecting the goods and refunding are still handled your usual way.
Support thread, with the download: https://www.zen-cart.com/threads/207395
Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com