public function product_show($slug) { $output = ''; $product = Product::findBySlug($slug); $images = ProductImage::findByProduct($slug); $variants = ProductVariant::findByProduct($slug); $files = ProductFile::findByProduct($slug); $videos = ProductVideo::findByProduct($slug); $related_products = $this->products_related($slug); if ($product) { $output = '<div id="product_images">'; if ($images) { foreach ($images as $image) { $output .= '<img src="/public/ecommerce/images/products/' . $image->filename . '" />'; } } if ($variants) { foreach ($variants as $variant) { $description = ''; if ($variant->description) { $description = $variant->description . '<br />'; } $output .= ' <form class="cart_form" action="/products/cart" method="post"> <input type="hidden" name="variant_id" value="' . $variant->id . '" /> <label>' . str_replace('Default', '', $variant->title) . '<br />' . $description . '</label>'; if ($variant->price > 0) { $output .= '<span class="price">$' . number_format($variant->price, 2) . '</span> <input type="hidden" name="quantity" value="1" size="2" /> <input type="submit" name="submit" value="Add to Cart" />'; } $output .= '</form>'; } } if ($files) { $output .= '<div id="files"><h3>Files</h3><ul>'; foreach ($files as $file) { $output .= '<li><a href="' . $file->filename . '" rel="external">' . $file->title . '</a></li>'; } $output .= '</ul></div>'; } if ($videos) { $output .= '<div id="videos"><h3>Videos</h3><ul>'; foreach ($videos as $video) { $output .= '<li><a href="' . $video->filename . '" rel="shadowbox">' . $video->title . '</a></li>'; } $output .= '</ul></div>'; } $output .= '</div>'; $output .= $product->description; if ($related_products) { $output .= '<br clear="all"><h3>Related Products</h3>'; $output .= $this->products_related($slug); } } return $output; }