Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

rdpv

Новичок
  
  • Публикаций

    42
  • Зарегистрирован

  • Посещение

Все публикации пользователя rdpv

  1. Вернул настройки 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. можно посмотреть на ваш вариант?
  2. в config.php переписал чтобы загружались сразу в /download
  3. Здравствуйте! 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 переписал путь
  4. При распечатке счета если есть опция файл имя файла воводит как - Изображение : 4ac3ab0abd375e8da7aa41288784704de5fe530a
  5. При распечатке счета если есть опция файл имя файла воводит как - Изображение : 4ac3ab0abd375e8da7aa41288784704de5fe530a
  6. Выяснил в чем беда была в контроллере подключил $this->load->model('product/compare'); все работало до авторизации. Переделывал кнопку в закладки косячнул.
  7. Доброго дня! Нарисовалась ошибка при регистрации нового пользователя либо авторизации на сайте включил логи вываливает кучу ошибок 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 подскажите пожалуйста кто может с этим помочь.
  8. Спасибо большое! Теперь все работает!
  9. if(!empty($option_width) && !empty($option_height)){ $price = (($option_width * $option_height)/100)*$price; } else { $price = $product_query->row['price']; } Условие не помогает
  10. Спасибо все получилось! Но пострадали товары у которых нет опций Ширина и Высота как проверить на наличие опций ширина и высота и если отсутствуют то ставить просто цену?
  11. Порыл в интеренете и нашел такой код 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
  12. Если делать через опции то тогда каким образом увеличить цену при опции "текстовое поле"? } 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 ставил "плюс", но она не добавляется к стоимости товара в корзине.
  13. Я понимаю что она подставляется всем товарам но не понимаю как ее указать конкретному товару.
  14. Версия 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']; } Цена в корзине меняется согласно расчетам но вот при добавлении другого товара в корзине цены всех товаров меняются на рассчитанную подскажите куда копать заранее благодарен.
  15. Ответ не требуется пришлось править модуль чтоб заработало
  16. Кто может подсказать как работает эта опция не до конца понимаю где указывать тип. Например: Опция - [материал] варианты: 1. Пластик 2. Дерево 3. Металл Мне в наименование дописывать (материал (radio) ) или как? Чтобы при обмене устанавливался каждой опции свой тип? дописал в наименование опции материал (radio) и нифига не работает
  17. Нет не плагин мне статичное надо выводить простой текст, немогу найти файл какой отвечает за вывод увеличенного изображения
  18. Подскажите как можно сделать под увеличенным фото товара краткое описание? ocStore 2.3
  19. Сделал удобнее вот только как брать изображение не из кеша а в оригинальном размере ну или увеличить само изображение в открывающемся окне <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
  20. Прошу помощи с увеличением изображения В файл /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"/> кароче не работает
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.