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

LuckyPerson

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

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

  • Посещение

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

  1. Это не про меня. У меня старая нокиа.
  2. Я создаю себе временные решения проблемы, возникшей сейчас!!! потому что у меня сейчас старая нокиа и microЮСБ. андестенд?
  3. ocStore 1.5.5.1.2 Хостер изменил php версию (7.1). Соответственно сразу возникли проблемы. С белым экраном справился. Изменил драйвер БД на mysqli, все заработало. Но появилась ошибка: PHP Unknown: Function mcrypt_create_iv() is deprecated in .../system/library/encryption.php on line 8 Начитавшись, понял, что функция mcrypt_create_iv в php 7.1 устарела. Вот оригинальный файл: Вопрос к спецам. Можно ли вот так его изменить? Точнее правильно ли это? Залил на хостинг, ошибка пропала. Спасибо.
  4. Спасибо. Объяснил! Все понятно.
  5. ocStore 1.5.5.1.2 После манипуляций, указанных ниже, <img> приобрели ссылку https, а <a> так и остались с http. Что делать? На ум приходит define('HTTP_SERVER', 'http://мойсайт.ру/') заменить на define('HTTP_SERVER', 'https://мойсайт.ру/')? Но тогда нет смысла включать Система -> Настройка -> Cервер -> Использовать SSL: Да Правильно мыслю? Вот что делал: /config.php // HTTP define('HTTP_SERVER', 'http://мойсайт.ру/'); // HTTPS define('HTTPS_SERVER', 'https://мойсайт.ру/'); // DIR ... /admin/config.php // HTTP define('HTTP_SERVER', 'http://мойсайт.ру/admin/'); define('HTTP_CATALOG', 'http://мойсайт.ру/'); // HTTPS define('HTTPS_SERVER', 'https://мойсайт.ру/admin/'); define('HTTPS_CATALOG', 'https://мойсайт.ру/'); // DIR Система -> Настройка -> Cервер -> Использовать SSL: Да
  6. LuckyPerson

    filter Pro [Поддержка]

    Не парадокс ли? Или я чего-то не понял?!! Для установки версии seo необходимо, чтобы на сервере был установлен ioncube loader. Но в то же время, фильтр не создает дубли, потому как реализован полностью на ajax, поисковые системы не видят фильтр. Зачем тогда Seo версия?
  7. ocStore 1.5.5.1.2 Когда в магазине огромное кол-во товаров, и к тому же однотипных, то ссылка на товар в письме просто необходима (имхо)! Без нее менеджеру требуется копировать название товара, потом искать его на сайте, чтобы увидеть все характеристики: опции, цены и так далее. Делаем ссылку на товар в письме: В файле: catalog/controller/module/catapulta.php после $product_info = $this->model_catalog_product->getProduct($product_id); добавляем $href = $this->url->link('product/product', 'product_id='.$product_id); В этом же файле после $email_text .= sprintf($this->language->get('text_product'), html_entity_decode($product_info['name']), ENT_QUOTES, 'UTF-8') . "\n"; добавляем $email_text .= sprintf($this->language->get('text_href'), html_entity_decode($href), ENT_QUOTES, 'UTF-8') . "\n"; В файле: catalog/language/russian/module/catapulta.php после $_['text_product'] = 'Товар: %s'; добавляем $_['text_href'] = 'Ссылка на товар: %s'; Теперь в письме передается еще и ссылка на товар.
  8. Подправьте регулярку у себя, так как из мыла будут удаляться некоторые символы и в базу будет писаться уже другой эл.адрес. Например, будет удаляться - (дефис) Ваш код: $email = preg_replace("/[^[email protected]]/i", "", $settings['email']);
  9. Похожий вопрос! ocStore 1.5.5.1.2 В файле catalog/language/russian/mail/order.php имеется: $_['text_update_subject'] = '%s - Заказ изменен %s'; $_['text_update_order'] = '№ заказа'; $_['text_update_date_added'] = 'Дата заказа:'; $_['text_update_order_status'] = 'Ваш Заказ обновлен со следующим статусом:'; $_['text_update_comment'] = 'Комментарий к Вашему заказу:'; $_['text_update_link'] = 'Для просмотра заказа перейдите по ссылке:'; $_['text_update_footer'] = 'Если у Вас есть какие-либо вопросы, ответьте на это сообщение.'; По названиям переменных логично предположить, что они используются при отправке письма после изменения заказа! Но, после изменения заказа (в админке) у меня письмо не отправляется, а покупатель в Личном Кабинете не может редактировать заказ, ведь так? Или я ошибаюсь? Где тогда используются эти переменные?
  10. Но остался вопрос: Как реализовать рабочий вариант, чтобы ссылка была такой? mysite.ru/order-info/?order_id=1 Здесь обратный вопрос
  11. Получилось смоделировать баг на чистом ocStore 1.5.5.1.2; ЧПУ включен; SeoPro. Кнопка "возврат товара" перекидывает на карточку товара только в том случае, если для этого товара указан SEO URL. Если это поле пустое, то после клика по кнопке "возврат товара" происходит открытие страницы формы с корректным заполнением данных из заказа. Без добавления keyword в таблицу oc_url_alias для index.php?route=account/order/info: C добавлением keyword в таблицу oc_url_alias: Если устраивает внешний вид ссылки mysite.ru/index.php?route=account/order/info&order_id=1 (так как в решении ниже игнорируется keyword добавленный в таблицу oc_url_alias), то решается это в файле catalog/controller/common/seo_pro.php /*добавляем строку*/ if(!in_array($route, array('product/search'))) { foreach($data as $key => $value) { switch($key) { case 'product_id': case 'manufacturer_id': case 'category_id': case 'information_id': /*добавляем строку*/ case 'order_id': $queries[] = $key . '=' . $value; unset($data[$key]); $postfix = 1; break; case 'path': $categories = explode('_', $value); foreach($categories as $category) { $queries[] = 'category_id=' . $category; } unset($data[$key]); break; default: break; } } /*добавляем строку*/ } или качаем обновленный файл seo_pro.php с репозитория (авторы Yesvik и freelancer)
  12. ocStore 1.5.5.1.2 После замены "стандартного" seo_pro.php (который идет в коробке ocstore 1.5.5.1.2), на seo_pro.php из репозитория, заметил, что ссылка mysite.ru/order-info/?order_id=1 отображается как mysite.ru/index.php?route=account/order/info&order_id=1 P. S. В таблицу oc_url_alias предварительно добавлен соответствующий keyword. Проделал на чистой версии, все повторилось. Вот одна из частей кода, которая отличается от "стандартного" файла (который идет в коробке ocstore 1.5.5.1.2). if(!in_array($route, array('product/search'))) { //добавлен в файле из репозитория foreach($data as $key => $value) { switch($key) { case 'product_id': case 'manufacturer_id': case 'category_id': case 'information_id': case 'order_id': //добавлен в файле из репозитория $queries[] = $key . '=' . $value; unset($data[$key]); $postfix = 1; break; case 'path': $categories = explode('_', $value); foreach($categories as $category) { $queries[] = 'category_id=' . $category; } unset($data[$key]); break; default: break; } } } //добавлен в файле из репозитория Пробовал эту часть кода оставлять от "стандартного" файла - отображается mysite.ru/order-info/?order_id=1, но тогда при клике на "Возврат товара" перекидывает в карточку товара, а не в соответствующую форму. Подскажите, как подправить, чтоб не сломать все остальное? Спасибо.
  13. mpn2005, спасибо. Плюсанул в репу.
  14. ocStore 1.5.5.1.2 Помогите вывести дополнительные поля в корзине. В таблице oc_product_option_value создал новые поля: optioncod и optionmodel. Выглядит так в админке: А так на сайте: Помогите реализовать вывод этих полей в корзине, чтоб было вот так: В файле: catalog/controller/checkout/cart.php есть код: foreach ($product['option'] as $option) { if ($option['type'] != 'file') { $value = $option['option_value']; } else { $filename = $this->encryption->decrypt($option['option_value']); $value = utf8_substr($filename, 0, utf8_strrpos($filename, '.')); } $option_data[] = array( 'name' => $option['name'], 'value' => (utf8_strlen($value) > 50 ? utf8_substr($value, 0, 50) . '..' : $value), ); } Нужно в переменную $value внести правки, чтоб получилось типа так, предварительно перебрав массив с опциями товара (мои предположения): $value = $option['option_value'] . значение optioncod . значение optionmodel ; Помогите внести правки!
  15. Решение: 1. в файле autocalc_price_option_v2.0.19.xml найти код: <?php if ($option_value['price_prefix'] == '*') { if ($option_value['price_value'] != 1.0) printf("(%+d%%)", round(($option_value['price_value'] * 100) - 100) ); } else { echo "(".$option_value['price_prefix'].$option_value['price'].")"; } ?> и заменить на: <?php if ($option_value['price_prefix'] == '*') { if ($option_value['price_value'] != 1.0) printf("(%+d%%)", round(($option_value['price_value'] * 100) - 100) ); } else if ($option_value['price_prefix'] == 'u') { echo "(+".$option_value['price'].")"; } else if ($option_value['price_prefix'] == 'd') { echo "(-".$option_value['price'].")"; } else { echo "(".$option_value['price_prefix'].$option_value['price'].")"; } ?> 2. в файле options_price_1_5_3_1-2_0_1_fixed.xml найти код: if ($option_value['price_prefix']=="u") { $price = $this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')) .'%'; $option_value['price_prefix'] = '+'; } elseif ($option_value['price_prefix']=="d") { $price = $this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')) .'%'; $option_value['price_prefix'] = '-'; } и заменить на: if ($option_value['price_prefix']=="u") { $price = $this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')) .'%'; /*если нужно оставить только 2 символа после точки, то предыдущую строку меняем на $price = substr(($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))),0,-2) .'%'; */ } elseif ($option_value['price_prefix']=="d") { $price = $this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax')) .'%'; /*если нужно оставить только 2 символа после точки, то предыдущую строку меняем на $price = substr(($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))),0,-2) .'%'; */ }
  16. ocStore 1.5.5.1.2 Тоже столкнулся, что проценты неправильно пересчитываются. В корзину добавляется корректное значение, а автообновление неправильно выводит. Всему виной атрибут price_prefix, который указан + или - (вместо u или d). - см. прикрепленное изображение. Соответственно выполняется первое или второе условие, вместо третьего:
  17. Да, так и делаю сейчас. Но столкнулся с неудобством, когда цена меняется часто. Приходится не только в опциях менять, но и основную цену править.
  18. ocStore 1.5.5.1.2 У меня цена формируется за счет опций, то есть основная цена установлена 0,00, а опция (radio) с префиксом =. Подскажите, как сделать, чтобы при первом посещении страницы товара, отображаемая цена была не 0,00, а подтягивалась минимальная цена опции radio, при этом radio не должен быть активирован по-умолчанию? После того, как пользователь выберет нужный вариант, главная цена изменяется на значение выбранной опции. Спасибо.
  19. Было бы здорово еще изображение добавить для ассоциации с файлом. Например, если загружен файл с расширением .pdf, .xls и т.д., то соответствующая иконка отображается. Для остальных какую-нибудь заглушку повесить.
  20. snastic, точно такая же проблема, но в ocStore 1.5.5.1.2, установлен Opencart Turbo. Advanced Cacher. Lite. v1.2 (взят отсюда: http://www.opencart.com/index.php?route=extension/extension/info&extension_id=15400). В меню главная категория (Каталог товаров) категории присваивается class="active", и потом для других категорий не присваивается этот класс. Как решить?
  21. 1. catalog/controller/affiliate/account.php после $this->data['text_transaction'] = $this->language->get('text_transaction'); добавить $this->data['text_logged'] = sprintf($this->language->get('text_logged'), $this->affiliate->getFirstName(), $this->url->link('affiliate/logout', '', 'SSL')); 2. catalog/language/russian/affiliate/account.php после // Text добавить $_['text_logged'] = '<b>%s</b>, Вы находитесь в Кабинете Партнера ( <a href="%s">Выйти</a> )'; 3. catalog/view/theme/ВАША-ТЕМА/template/affiliate после <h1><?php echo $heading_title; ?></h1> добавить <?php if ($logged) { ?> <p><?php echo $text_logged; ?></p> <?php } ?>
  22. LuckyPerson

    Условия возврата

    ocStore 1.5.5.1.2 Нужно в catalog/controller/account/return.php найти функцию insert: public function insert() { в ней найти строку: $this->document->setTitle($this->language->get('heading_title')); и после нее добавить: $this->document->addScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js'); $this->document->addStyle('catalog/view/javascript/jquery/colorbox/colorbox.css');
  23. Кроме того, дубли возможны в таких вариантах: mysite.com/статья1/категория1 Не найдено решение?
×
×
  • Создать...

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

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