/** * Action для страницы "Новостной контент" */ public function actionView($id) { $categories = Category::getCategoriesList(); $news = News::getNewsContent($id); require_once ROOT . '/views/news/view.php'; return true; }
public function actionIndex() { self::checkAdmin(); $categoryList = Category::getCategoriesList(); require_once ROOT . '/views/admin_category/index.php'; return true; }
public function __construct($options = null) { parent::__construct($options); $this->setName('product'); $product_name = new Zend_Form_Element_Text('product_name'); $product_name->setLabel('Product Name: ')->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty'); $id = new Zend_Form_Element_Hidden('id'); $ProductIdExists = new Zend_Validate_Db_NoRecordExists(array('table' => 'products', 'field' => 'product_id')); $ProductIdExists->setMessage('This Product ID is already taken'); $product_id = new Zend_Form_Element_Text('product_id'); $product_id->setLabel('Product ID: ')->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator($ProductIdExists)->addValidator('NotEmpty'); $category = new Category(); $categoriesList = $category->getCategoriesList(); $category_id = new Zend_Form_Element_Select('category_id'); $category_id->setLabel('Category: ')->addMultiOptions($categoriesList)->setRequired(true)->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty'); $product_desc = new Zend_Form_Element_Text('product_desc'); $product_desc->setLabel('Description ')->addFilter('StripTags')->addFilter('StringTrim')->addValidator('NotEmpty'); $product_img = new Zend_Form_Element_File('product_image'); $product_img->setLabel('Upload an image:')->setDestination(PUBLIC_PATH . '/images'); // ensure only 1 file $product_img->addValidator('Count', false, 1); // limit to 100K $product_img->addValidator('Size', false, 102400); // only JPEG, PNG, and GIFs $product_img->addValidator('Extension', false, 'jpg,png,gif'); $submit = new Zend_Form_Element_Submit('submit'); $submit->setAttrib('id', 'submitbutton'); $this->setAttrib('enctype', 'multipart/form-data'); $this->addElements(array($product_name, $product_id, $product_desc, $product_img, $id, $category_id, $submit)); }
/** * Action для страницы "Добавить категорию" */ public function actionCreate() { // Получаем список категорий для выпадающего списка $categories = Category::getCategoriesList(); $options = array(); // Флаг ошибок в форме $errors = false; // Обработка формы if (isset($_POST['submit'])) { // Если форма отправлена // Получаем данные из формы $options['name'] = $_POST['name']; $options['sort_order'] = $_POST['sort_order']; $options['status'] = $_POST['status']; // При необходимости можно валидировать значения нужным образом if (!isset($options['name']) || empty($options['name'])) { $errors[] = 'Неправильно введено имя'; } if ($errors === false) { // Если ошибок нет, добавляем новую категорию Category::createCategory($options); // Перенаправляем пользователя на страницу управления товарами header('Location: /admin/category/'); } } require_once ROOT . '/views/admin_category/create.php'; return true; }
/** * Action для страницы просмотра товара * @param integer $productId <p>id товара</p> */ public function actionView($productId) { $categories = Category::getCategoriesList(); $product = Product::getProductById($productId); $comments = Product::getComments($productId); $userEmail = false; $userName = false; $userComment = false; // Флаг результата $result = false; if (isset($_POST['submit'])) { $userEmail = $_POST['userEmail']; $userName = $_POST['userName']; $userComment = $_POST['userComment']; // Флаг ошибок $errors = false; if (!User::checkName($userName)) { $errors[] = 'Имя не должно быть короче 2-х символов'; } if (!User::checkEmail($userEmail)) { $errors[] = 'Неверный Email'; } if (strlen($userComment) <= 0) { $errors[] = 'Ведите текст'; } if ($errors == false) { $result = Product::addComment($userName, $userEmail, $userComment, $productId); header("Location: /product/{$productId}"); } } require_once ROOT . '/views/product/view.php'; return true; }
/** * @param $productId * @return bool * Метод для вывода полной информации о одном товаре */ public function actionView($productId) { $categories = Category::getCategoriesList(); $product = Product::getProductById($productId); $args = array('categories' => $categories, 'product' => $product); return self::render('view', $args); }
/** * Action для главной страницы */ public function actionIndex() { // Список категорий для левого меню $categories = Category::getCategoriesList(); // Список последних товаров $latestProducts = Product::getLatestProducts(6); // Список товаров для слайдера $sliderProducts = Product::getRecommendedProducts(); // Показывыем в корзине информацию о добавленных товарах $productsInCart = Cart::getProducts(); if ($productsInCart) { // Если в корзине есть товары, получаем полную информацию о товарах для списка // Получаем массив только с идентификаторами товаров $productsIds = array_keys($productsInCart); // Получаем массив с полной информацией о необходимых товарах $products = Product::getProdustsByIds($productsIds); // Получаем общую стоимость товаров $totalPrice = Cart::getTotalPrice($products); } // Получаем идентификатор пользователя из сессии $userId = $_SESSION['user']; // Получаем информацию о пользователе из БД $user = User::getUserById($userId); // Подключаем вид require_once ROOT . '/views/site/index.php'; return true; }
public function actionOrder() { $categories = Category::getCategoriesList(); if (!$categories) { $categories = array(); } $name = ''; $phone = ''; $comment = ''; $userName = ''; $sessionProducts = Cart::getSessionProducts(); if ($sessionProducts) { $productsIdsArray = array_keys($sessionProducts); $products = Product::getProductsByIds($productsIdsArray); $totalPrice = Cart::getTotalPrice($products); $totalProductCount = Cart::countProductsInCart(); } if (isset($_POST['submit'])) { $name = FunctionLibrary::clearStr($_POST['name']); $phone = FunctionLibrary::clearStr($_POST['phone']); $comment = nl2br(FunctionLibrary::clearStr($_POST['comment'])); $errors = array(); if (!User::checkName($name)) { $errors[] = 'Имя не может быть пустым.'; } if (!User::checkPhone($phone)) { $errors[] = 'Невалидный номер телефона.'; } if (!User::checkName($comment)) { $errors[] = 'Комментарий не может быть пустым.'; } if (empty($errors)) { if (User::isUser()) { $email = User::isLogged(); $user = User::getUserByEmail($email); $userId = htmlentities($user['id']); } else { $userId = false; } $result = Order::save($name, $phone, $comment, $userId, $sessionProducts); if ($result) { $_SESSION['message'] = 'Заказ оформлен!'; Cart::annul(); FunctionLibrary::redirectTo('/cart'); } } } else { if (!$sessionProducts) { FunctionLibrary::redirectTo('/'); } if (User::isUser()) { $email = User::isLogged(); $user = User::getUserByEmail($email); $userName = htmlentities($user['name']); } } require_once ROOT . '/views/cart/order.php'; return true; }
/** * Action для страницы "Оформление покупки" */ public function actionCheckout() { $productsInCart = Cart::getProducts(); if ($productsInCart == false) { header("Location: /"); } $categories = Category::getCategoriesList(); // Находим общую стоимость $productsIds = array_keys($productsInCart); $products = Product::getProdustsByIds($productsIds); $totalPrice = Cart::getTotalPrice($products); // Количество товаров $totalQuantity = Cart::countItems(); $userName = false; $userPhone = false; $userComment = false; $result = false; if (!User::isGuest()) { // Если пользователь не гость // Получаем информацию о пользователе из БД $userId = User::checkLogged(); $user = User::getUserById($userId); $userName = $user['name']; } else { // Если гость, поля формы останутся пустыми $userId = false; } if (isset($_POST['submit'])) { $userName = $_POST['userName']; $userPhone = $_POST['userPhone']; $userComment = $_POST['userComment']; // Флаг ошибок $errors = false; if (!User::checkName($userName)) { $errors[] = 'Неправильное имя'; } if (!User::checkPhone($userPhone)) { $errors[] = 'Неправильный телефон'; } if ($errors == false) { // Если ошибок нет // Сохраняем заказ в базе данных $result = Order::save($userName, $userPhone, $userComment, $userId, $productsInCart); if ($result) { // Если заказ успешно сохранен // Оповещаем администратора о новом заказе по почте $adminEmail = '*****@*****.**'; $message = '<a href="localhost/admin/orders">Список заказов</a>'; $subject = 'Новый заказ!'; mail($adminEmail, $subject, $message); // Очищаем корзину Cart::clear(); } } } // Подключаем вид require_once ROOT . '/views/cart/checkout.php'; return true; }
public function actionView($productId) { $categories = array(); $categories = Category::getCategoriesList(); $product = Product::getProductById($productId); require_once ROOT . '/views/product/view.php'; return true; }
/** * Action для главной страницы */ public function actionIndex() { $categories = Category::getCategoriesList(); $latestProducts = Product::getLatestProducts(6); $sliderProducts = Product::getRecommendedProducts(); require_once ROOT . '/views/site/index.php'; return true; }
public function actionAbout() { $categories = Category::getCategoriesList(); if (!$categories) { $categories = array(); } require_once ROOT . '/views/site/about.php'; return true; }
public function actionIndex() { #--Список категорий товаров для меню $catFromDb = new Category(); $categories = $catFromDb->getCategoriesList(); $prodFromDb = new Product(); $latestProducts = $prodFromDb->getLatestProducts(3); require_once ROOT . '/views/site/index.php'; return true; }
public function actionIndex() { $categories = Category::getCategoriesList(false); if (!$categories) { $categories = array(); } $message = FunctionLibrary::sessionMessage(); require_once ROOT . '/views/admin-category/index.php'; return true; }
/** * Action для страницы просмотра товара * @param integer $productId <p>id товара</p> */ public function actionView($id) { // Список категорий для левого меню $categories = array(); $categories = Category::getCategoriesList(); // Получаем инфомрацию о товаре $product = Product::getProductById($id); require_once ROOT . '/views/product/view.php'; return true; }
public function actionIndex() { $categories = array(); $categories = Category::getCategoriesList(); //getting method category $latestProduct = array(); $latestProduct = Product::getLatestProduct(6); require_once ROOT . '/views/site/index.php'; return true; }
/** * @return bool * Метод для главной страницы сайта */ public function actionIndex() { $categories = Category::getCategoriesList(); //меню Модели(слева) $latestProducts = Product::getNewsProducts(6); //вывод последних 6 товаров $sliderProducts = Product::getTopProducts(); //вывод самых популярных товаров $args = array('categories' => $categories, 'latestProducts' => $latestProducts, 'sliderProducts' => $sliderProducts); return self::render('index', $args); }
/** * @param $categoryId * @param int $page * @return bool * Метод для вывода товаров категорий с нумерацией страниц */ public function actionCategory($categoryId, $page = 1) { $categories = Category::getCategoriesList(); $categoryProducts = Product::getProductListByCategory($categoryId, $page); $total = Product::getTotalProductsInCategory($categoryId); //общее кол-во товаров //создание постраничной навигации(общее кол-во товаров,текущая страница,на одной странице,ключ в роутах); $pagination = new Pagination($total, $page, 3, 'page-'); $args = array('categories' => $categories, 'categoryProducts' => $categoryProducts, 'total' => $total, 'pagination' => $pagination, 'categoryId' => $categoryId); return self::render('category', $args); }
/** * Action для страницы "Категория товаров" */ public function actionCategory($categoryId, $page = 1) { $categories = Category::getCategoriesList(); $categoryProducts = Product::getProductsListByCategory($categoryId, $page); // Общее количетсво товаров (необходимо для постраничной навигации) $total = Product::getTotalProductsInCategory($categoryId); // Создаем объект Pagination - постраничная навигация $pagination = new Pagination($total, $page, Product::SHOW_BY_DEFAULT, 'page-'); require_once ROOT . '/views/catalog/category.php'; return true; }
public function actionIndex() { $categories = array(); $categories = Category::getCategoriesList(); $latestProduct = array(); $latestProduct = Product::getLatestProducts(6); $recomProdSlideList = array(); $recomProdSlideList = Product::getRecomendedProduct(); require_once ROOT . '/views/site/index.php'; return true; }
public function actionUpdate($id) { $categories = Category::getCategoriesList(); if (!$categories) { $categories = array(); } $product = Product::getProductById($id); if (!$product) { $product = array(); } if (isset($_POST['submit'])) { $options['name'] = FunctionLibrary::clearStr($_POST['name']); $options['code'] = FunctionLibrary::clearInt($_POST['code']); $options['price'] = FunctionLibrary::clearFloat($_POST['price']); $options['brand'] = FunctionLibrary::clearStr($_POST['brand']); $options['category_id'] = FunctionLibrary::clearInt($_POST['category_id']); $options['availability'] = FunctionLibrary::clearInt($_POST['availability']); $options['is_new'] = FunctionLibrary::clearInt($_POST['is_new']); $options['is_recommended'] = FunctionLibrary::clearInt($_POST['is_recommended']); $options['status'] = FunctionLibrary::clearInt($_POST['status']); $options['description'] = FunctionLibrary::clearStr($_POST['description']); $errors = array(); if (!User::checkName($options['name'])) { $errors[] = 'Название не может быть пустым.'; } if ($id && empty($errors)) { $result = Product::updateProductById($id, $options); if (!$result) { $message = 'Произошла ошибка при редактировании!'; } else { if (!empty($_FILES['image']['tmp_name'])) { $fileName = $_FILES['image']['tmp_name']; if (is_uploaded_file($fileName)) { /* * Следующие две строки для того чтобы * иметь возможность поменять запись no-image * в базе данных (а иначе поменяется только * картинка в папке на сервере) */ $imagePath = "/images/home/product{$id}.jpg"; $result = Product::putImageToDataBase($id, $imagePath); if ($result) { $destination = ROOT . "/template" . $imagePath; move_uploaded_file($fileName, $destination); } } } FunctionLibrary::redirectTo('/admin/product'); } } } require_once ROOT . '/views/admin-product/update.php'; return true; }
public function actionView($productId) { $categories = array(); $categories = Category::getCategoriesList(); $product = Product::getProductById($productId); $view = new View(); $view->categories = $categories; $view->product = $product; $view->display('product/view.php'); return true; }
public function actionCategory($categoryId, $page = 1) { #--Список категорий товаров для меню $catObj = new Category(); $categories = $catObj->getCategoriesList(); $prodObj = new Product(); $categoryProducts = $prodObj->getProductsListByCategory($categoryId, $page); $total = $prodObj->getTotalProductsInCategory($categoryId); $pagination = new Pagination($total, $page, Product::SHOW_BY_DEFAULT, 'page-'); require_once ROOT . '/views/catalog/category.php'; return true; }
public function actionCategory($categoryId, $page = 1) { $categories = array(); $categories = Category::getCategoriesList(); $categoryProducts = array(); $categoryProducts = Product::getProductsListByCategory($categoryId, $page); $total = Product::getTotalProductsInCategory($categoryId); //Создаем обьект Pagination - постраничная навигация $pagination = new Pagination($total, $page, Product::SHOW_BY_DEFAULT, 'page-'); require_once ROOT . '/views/catalog/category.php'; return true; }
public function actionIndex() { // Список категорий для левого меню $categories = Category::getCategoriesList(); // Список последних товаров $latestProducts = Product::getLatestProducts(9); // Список товаров для слайдера $sliderProducts = Product::getRecommendedProducts(); // Подключаем вид require_once ROOT . '/views/site/index.php'; return true; }
public function actionView($productId) { #--Список категорий товаров для меню #$categories = array(); $catFromDb = new Category(); $categories = $catFromDb->getCategoriesList(); #$product = array(); $prodFromDb = new Product(); $product = $prodFromDb->getProductById($productId); require_once ROOT . '/views/product/view.php'; return true; }
public function actionCategory($categoryId, $page = 1) { $categories = array(); $categories = Category::getCategoriesList(); $categoryProducts = array(); $categoryProducts = Product::getProductsListByCategory($categoryId, $page); $total = Product::getTotalProductsInCategory($categoryId); //creem obiectul paginarii - construim navigatia $pagination = new Pagination($total, $page, Product::SHOW_BY_DEFAULT, 'page-'); require_once ROOT . '/views/catalog/category.php'; return true; }
public function actionIndex() { $categories = array(); $categories = Category::getCategoriesList(); $latestProducts = array(); $latestProducts = Product::getLatestProducts(6); // var_dump($latestProducts);die; $view = new View(); $view->category = $categories; $view->latestProducts = $latestProducts; $view->display('site/index.php'); }
public function actionIndex() { $catObj = new Category(); $categories = $catObj->getCategoriesList(); $productsInCart = Cart::getProducts() ? Cart::getProducts() : false; if ($productsInCart) { $productIds = array_keys($productsInCart); $products = Product::getProductsByIds($productIds); $totalPrice = Cart::getTotalPrice($products); } require_once ROOT . '/views/cart/index.php'; return true; }
/** * Action для главной страницы */ public function actionIndex($params = 0) { $categories = array(); // Cписок категорий для левого меню $categories = Category::getCategoriesList(); $latestProducts = array(); // Cписок последних товаров $latestProducts = Product::getLatestProducts(); // Список рекомендуемых товаров $sliderProducts = Product::getRecommendedProducts(); require_once ROOT . '/views/site/index.php'; return true; }