--- /dev/null
+package SL::Presenter::ShopOrder;
+
+use strict;
+
+use SL::Presenter::EscapedText qw(escape is_escaped);
+
+use Exporter qw(import);
+our @EXPORT_OK = qw(shop_order);
+
+use Carp;
+
+sub shop_order {
+ my ($shop_order, $type, %params) = @_;
+
+ $params{display} ||= 'inline';
+
+ croak "Unknown display type '$params{display}'" unless $params{display} =~ m/^(?:inline|table-cell)$/;
+
+ my $text = join '', (
+ $params{no_link} ? '' : '<a href="controller.pl?action=ShopOrder/show&id='. escape($shop_order->id) .'">',
+ escape($shop_order->shop_ordernumber),
+ $params{no_link} ? '' : '</a>',
+ );
+
+ is_escaped($text);
+}
+1;