public function anyProduct($type) { $product_type = ProductTypes::where('name', $type)->first(); $products = NULL; $error_msg = []; $main_image = NULL; $product_main_image = NULL; if ($product_type) { $products = Products::where('product_type_id', $product_type->id)->get(); foreach ($products as $product) { $product_main_image = ProductImages::where('product_id', $product->id)->where('is_primary', 1)->first(); } if ($product_main_image) { $main_image = $product_main_image->url; } } else { $error_msg[] = 'Product type not found.'; } return View::make('shop.manage_products', ['products' => $products, 'error_msg' => $error_msg, 'main_image' => '../../../storage/app/upload/' . $main_image]); }
/** * Initialize the products form */ public function initialize($entity = null, $options = array()) { if (!isset($options['edit'])) { $element = new Text("id"); $this->add($element->setLabel("Id")); } else { $this->add(new Hidden("id")); } $name = new Text("name"); $name->setLabel("Name"); $name->setFilters(array('striptags', 'string')); $name->addValidators(array(new PresenceOf(array('message' => 'Name is required')))); $this->add($name); $type = new Select('product_types_id', ProductTypes::find(), array('using' => array('id', 'name'), 'useEmpty' => true, 'emptyText' => '...', 'emptyValue' => '')); $type->setLabel('Type'); $this->add($type); $price = new Text("price"); $price->setLabel("Price"); $price->setFilters(array('float')); $price->addValidators(array(new PresenceOf(array('message' => 'Price is required')), new Numericality(array('message' => 'Price is required')))); $this->add($price); }
/** * Deletes a producttypes * * @param string $id */ public function deleteAction($id) { $productTypes = ProductTypes::findFirstById($id); if (!$productTypes) { $this->flash->error("Product types was not found"); return $this->forward("producttypes/index"); } if (!$productTypes->delete()) { foreach ($productTypes->getMessages() as $message) { $this->flash->error($message); } return $this->forward("producttypes/search"); } $this->flash->success("product types was deleted"); return $this->forward("producttypes/index"); }