Dancer2-Plugin-Cart
view release on metacpan or search on metacpan
bin/create_cart_views.pl view on Meta::CPAN
$close_t = $ARGV[1] || $close_t;
my $dir = 'views';
if (-e $dir and -d $dir) {
make_path('views/cart/');
print "Creating views/cart directory\n";
make_path('views/layouts/');
print "Creating views/layouts directory\n";
create_cart_layout;
print "Layout created at $dir/layouts/cart.tt\n";
create_products_view;
print "Products view created at $dir/products.tt\n";
create_cart_view;
print "Cart view created at $dir/cart/cart.tt\n";
create_shipping_view;
print "Shipping view created at $dir/cart/shipping.tt\n";
create_billing_view;
print "Billing view created at $dir/cart/billing.tt\n";
create_review_view;
print "Review view created at $dir/cart/review.tt\n";
create_receipt_view;
print "Receipt view created at $dir/cart/receipt.tt\n";
}
else {
print "view directory needs to exists in order to proceed, please be sure you are in the root of your application.\n";
}
sub create_cart_layout{
my $page = "";
$page .= "
<!DOCTYPE html>
<html lang='en'>
<head>
<meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=yes'>
<title>Ec Cart</title>
<link rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css'>
<script src='https://code.jquery.com/jquery-2.2.4.min.js'></script>
<script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js'></script>
</head>
<body>
<nav class='navbar navbar-default'>
<div class='navbar-header'>
<button type='button' class='navbar-toggle collapsed' data-toggle='collapse' data-target='#menu-options' aria-expanded='false'>
<span class='sr-only'>Toggle navigation</span>
<span class='icon-bar'></span>
<span class='icon-bar'></span>
<span class='icon-bar'></span>
</button>
<a class='navbar-brand' href='#'>Ec-Cart</a>
</div>
</div>
<div class='collapse navbar-collapse' id='menu-options'>
<ul class='nav navbar-nav navbar-right'>
<li><a href='/products'>Products</a></li>
<li><a href='/cart'><span class='glyphicon glyphicon-shopping-cart' aria-hidden='true'></span></a></li>
<li class='dropdown'>
<a href='#' class='dropdown-toggle' data-toggle='dropdown' role='button' aria-haspopup='true' aria-expanded='false'>About<span class='caret'></span></a>
<ul class='dropdown-menu'>
<li><a href='https://github.com/YourSole/Cart'>Github</a></li>
</ul>
</li>
</ul>
</nav>
<div class='container'>
$open_t content $close_t
</div>
</body>
</html>
";
create_view( 'layouts/cart.tt', $page );
return 1;
};
sub create_products_view{
my $page = "";
$page .= "
<h1>Product list</h1>
<table class='table table-bordered'>
<thead>
<tr>
<th>Sku</th><th>Price</th><th>Action</th>
</tr>
</thead>
<tbody>";
$page .= "
$open_t FOREACH product IN product_list $close_t
<tr>
<td> $open_t product.ec_sku $close_t </td>
<td> $open_t product.ec_price $close_t </td>
<td>
<form method='post' action='cart/add'>
<input type='hidden' name='ec_sku' value='$open_t product.ec_sku $close_t'>
<input type='hidden' name='ec_quantity' value='1'>
<input type='submit' value = 'Add' class='btn btn-primary'>
</form>
</td>
</tr>
$open_t END $close_t";
$page .= "
</tbody>
</table>";
create_view( 'products.tt', $page );
return 1;
};
sub _cart_view {
my ($params) = @_;
my $editable = $params->{editable} || 0;
my $ec_cart = $params->{ec_cart} || 'ec_cart';
my $colspan = $editable?4:2;
my $page = "$open_t IF $ec_cart.cart.items.size $close_t";
$page .= "<h2>Cart info</h2>
<table class='table table-bordered'>
<thead>
<tr>
( run in 0.871 second using v1.01-cache-2.11-cpan-364913b4093 )