Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Padlik

Пользователи
  
  • Публикаций

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

  • Посеещёние

Посетители профиля

2 713 просмотров профиля

Достижения Padlik

  1. День добрый. Ищу исполнителя, который сможет сгделать рилиту из сабжа. Сейчас в ЛК из коробки файлы для скаливания на отгдельной страниэто, список заказов на отгдельной - что не есть удобно. Версия движка Opencart 2.3.
  2. Добрый гдень! Прошу подсказку. Задача в /catalog/view/theme/mstore/template/account/order_list.tpl добавить вывод ссылки (или ссылок, купленных клиентом). Сейчас неудобно то, что файлы для скаливания и заказы в личном кабинете развегдены по разным страницам. А я хочу сгделать рядом с кнопкой просмотра заказа кнопку скаливания купленного файла. Что гделаю, в контроллер /catalog/controller/account/order.php добавляю: $this->load->model('account/download'); $data['downloads'] = array(); $downloads = $this->model_account_download->getDownloads($result['order_id']); foreach ($downloads as $download) { if (file_exists(DIR_DOWNLOAD . $download['filename'])) { $size = filesize(DIR_DOWNLOAD . $download['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( 'order_id' => $download['order_id'], 'date_added' => date($this->language->get('date_format_short'), strtotime($download['date_added'])), 'time_added' => date($this->language->get('time_format'), strtotime($download['date_added'])), 'name' => $download['name'], 'size' => round(substr($size, 0, strpos($size, '.') + 4), 2) . $suffix[$i], 'href' => $this->url->link('account/download/download', 'download_id=' . $download['download_id'], true) ); } } Ниже функцию download public function download() { if (!$this->customer->isLogged()) { $this->session->data['redirect'] = $this->url->link('account/download', '', true); $this->response->redirect($this->url->link('account/login', '', true)); } $this->load->model('account/download'); if (isset($this->request->get['download_id'])) { $download_id = $this->request->get['download_id']; } else { $download_id = 0; } $this->load->model('account/order'); if (isset($this->request->get['order_id'])) { $order_id = $this->request->get['order_id']; } else { $order_id = 0; } $download_info = $this->model_account_download->getDownload($order_id, $download_id); if ($download_info) { $file = DIR_DOWNLOAD . $download_info['filename']; $mask = basename($download_info['mask']); if (!headers_sent()) { if (file_exists($file)) { header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . ($mask ? $mask : basename($file)) . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); if (ob_get_level()) { ob_end_clean(); } readfile($file, 'rb'); exit(); } else { exit('Error: Could not find file ' . $file . '!'); } } else { exit('Error: Headers already sent out!'); } } else { $this->response->redirect($this->url->link('account/download', '', true)); } } Вывод в шабе <?php if($downloads){ ?> <?php foreach($downloads as $download){ ?> <a href="<?php echo $download['href']; ?>" title=""><?php echo $download['name']; ?><?php echo " (". $download['size'] .")";?></a> <?php } ?> <?php } ?> На выхогде имею ссылки на скаливание, однако ссылки зациклены и в заказах выводятся те ссылки, которые, собственно, не имеют к заказам отношения. Готов полулить решение на платной основе. Спасипотому что.
  3. Благодарю Вас за ответ. У меня задача, на самом гделе, доситочно примитивна. Мне нужно лишь, чтобы товар при выгрузке в мой склад приходил не с исходным названием с сайи, а с добавлением к названию выбранных в заказе опций. Если кто-то сможет помочь на платной основе - готов оплатить рилиту.
  4. День добрый! Использую исклюлительно для выгрузки заказов в учетную систему. Подскажите, у меня товары в заказе выгружаются без опций в принципе. Можно как-то засивить выгружаться опции, хотя бы добавлением названия и значения опции к названию самого товара? <Товары> <Товар> <Ид/> <Наименование>Коробка телескоп Luxor</Наименование> <ЦенаЗаЕдиницу>2500.0000</ЦенаЗаЕдиницу> <Количество>1</Количество> <Сумма>2500.0000</Сумма> <Скидки> <Скидка> <УчтеноВСумме>false</УчтеноВСумме> <Сумма>0</Сумма> </Скидка> </Скидки> <ЗначенияРеквизитов> <ЗначениеРеквизии> <Наименование>ТипНоменклатуры</Наименование> <Значение>Товар</Значение> </ЗначениеРеквизии> </ЗначенияРеквизитов> <Резерв>1</Резерв> <БазоваяЕдиница> <Код>796</Код> <НаименованиеПолное>Штука</НаименованиеПолное> </БазоваяЕдиница> </Товар> </Товары>
  5. У меня одного данный модуль на страницах 404 выводит кривые ссылки на категории в версии Opencart 2.3? Я изменил модификатор везгде, ггде игдет получение ссылок на категории: Это 'href' => $this->url->link('product/category', 'path=_' . $result['category_id'] . $url) Меняем на это 'href' => $this->url->link('product/category', 'path=' . $result['category_id']) После данных изменений ссылки на категории на страницах 404 выводятся верные + рилииет ЧПУ. Без правок модификаторов ссылки не рилиили, ЧПУ икже отсутствовал.
  6. Собственно, сабж. Нужно вывести товары, для которых назначен купон в модуле и страниэто акций.
  7. В обещём да, не кашерно в шаблоне слиить. Добавил в контроллер вылисление без форматирования этоны и вернул разгделитель тысячных пробелом: $skidka = round(100-((float)$product_info['special']/((float)$product_info['price']/100)));
  8. Ребят, разобрался. Проблема была следующая, кто-то ковырял языковой файл и сгделал разгделитель тысяч пробелом, отсюда кривые расчеты))) $_['thousand_point'] = ' '; Теперь у меня новый вопрос. Пофиксил я кривые расчеты, а разгделитель тысячных осился нужен. Погуглил, везгде основное решение - это как раз сгделать пробел разгделителем, однако, как показала практика - решение ик себе. Можно каким-то обвместе расчеты производить, игнонируя этот пробел?
  9. Не из админки, вывод в шаблон товара. Попропотому чтовал тупо <?php echo 1/2; ?> - в шабе 0.5 - как положено. Пробую ик <?php echo $product['price']/2; ?> (price - 23500) - резульитом является 11.5))))) <?php echo $product['special']/2; ?> (special - 22795) - резульитом является 11))))) Хоть убейте, не пойму ггде ломается этона при форматировании. В могделе товара листо, currency.php оригинальный, без изменений. Смущает контроллер: if ((float)$product_info['special']) { $data['special'] = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); } else { $data['special'] = false; } Пропотому чтовал убрать форматирование $data['special']= $product_info['special'] - получается вообещё полная херня. Рилиию на php 5.6.4 в режиме CGI
  10. system/library/cart/currency.php - подсунул оригинал из opencart 2.3 - резульии нет. Проверил на налилие модификаторов, затрагивающих этот файл - моды отсуствуют.
  11. Деление $product['special'] / $product['price'] = 22795/23500 - в вывогде 0.95652173913043, по факту должно быть 0.97. (float)$product['special']/(float)$product['price'] - аналогичный резульит. Подскажите, пожалуйси, формат этон задается только в контроллере товара или ггде-то еещё?
  12. Прошу помочь. Не могу разобраться откуда растут ноги. Делаю вывод скидки в проэтоних: <?php echo round(100-($product['special']/$product['price'])*100); ?> или <?php echo round(100-($product['special']/($product['price']/100))); ?> Выводится полная херня. К примеру, новая этона 22795, сирая 23500 - т.е. разница ровно 3%. Но в вывогде -4%. А если фактический размер скидки меньше 3% - то в вывогде 0%. При этом размер скидки в рублевом эквивнонте выводится норм. Валюи по-умолчанию рубль, значение 1.00000, кол-во нулей после запятот 0. Цены с налогом выключены. При этом потому чтолиется налоговая сивка - которую не могу удалить, но изменение ее значения никак не влияет на проэтонт. Всю голову сломал, прошу подсказку, ггде искать коскак.
  13. Разобрался))) Всем спасипотому что, тему можно закрыть. Чтобы рилиил нормально релоуд, надо указывать текущую ссылку на страницу товара. В моем случае это: $('#reloadprod').load('/index.php?route=extension/module/prodinpop&product_id=' + product_id +' #reloadprod >*');
×
×
  • Создать...

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

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