

rdpv
Newbie-
Posts
42 -
Joined
-
Last visited
Content Type
Profiles
Forums
Marketplace
Articles
FAQ
Our New
Store
Blogs
module__dplus_manager
Everything posted by rdpv
-
Открытие загруженного фала в браузере
rdpv replied to rdpv's topic in Opencart 2.x: General questions
Разобрался спасибо. -
Открытие загруженного фала в браузере
rdpv replied to rdpv's topic in Opencart 2.x: General questions
Вернул настройки config.php на дефолтные теперь у меня все так foreach ($results as $result) { if (file_exists(DIR_DOWNLOAD . $result['filename'])) { $size = filesize(DIR_DOWNLOAD . $result['filename']); $dlink = '/system/storage/download/'.$result['filename']; $i = 0; $suffix = array( 'B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB' ); while (($size / 1024) > 1) { $size = $size / 1024; $i++; } $data['downloads'][] = array( 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'name' => $result['name'], 'size' => round(substr($size, 0, strpos($size, '.') + 4), 2).$suffix[$i], 'dlink' => $dlink, 'mask' => $result['mask'], 'href' => $this->url->link('product/product/download', 'product_id='.$this->request->get['product_id'].'&download_id='.$result['download_id']) ); теперь вываливает на ссылку Открыть You don't have permission to access /system/storage/download/file.pdf.TlwxNKj3TxBof5UetNIAB3dh4qgt2h5n on this server. можно посмотреть на ваш вариант? -
Открытие загруженного фала в браузере
rdpv replied to rdpv's topic in Opencart 2.x: General questions
в config.php переписал чтобы загружались сразу в /download -
Открытие загруженного фала в браузере
rdpv replied to rdpv's topic in Opencart 2.x: General questions
пробовал не помогает -
Здравствуйте! OpenCart Version 2.3.0.2 (rs.6) Загружаю файлы pdf через Каталог->Загрузки. потом в товаре через связи привязываю эти файлы к товару в шаблон вывожу для загрузки и открытия файла так: <?php if($downloads){ ?> <li><i aria-hidden="true"></i> Скачать: <?php foreach($downloads as $download){ ?><a href="<?php echo $download['href']; ?>" title=""><?php echo $download['name']; ?><?php echo " (". $download['size'] .")";?><br></a><?php } ?></li> <li><i aria-hidden="true"></i> Открыть: <?php foreach($downloads as $download){ ?><a href="<?php echo $download['dlink']); ?>" title=""><?php echo $download['name']; ?></a><?php } ?></li> <?php } ?> в файле catalog/controller/product/product.php $data['downloads'] = array(); $results = $this->model_catalog_product->getDownloads($this->request->get['product_id']); foreach ($results as $result) { if (file_exists(DIR_DOWNLOAD . $result['filename'])) { $size = filesize(DIR_DOWNLOAD . $result['filename']); $dlink = 'download/'.$result['filename']; $i = 0; $suffix = array( 'B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB' ); while (($size / 1024) > 1) { $size = $size / 1024; $i++; } $data['downloads'][] = array( 'date_added' => date($this->language->get('date_format_short'), strtotime($result['date_added'])), 'name' => $result['name'], 'size' => round(substr($size, 0, strpos($size, '.') + 4), 2).$suffix[$i], 'dlink' => $dlink, 'mask' => $result['mask'], 'href' => $this->url->link('product/product/download', 'product_id='.$this->request->get['product_id'].'&download_id='.$result['download_id']) ); } } суть в том что на скачивание ссылка работает все норм а вот на открытие выдает 404 Not Found The requested URL /download/file.pdf.5LCEZNLCu25bB1xXwxd4wlbCDN9MmXck was not found on this server. папку download для теста перенес в корень в config.php переписал путь
-
При распечатке счета если есть опция файл имя файла воводит как - Изображение : 4ac3ab0abd375e8da7aa41288784704de5fe530a
-
При распечатке счета если есть опция файл имя файла воводит как - Изображение : 4ac3ab0abd375e8da7aa41288784704de5fe530a
-
[Решено] Ошибки при авторизации/регистрации на сайте
rdpv replied to rdpv's topic in Opencart 2.x: General questions
Выяснил в чем беда была в контроллере подключил $this->load->model('product/compare'); все работало до авторизации. Переделывал кнопку в закладки косячнул. -
Доброго дня! Нарисовалась ошибка при регистрации нового пользователя либо авторизации на сайте включил логи вываливает кучу ошибок Fatal error: Uncaught exception 'Exception' with message 'Error: Could not load model product/compare!' in /home/r/directory/site.ru/public_html/system/storage/modification/system/engine/loader.php:59 Stack trace: #0 /home/r/directory/site.ru/public_html/catalog/controller/common/header.php(74): Loader->model('product/compare') #1 [internal function]: ControllerCommonHeader->index(Array) #2 /home/r/directory/site.ru/public_html/system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) #3 /home/r/directory/site.ru/public_html/system/storage/modification/system/engine/loader.php(24): Action->execute(Object(Registry), Array) #4 /home/r/directory/site.ru/public_html/catalog/controller/account/account.php(93): Loader->controller('common/header') #5 [internal function]: ControllerAccountAccount->index() #6 /home/r/directory/site.ru/public_html/system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) #7 /home/r/directory/site.ru/public_html/catalog/controller/startup/router.php(25): Action->execute(Object(Registry)) #8 [internal function]: ControllerStartupRouter->index() #9 /home/r/directory/site.ru/public_html/system/storage/modification/system/engine/action.php(51): call_user_func_array(Array, Array) #10 /home/r/directory/site.ru/public_html/system/engine/front.php(34): Action->execute(Object(Registry)) #11 /home/r/directory/site.ru/public_html/system/engine/front.php(29): Front->execute(Object(Action)) #12 /home/r/directory/site.ru/public_html/system/framework.php(103): Front->dispatch(Object(Action), Object(Action)) #13 /home/r/directory/site.ru/public_html/system/startup.php(105): require_once('/home/r/rdpvmaa...') #14 /home/r/directory/site.ru/public_html/index.php(19): start('catalog') #15 {main} thrown in /home/r/directory/site.ru/public_html/system/storage/modification/system/engine/loader.php on line 59 подскажите пожалуйста кто может с этим помочь.
-
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
-
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
Спасибо большое! Теперь все работает! -
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
if(!empty($option_width) && !empty($option_height)){ $price = (($option_width * $option_height)/100)*$price; } else { $price = $product_query->row['price']; } Условие не помогает -
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
Спасибо все получилось! Но пострадали товары у которых нет опций Ширина и Высота как проверить на наличие опций ширина и высота и если отсутствуют то ставить просто цену? -
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
Порыл в интеренете и нашел такой код public function add($product_id, $quantity = 1, $option = array(), $recurring_id = 0, $custom_price = false) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "' AND recurring_id = '" . (int)$recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'"); if (!$query->row['total']) { $this->db->query("INSERT " . DB_PREFIX . "cart SET api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "', customer_id = '" . (int)$this->customer->getId() . "', session_id = '" . $this->db->escape($this->session->getId()) . "', product_id = '" . (int)$product_id . "', recurring_id = '" . (int)$recurring_id . "', `option` = '" . $this->db->escape(json_encode($option)) . "', quantity = '" . (int)$quantity . "', date_added = NOW()"); } else { $this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity = (quantity + " . (int)$quantity . ") WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "' AND recurring_id = '" . (int)$recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'"); } if($custom_price) { if(!isset($this->session->data['cart']['custom_price'])) { $this->session->data['cart']['custom_price'] = array(); } $this->session->data['cart']['custom_price'][$key] = $custom_price; } а в getProducts после $price = $product_query->row['price']; $price = $product_query->row['price']; if(isset($this->session->data['custom_price'][$key])) { $this->data[$key]['price'] = $this->session->data['custom_price'][$key]; } Но в таком случае вываливает ошибки на $key Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 169Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 170Notice: String offset cast occurred inpublic_html/system/library/cart/cart.php on line 170Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 170Notice: Undefined variable: key inpublic_html/system/library/cart/cart.php on line 169Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 170Notice: String offset cast occurred in public_html/system/library/cart/cart.php on line 170Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 170Notice: Undefined variable: key inpublic_html/system/library/cart/cart.php on line 169Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 170Notice: String offset cast occurred in public_html/system/library/cart/cart.php on line 170Notice: Undefined variable: key in public_html/system/library/cart/cart.php on line 170 -
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
Если делать через опции то тогда каким образом увеличить цену при опции "текстовое поле"? } elseif ($option_query->row['type'] == 'text' || $option_query->row['type'] == 'textarea' || $option_query->row['type'] == 'file' || $option_query->row['type'] == 'date' || $option_query->row['type'] == 'datetime' || $option_query->row['type'] == 'time') { $option_data[] = array( 'product_option_id' => $product_option_id, 'product_option_value_id' => '', 'option_id' => $option_query->row['option_id'], 'option_value_id' => '', 'name' => $option_query->row['name'], 'value' => $value, 'type' => $option_query->row['type'], 'quantity' => '', 'subtract' => '', 'price' => '', 'price_prefix' => '', 'points' => '', 'points_prefix' => '', 'weight' => '', 'weight_prefix' => '' ); пробовал добавлять в значение price любую цифру и в prefix ставил "плюс", но она не добавляется к стоимости товара в корзине. -
[Решено] Изменение цены по формуле
rdpv replied to rdpv's topic in Допомога програмістам та розробникам
Я понимаю что она подставляется всем товарам но не понимаю как ее указать конкретному товару. -
Версия ocStore 2.3 Делаю расчет цены по площади, создал две опции Ширина, Высота тип Текст в product.tpl добавил под вывод цены <h2><?php echo $price; ?></h2> <input type="hidden" id="cena" name="cena" value="<?php echo (float)$price; ?>"> <h2><div id="rash"></div></h2> <input type="button" value="Рассчитать" onclick="addition();"><br> в раздел с опциями добавил скрытый custom_price <div id="product"> <?php if ($options) { ?> <hr> <input type="hidden" id="custom_price" name="custom_price" value=""> и в конец добавил скрипт расчета цены по площади <script type="text/javascript"> function addition() { var shir = parseInt(document.getElementById('input-option25').value); var vis = parseInt(document.getElementById('input-option24').value); var cena = parseInt(document.getElementById('cena').value); if (isNaN(shir)==true) shir=0; if (isNaN(vis)==true) vis=0; var plosh = ((shir * vis)/100)*cena; document.getElementById('custom_price'); document.getElementById('rash').innerHTML = "Расчетная цена: "+plosh; custom_price.value = plosh; } </script> в controller\checkout\cart.php в метод public function add() добавил public function add() { $this->load->language('checkout/cart'); $json = array(); if (isset($this->request->post['product_id'])) { $product_id = (int)$this->request->post['product_id']; } else { $product_id = 0; } $this->load->model('catalog/product'); $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { if (isset($this->request->post['quantity']) && ((int)$this->request->post['quantity'] >= $product_info['minimum'])) { $quantity = (int)$this->request->post['quantity']; } else { $quantity = $product_info['minimum'] ? $product_info['minimum'] : 1; } if (isset($this->request->post['option'])) { $option = array_filter($this->request->post['option']); } else { $option = array(); } if(isset($this->request->post['custom_price'])) { $custom_price = $this->request->post['custom_price']; } else { $custom_price = false; } ниже добавил if (!$json) { $this->cart->add($this->request->post['product_id'], $quantity, $option, $recurring_id, $custom_price); в /system/library/cart/cart.php добавил public function add($product_id, $quantity = 1, $option = array(), $recurring_id = 0, $custom_price= false) { $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "cart WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "' AND recurring_id = '" . (int)$recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'"); if (!$query->row['total']) { $this->db->query("INSERT " . DB_PREFIX . "cart SET api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "', customer_id = '" . (int)$this->customer->getId() . "', session_id = '" . $this->db->escape($this->session->getId()) . "', product_id = '" . (int)$product_id . "', recurring_id = '" . (int)$recurring_id . "', `option` = '" . $this->db->escape(json_encode($option)) . "', quantity = '" . (int)$quantity . "', date_added = NOW()"); } else { $this->db->query("UPDATE " . DB_PREFIX . "cart SET quantity = (quantity + " . (int)$quantity . ") WHERE api_id = '" . (isset($this->session->data['api_id']) ? (int)$this->session->data['api_id'] : 0) . "' AND customer_id = '" . (int)$this->customer->getId() . "' AND session_id = '" . $this->db->escape($this->session->getId()) . "' AND product_id = '" . (int)$product_id . "' AND recurring_id = '" . (int)$recurring_id . "' AND `option` = '" . $this->db->escape(json_encode($option)) . "'"); } if($custom_price) { $this->session->data['custom_price'] = $custom_price; } } в метод public function getProducts() { if ($this->session->data['custom_price']) { $price = $this->session->data['custom_price']; } else { $price = $product_query->row['price']; } Цена в корзине меняется согласно расчетам но вот при добавлении другого товара в корзине цены всех товаров меняются на рассчитанную подскажите куда копать заранее благодарен.
-
Ответ не требуется пришлось править модуль чтоб заработало
- 5,128 replies
-
- обмен данными
- ocmod
-
(and 1 more)
Tagged with:
-
Кто может подсказать как работает эта опция не до конца понимаю где указывать тип. Например: Опция - [материал] варианты: 1. Пластик 2. Дерево 3. Металл Мне в наименование дописывать (материал (radio) ) или как? Чтобы при обмене устанавливался каждой опции свой тип? дописал в наименование опции материал (radio) и нифига не работает
- 5,128 replies
-
- обмен данными
- ocmod
-
(and 1 more)
Tagged with:
-
Спасибо буду разбираться
-
Под фото описание
-
Нет не плагин мне статичное надо выводить простой текст, немогу найти файл какой отвечает за вывод увеличенного изображения
-
Подскажите как можно сделать под увеличенным фото товара краткое описание? ocStore 2.3
-
Увеличение изображения для характеристик
rdpv replied to rdpv's topic in Шаблони, дизайн та оформлення магазину
Сделал удобнее вот только как брать изображение не из кеша а в оригинальном размере ну или увеличить само изображение в открывающемся окне <script type="text/javascript"> function openImageWindow(src) { var image = new Image(); image.src = src; var width = image.width; var height = image.height; window.open(src, "Image", 'width=' + width + ',height=' + height + ',left=' + ((window.innerWidth - width)/2) + ',top=' + ((window.innerHeight - height)/2) ); } </script> Вызываю открытие фотографии по нажатию <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" onclick = 'openImageWindow(this.src);' " class="img-thumbnail" /> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> Результат изображение маленькое и берется из кеша а надо оригинал из папки import_files -
Прошу помощи с увеличением изображения В файл /catalog/view/theme/default/template/produc/product.tpl внес изменения <?php echo $header; ?> <script type="text/javascript"> function onMoveImg(a){ if(a.pixelHeight==90){ function fun(){ if(a.pixelHeight<150){ a.pixelLeft-=2; a.pixelTop-=2; a.pixelWidth+=4; a.pixelHeight+=4; a.zIndex+=1; setTimeout(fun,20); } } fun(); } } function onOutImg(a){ function fun2(){ if(a.pixelHeight>90){ a.pixelLeft+=2; a.pixelTop+=2; a.pixelWidth-=4; a.pixelHeight-=4; a.zIndex-=1; setTimeout(fun2,10); } } fun2(); } </script> и теперь в этот кусок кода надо вставить чтобы при наведении увеличивалось изображение <div class="radio"> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" /> <?php if ($option_value['image']) { ?> <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail"/> <?php } ?> <?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> </div> получается что то типа <img src="<?php echo $option_value['image']; ?>" onMouseMove='onMoveImg(this.style);' onMouseOut='onOutImg(this.style);'> вместо <img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" class="img-thumbnail"/> кароче не работает