示例#1
0
 public function renderMenu()
 {
     $goods = new DBGoodsType();
     $goods->executeRequest(DB::TABLE_NAV_KEY___NAME, '', '', DB::TABLE_NAV_KEY__VALUE);
     echo "<div>";
     while ($row = mysql_fetch_array($goods->getResponse())) {
         self::renderMenuItem($row['key'], $row['value']);
     }
     echo "</div>";
 }
示例#2
0
 public function getItemSearchData($pageNumber, $num, $valueToSearch)
 {
     $goods = new DBGoodsType();
     $keyMas = array();
     $valueMas = array();
     array_push($keyMas, DB::TABLE_GOODS__NAME);
     array_push($keyMas, DB::TABLE_GOODS__DESCRIPTION);
     array_push($valueMas, "(" . mb_convert_case($valueToSearch, MB_CASE_LOWER, "utf-8") . ")+");
     array_push($valueMas, "(" . mb_convert_case($valueToSearch, MB_CASE_LOWER, "utf-8") . ")+");
     $limitBegin = ($pageNumber - 1) * $num;
     $limitNum = $num;
     if ($this->isAdminOrderEnabled()) {
         $goods->getUserSortedForSearch($keyMas, $valueMas, $limitBegin, $limitNum);
     } else {
         $goods->executeRequestRegExpArrayWithLimit($keyMas, $valueMas, DB::TABLE_GOODS___ORDER, DB::ASC, $limitBegin, $limitNum);
     }
     $this->data = $goods->getResponse();
     $this->dataCount = $goods->getResponseSize();
     $goods->getGoodsSearchCount($keyMas, $valueMas);
     $this->dataTotalCount = $goods->getTotalCount();
 }
示例#3
0
 protected function createGeneralContent()
 {
     $mainTag = new Div();
     $goods = new DBGoodsType();
     $itemId = Utils::getFromGET("page_id");
     $goods->executeRequest(DB::TABLE_GOODS__KEY_ITEM, $itemId, DB::TABLE_GOODS___ORDER, DB::ASC);
     $response = $goods->getResponse();
     $mainTag->addStyleClasses(["single_item"]);
     $row = mysql_fetch_array($response);
     if ($row) {
         $imagePathes = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::SMALL_IMAGE, 'jpg');
         $filesSmall = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::SMALL_IMAGE, "jpg");
         $filesMedium = FileUtils::getFilesByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::MEDIUM_IMAGE, "jpg");
         $firstImage = FileUtils::getFirstFileInDirectoryByPrefixByDescription(Constants::DEFAULT_ROOT_CATALOG_PATH . DIRECTORY_SEPARATOR . $itemId . DIRECTORY_SEPARATOR, Constants::MEDIUM_IMAGE, 'jpg');
         if ($firstImage == '') {
             $firstImage = FileUtils::getCapImage(Labels::CAP_IMAGE_FOR_CLOTHING);
         }
         sort($imagePathes);
         sort($filesSmall);
         sort($filesMedium);
         $defaultBackgroundImage = $this->getFirstImage($itemId, Constants::MEDIUM_IMAGE);
         $titleBlock = new Strong();
         $titleBlock->addStyleClasses(["title", "f-30"]);
         $titleBlock->addChild($row[DB::TABLE_GOODS__NAME]);
         $this->updateTitleTagChildren([$row[DB::TABLE_GOODS__NAME] . ' - ']);
         $metaDesc = new Meta();
         $metaDesc->addAttributes(["name" => "description", "content" => "на этой странице Вы найдете подробное описание для товара " . $row[DB::TABLE_GOODS__NAME] . ", а также сможете пролистать фотографии и просмотреть их увеличенную версию"]);
         $this->addMetaTags($metaDesc);
         $infoBlock = new Div();
         $infoBlock->addStyleClass("info");
         $leftBlock = new Div();
         $leftBlock->addStyleClasses(["left_block"]);
         $bigImg = new Div();
         $bigImg->addStyleClasses(["big_img", "float_left"]);
         $bigImg->addAttribute("style", "background-image: url({$defaultBackgroundImage});filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='{$defaultBackgroundImage}',sizingMethod='scale');-ms-filter: \"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='{$defaultBackgroundImage}',sizingMethod='scale')\";");
         $square = new Div();
         $square->addStyleClass("squareX");
         $zoom = new Div();
         $zoom->addStyleClass("zoom_image");
         $zoom->addAttribute("style", "background-image: url(.{$defaultBackgroundImage}.)");
         $img1 = new Img();
         $img1->addAttribute("src", $firstImage);
         $img1->updateId("main_gallery_image");
         $img2 = new Img();
         $img2->addAttribute("src", $firstImage);
         $img2->updateId("img_effect");
         $square->addChildList([$zoom, $img1, $img2]);
         $square->addChildList($this->getImageSwitcher());
         $leftBlock->addChildList([$square, $this->getPreviewImages($filesMedium, Constants::MEDIUM_IMAGE . "images", false)]);
         $rightBlock = new Div();
         $rightBlock->addStyleClasses(["right_block"]);
         $overviewImgs = $this->getPreviewImages($filesSmall, Constants::SMALL_IMAGE . "images", true);
         $overviewImgs->updateId("gallery");
         $overviewImgs->addStyleClass("w-100p");
         $rightBlock->addChildList([$overviewImgs]);
         $index = 0;
         $imgList = new Div();
         $imgList->addStyleClass("scroll_child");
         /*foreach($imagePathes as $imagePath) {
               if (count(trim($imagePath)) != 0) {
                   $index++;
                   $activeImg = '';
                   $cursor = 'review';
                   if ($index == 1) {
                       $active = 'preview_image_current_border';
                       $activeImg = 'img_to_front';
                   } else {
                       $active = "preview_image_hover_border";
                       $cursor = 'cursor_pointer';
                   }
                   $imgItem = new Div();
                   $imgItem->addStyleClasses(["image_item", "float_left", $cursor]);
                   $zoomWindowContainer = new Div();
                   $zoomWindowContainer->addStyleClass("zoom_window_container");
                   $zoomWindow = new Div();
                   $zoomWindow->addStyleClass("zoom_window");
                   $zoomWindowContainer->addChild($zoomWindow);
                   $previewImgBorder = new Div();
                   $previewImgBorder->addStyleClasses("preview_image_border", $active);
                   $previewImage = new Img();
                   $previewImage->addAttribute("src", $imagePath);
                   $previewImage->addStyleClasses(["preview_image", $activeImg]);
                   $imgItem->addChildList([$zoomWindowContainer, $previewImgBorder, $previewImage]);
               }
           }*/
     }
     $description = $this->getImageDescription($row[DB::TABLE_GOODS__DESCRIPTION]);
     return $mainTag->addChildList([$titleBlock, $infoBlock->addChildList([$leftBlock, $rightBlock, $description])]);
 }
示例#4
0
 public static function getNextGoodCode($code)
 {
     $goodsType = new DBGoodsType();
     $goodsType->executeRequestRegExpWithLimit(DB::TABLE_GOODS__KEY_ITEM, '^' . $code, DB::TABLE_GOODS__KEY_ITEM, DB::DESC, 0, 1);
     $nextCode = null;
     while ($row = mysql_fetch_array($goodsType->getResponse())) {
         $key_item = $row[DB::TABLE_GOODS__KEY_ITEM];
         preg_match('/(\\d+)$/', $key_item, $matches);
         $numericPartOfCode = intval($matches[1]);
         ++$numericPartOfCode;
         $nextCode = $code . sprintf("%03d", $numericPartOfCode);
         break;
     }
     return $nextCode;
 }