Поиск сообщества

Показаны результаты для тегов 'opencart 2.0'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Основной
    • Новости и анонсы
    • Предложения и пожелания
    • Акции, подарки, конкурсы и награды
    • Правила общения на форуме Opencartforum
  • Для разработчиков
    • Общие вопросы
    • Нововведения на форуме
  • Opencart 3.x
    • Opencart 3.x: Общие вопросы
    • Opencart 3.x: Установка и обновление
    • Opencart 3.x: Локализация
    • Opencart 3.x: Настройка и оптимизация
    • Opencart 3.x: Песочница
    • Opencart 3.x: Поиск модулей
    • Opencart 3.x: Отчёты об ошибках
  • Opencart 2.x
    • Opencart 2.x: Общие вопросы
    • Opencart 2.x: Установка и обновление
    • Opencart 2.x: Локализация
    • Opencart 2.x: Настройка и оптимизация
    • Opencart 2.x: Песочница
    • Opencart 2.x: Поиск модулей
    • Opencart 2.x / ocStore 2.x: Отчёты об ошибках
  • Поддержка и ответы на вопросы
    • Общие вопросы
    • Установка, обновление, настройка
    • Шаблоны, дизайн и оформление магазина
    • Модули и дополнения
    • Помощь программистам и разработчикам
    • Мобильная витрина
    • Вопросы безопасности
    • SEO-вопросы (оптимизация и продвижение магазина)
    • Перевод
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Создание магазинов под ключ
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Обновление версии движка магазина
    • Наполнение магазина
    • Системное администрирование (настройка хостинга, серверов, ПО)
    • Другие услуги
    • Отзывы об исполнителях
    • Отзывы о заказчиках
  • Разное
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению
    • Группы

Категории

  • Шаблоны
    • Бесплатные шаблоны
    • Платные шаблоны
  • Модули
    • Платежные системы
    • Обмен данными
    • Доставки
    • Учет в заказе
    • Социальные сети
  • Лицензии
  • Языковые пакеты
  • Прочее
  • Отчеты
  • Сборки
  • Услуги

Категории

  • Настройка OpenCart
  • Служебные документы
  • Оплата

Категории

  • История версий

Блоги

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • {AP} Blog
  • AWS
  • Интернет магазин мобильной техники
  • Прожектор Бритни Спирс
  • помощь
  • авторизация по входящему звонку на ваш номер телефона
  • Несправедливость!!!!
  • Корзина без перезагрузки на opencart
  • Не отображается HTML-тег Title
  • Админка не работает

container

  • Support

Найдено: 61 результат

  1. Название: Выбор количества товара на любой странице Добавил: serega-lomik Добавлен: 22 янв. 2015 Категория: Модули Мод выводит на любую страницу сайта выбор количества товара. Отличия от аналогов: Контроль минимального количества товара для покупки. Контроль остатка товара на складе, при попытке добавить большее количество, чем есть на складе, всплывает окошко с предупреждением. Для товаров, у которых указано минимально разрешённое количество больше единицы при каждом клике по кнопке увеличения количества добавляется минимально разрешённое количество. Пример: минимальное кол-во 2, значит каждый клик будет увеличивать это количество на 2. Для товаров с нулевым количеством отключает кнопку купить и в окошке с количеством показывает цифру 0. В комплекте два файла: для Opencart/OcStore версий 1.5 и для OpenCart 2.0. Есть платная версия, добавлен ручной ввод количества, автопересчёт цены и многое другое. Весь код добавляется с помощью vQmod. Мод бесплатен, лицензия MIT Адаптация этого мода под шаблоны, отличные от стандартного - платная, от 200руб. Демо 1.5 (на этом демо Pro версия, https://opencartforum.com/files/file/2309-%D0%B2%D1%8B%D0%B1%D0%BE%D1%80-%D0%BA%D0%BE%D0%BB%D0%B8%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D0%BD%D0%B0-%D0%BB%D1%8E%D0%B1%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B5-%D1%81-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%B5%D0%BC/): 1.live-drive.ru Демо 2.0: oc2.oc-dev.ru Нажмите здесь, чтобы скачать файл
  2. Название: PopUp Image Options для Opencart и OcStore 2.* Добавил: serega-lomik Добавлен: 23 апр. 2015 Категория: Модули Метод активации: Без активацииIoncube Loader: Нет Модуль изменяет вид опций-картинок в карточке товара. Картинки заменяются на кнопку, при клике по которой открывается всплывающее окно со списком опций-картинок. Основные возможности модуля: Модуль полностью настраивается из админ части магазина Присутствует возможность выбора опций и категорий, для которых необходимо активировать модуль В настройках модуля вы можете включить замену главного изображения товара на изображение выбранной опции Возможность выбора ширины картинок опций во всплывающем окне Возможность выбора максимальной ширины самого окна с картинками опций В модуль встроен автопересчёт цены в зависимости от выбранных опций Тестировалось на OpenCart и OcStore версий с 2.0.* по 2.1.* Вид опций-картинок до установки модуля: Вид опций-картинок после установки модуля: Установка: распаковываем архив, содержимое папки upload загружаем в корень сайта, файл options_slider.ocmod.xml устанавливаем через "установку расширений" в админ. части магазина. Для тех, у кого настроен ФТП в амин части магазина достаточно просто загрузить весь архив через "установку расширений". После установки модуля не забываем перейти в раздел "Модификаторы", очистить там лог и нажать кнопку "Обновить" Так-же существует версия для OpenCart и OcStore версий 1.5 - https://opencartforum.com/files/file/2132-popup-image-options-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-%D0%BE%D0%BF%D1%86%D0%B8%D0%B9-%D0%B2%D0%BE-%D0%B2%D1%81%D0%BF%D0%BB%D1%8B%D0%B2-%D0%BE%D0%BA%D0%BD%D0%B5-vqmod/ Демо:http://oc2.oc-dev.ru/test Нажмите здесь, чтобы скачать файл
  3. Не знаю было или нет, но на всякий случаю выложу инструкцию для добавления H1 в категории и карточки товаров для OpenCart 2.0.x И так начнем. Пункт 1 Идем в phpMyAdmin, выбираем нашу базу и нажимаем кнопочку SQL. Делаем два sql запроса. ALTER TABLE `oc_category_description` ADD `meta_h1` VARCHAR( 255 ) NOT NULL; ALTER TABLE `oc_product_description` ADD `meta_h1` VARCHAR( 255 ) NOT NULL; Пункт 2 Открываем admin/controller/catalog/category.php Ищем строку $data['entry_meta_title'] = $this->language->get('entry_meta_title'); после нее вставляем $data['entry_meta_h1'] = $this->language->get('entry_meta_h1'); Открываем admin/controller/catalog/product.php Ищем строку $data['entry_meta_title'] = $this->language->get('entry_meta_title'); после нее вставляем $data['entry_meta_h1'] = $this->language->get('entry_meta_h1'); Пункт 3 Открываем admin/language/english/catalog/category.php Ищем строку $_['entry_meta_title'] = 'Meta Tag Title'; после нее вставляем $_['entry_meta_h1'] = 'HTML Tag H1'; Открываем admin/language/english/catalog/product.php Ищем строку $_['entry_meta_title'] = 'Meta Tag Title'; после нее вставляем $_['entry_meta_h1'] = 'HTML Tag H1'; Открываем admin/language/russian/catalog/category.php Ищем строку (тут зависит от вашего перевода, я например перевел как HTML-тег Title) $_['entry_meta_title'] = 'HTML-тег Title'; после нее вставляем $_['entry_meta_h1'] = 'HTML-тег H1'; Открываем admin/language/russian/catalog/product.php Ищем строку (тут зависит от вашего перевода, я например перевел как HTML-тег Title) $_['entry_meta_title'] = 'HTML-тег Title'; после нее вставляем $_['entry_meta_h1'] = 'HTML-тег H1'; Идем далее. Пункт 4 Открываем admin/model/catalog/category.php Ищем блок (приблизительно строка 14) foreach ($data['category_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Заменяем на foreach ($data['category_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Ищем еще один такой же блок (приблизительно строка 72) foreach ($data['category_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Заменяем на foreach ($data['category_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "category_description SET category_id = '" . (int)$category_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Ищем строку 'meta_title' => $result['meta_title'], После нее вставляем 'meta_h1' => $result['meta_h1'], Открываем admin/model/catalog/product.php Ищем блок (приблизительно строка 14) foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Заменяем на foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Ищем еще один такой же блок (приблизительно строка 139) foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Заменяем на foreach ($data['product_description'] as $language_id => $value) { $this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', description = '" . $this->db->escape($value['description']) . "', tag = '" . $this->db->escape($value['tag']) . "', meta_title = '" . $this->db->escape($value['meta_title']) . "', meta_h1 = '" . $this->db->escape($value['meta_h1']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', meta_keyword = '" . $this->db->escape($value['meta_keyword']) . "'"); } Ищем строку 'meta_title' => $result['meta_title'], После нее вставляем 'meta_h1' => $result['meta_h1'], Идем дальше Пункт 5 Открываем admin/view/template/catalog/category_form.tpl Ищем блок <div class="form-group required"> <label class="col-sm-2 control-label" for="input-meta-title<?php echo $language['language_id']; ?>"><?php echo $entry_meta_title; ?></label> <div class="col-sm-10"> <input type="text" name="category_description[<?php echo $language['language_id']; ?>][meta_title]" value="<?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['meta_title'] : ''; ?>" placeholder="<?php echo $entry_meta_title; ?>" id="input-meta-title<?php echo $language['language_id']; ?>" class="form-control" /> <?php if (isset($error_meta_title[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_meta_title[$language['language_id']]; ?></div> <?php } ?> </div> </div> После него вставляем <div class="form-group"> <label class="col-sm-2 control-label" for="input-meta-h1<?php echo $language['language_id']; ?>"><?php echo $entry_meta_h1; ?></label> <div class="col-sm-10"> <input type="text" name="category_description[<?php echo $language['language_id']; ?>][meta_h1]" value="<?php echo isset($category_description[$language['language_id']]) ? $category_description[$language['language_id']]['meta_h1'] : ''; ?>" placeholder="<?php echo $entry_meta_h1; ?>" id="input-meta-h1<?php echo $language['language_id']; ?>" class="form-control" /> </div> </div> Открываем admin/view/template/catalog/product_form.tpl Ищем блок <div class="form-group required"> <label class="col-sm-2 control-label" for="input-meta-title<?php echo $language['language_id']; ?>"><?php echo $entry_meta_title; ?></label> <div class="col-sm-10"> <input type="text" name="product_description[<?php echo $language['language_id']; ?>][meta_title]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['meta_title'] : ''; ?>" placeholder="<?php echo $entry_meta_title; ?>" id="input-meta-title<?php echo $language['language_id']; ?>" class="form-control" /> <?php if (isset($error_meta_title[$language['language_id']])) { ?> <div class="text-danger"><?php echo $error_meta_title[$language['language_id']]; ?></div> <?php } ?> </div> </div> После него вставляем <div class="form-group"> <label class="col-sm-2 control-label" for="input-meta-h1<?php echo $language['language_id']; ?>"><?php echo $entry_meta_h1; ?></label> <div class="col-sm-10"> <input type="text" name="product_description[<?php echo $language['language_id']; ?>][meta_h1]" value="<?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['meta_h1'] : ''; ?>" placeholder="<?php echo $entry_meta_h1; ?>" id="input-meta-h1<?php echo $language['language_id']; ?>" class="form-control" /> </div> </div> Осталось еще немного :) Пункт 6 Открываем catalog/controller/product/category.php Ищем строку $data['heading_title'] = $category_info['name']; Заменяем на if ($category_info['meta_h1']) { $data['heading_title'] = $category_info['meta_h1']; } else { $data['heading_title'] = $category_info['name']; } Открываем catalog/model/catalog/product.php Ищем строку 'meta_title' => $query->row['meta_title'], После него вставляем 'meta_h1' => $query->row['meta_h1'], Открываем catalog/controller/product/product.php Ищем строку $data['heading_title'] = $product_info['name']; Заменяем на if ($product_info['meta_h1']) { $data['heading_title'] = $product_info['meta_h1']; } else { $data['heading_title'] = $product_info['name']; } И последний необязательный Пункт 7 (так как возможно в вашем шаблоне уже прописан h1 в категориях) Идем в папку со своим шаблоном (я например зайду в дефолтный) Открываем catalog/view/theme/default/template/product/category.tpl Ищем строку <h2><?php echo $heading_title; ?></h2> Заменяем на <h1><?php echo $heading_title; ?></h1> На этом все :) Спасибо за внимание. ps. Если у кого-то, что-то не работает, просьба писать сюда (в тему). Будем разбираться вместе :)
  4. Название: ThemeGlobal Lite - OpenCart 2.0.x - 100% Бесплатный адаптивный шаблон Добавил: themeglobal Добавлен: 06 февр. 2015 Категория: Бесплатные шаблоны Неограниченный доступ ко всем нашим шаблонам всего за 49 долларов США. Доступ к более 30 профессиональным шаблонам для сайтов, цена за шаблон приблизительно 1.6 долларов США. Все шаблоны уже готовы к работе, Вам нужно только закачать их на хостинг сайтов в нужную папку. Возможности ThemeGlobal: • Tехническая поддержка. • Постоянное добавление новых, современных шаблонов. Присоединиться. Совместимость: OpenCart 2.0.2.0, 2.0.1.x, 2.0.0.0, 1.5.x Demo For OpenCart 2.0.x.x Demo For OpenCart 1.5.x Нажмите здесь, чтобы скачать файл
  5. Название: Модуль адаптивной Корзины "Evercart" +API "Новая Почта" Добавил: [/url] Добавлен: 29 авг. 2015 Категория: Прочее Работает на OpenCart: 2.0.0.0 / 2.0.1.0 / 2.0.1.1 / 2.0.2.0 / 2.0.3.1Работает на ocStore: Не совместим. Метод активации: Без активации Системные требования: OCMod Сайт разработчика: evergreens.com.ua Ioncube Loader: Нет Evercart v2.0+ GreenCart (EverCart) - упрощенный модуль корзины с оформлением заказа + обновление по API отделений Новая Почта Разработано: © 2015 Evergreen http://evergreens.com.ua Совместимость: OpenCart: 2.0.0.0 / 2.0.1.0 / 2.0.1.1 / 2.0.2.0 / 2.0.3.1 ocStore: теоретически должен работать на версиях 2.0.* (тестирования не было) Внимание: корректность работы модуля не гарантируется на версиях, которые не указаны выше. Тестировали в: Opera 12, FireFox, Chrome, IE 9 (версии ниже не поддерживаются), Safari Инструкция по установке (также находится в файле readme.txt, в архиве модуля): 1. Поместите файлы из директории upload на сервер 2. Перейдите в административный раздел сайта (Дополнения - Модули). Установите и настройте дополнение "Evercart" 3. Перейдите в раздел Дополнения - Установка дополнений. Загрузите файл evercart.ocmod.xml. 4. Перейдите в раздел Дополнения - Модификации и нажмите Обновить. 5. Также в комплекте присутствуют модифицированные системы доставки (Новая Почта и Курьерская доставка). Их можно установить также из раздела Дополнения - Доставка. Что модуль имеет: отображение сэкономленных средств; возможность добавления пользовательских полей ввода персональных данных (настраивается из админ панели магазина); динамический пересчет стоимости товаров в корзине; возможность вывода кастомных темплейтов модулей доставки; стилизированы некоторые элементы. + обновление по API отделений Новая Почта Особенности: Модули доставки «Новая Почта» и «Доставка Курьером». Особенность этих модулей заключается в возможности заполнения дополнительной информации для выбранной системы доставки и динамическом пересчете итоговой суммы. Корзина адаптивная, что позволяет ей отображаться корректно на разных устройствах. Демо корзины: Сайт: http://opencart2.dev.evergreens.com.ua/ Админ панель: http://opencart2.dev.evergreens.com.ua/admin/ логин: observer пароль: test Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит. Нажмите здесь, чтобы скачать файл
  6. Код вывода, создал опцию "Цвет" на основе опции "Radio", почему-то не передает данные в корзину. Если ставлю опцию обязательной, выскакивает ошибка, что цвет не выбран...но работает все нормально...радио выбирает. Подскажите, кто сталкивался <?php if ($option['type'] == 'radio') { ?> <div class="form-group<?php echo ($option['required'] ? ' required' : ''); ?>"> <div id="input-option<?php echo $option['product_option_id']; ?>"> <div class="radio-color"> <?php foreach ($option['product_option_value'] as $option_value) { ?> <label> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" hidden /> <?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 color-thumb"/> <?php } ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <?php } ?> </div> </div> </div> <?php } ?>
  7. Название: Замена символа рубля OCMOD Добавил: savage4pro Добавлен: 07 нояб. 2015 Категория: Прочее Работает на OpenCart: 2.0.x, 2.1.x, 2.2.x, 2.3.xРаботает на ocStore: 2.1.x, 2.3.x Работает на OpenCart.Pro, ocShop: 2.1.x, 2.3.x Метод активации: Без активации Сайт разработчика: http://crear.ru/ Ioncube Loader: Нет Мод заменяет знак валюты рубля на симпатичный почти уже стандартный символ (U+20BD), представленный в наборе глифов шрифта "Roboto" от Christian Robertson. Подходит для любого шаблона OpenCart версий 2.0.x, 2.1.x, 2.2.x, 2.3.x при отсутствии прямых модификаций ядра. Схема работы: добавляет в БД новую таблицу `oc_currency_modsymbols` с одной записью - для валюты с кодом RUB на этапе выборки данных о валютах оборачивает оригинальный символ в конструкцию для обработки подключаемыми при загрузке страницы стилями не ломает возможность менять оригинальный символ в админке, который будет показан при выводе шаблонов, в которых нет возможности подключать дополнительные стили (например, почтовые уведомления), пробелы до/после оригинального символа выносятся за пределы конструкции, т.е. сохраняются после установки можно вручную добавлять записи в таблицу `oc_currency_modsymbols` для форматирования символов валют по желанию (для включения в конечную строку стандартного значения, т.е. для автозамены, вместо него следует указать "_default_symbol_") мод можно безболезненно отключать/удалять, функциональность при этом вернется к стандартной Установка: Бекап! загрузить roboto-rouble-symbol-2.5.ocmod.zip через Extensions / Extension Installer обновить кэш модификаций на странице Extensions / Modifications обновить системный кэш Удаление: Бекап! удалить мод на странице Extensions / Modifications, там же обновить кэш модификаций обновить системный кэш вручную удалить из БД таблицу `oc_currency_modsymbols` вручную удалить файлы catalog/view/theme/default/stylesheet/roboto-forced.css и roboto-forced.min.css вручную удалить файлы catalog/view/theme/default/stylesheet/font/google/roboto-subset-latin-ext-*.* При обновлении с предыдущих версий рекомендется полное их удаление, но можно удалить сам модификатор и очистить системный кэш и кэш модификаций, данные БД перезапишутся на новые при повторной установке. В случае некорректного отображения блока с форматированной ценой (например, вылезающие закрывающие теги вида: руб." />") необходимо в шаблоне, где эта цена выводится, оборачивать её вывод в strip_tags(); С 2016-11-28 (v.2.5.1) в комплекте идет сабсет (latin-ext, webfont) шрифта Roboto для совместимости с браузерами, которые блокируют подгрузку внешних шрифтов (да, это про тебя, IE9, гори в аду!) Нажмите здесь, чтобы скачать файл
  8. Такой вопросик, у меня на некоторых страницах добавляется над хедером "q q....". Я нашел в чем проблема. В контроллере, где есть, что-то вроде: $this->document->addScript('catalog/view/javascript/jquery/datetimepicker/moment.js'); $this->document->addScript('catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.js'); $this->document->addStyle('catalog/view/javascript/jquery/datetimepicker/bootstrap-datetimepicker.min.css'); $this->document->addStyle('catalog/view/javascript/jquery/magnific/magnific-popup.css'); Вставляется как-то криво, часть добавляется не в head, а в body. Кто-то сталкивался, как это чудо исправить?)
  9. Просмотр файла FixFilter OC2x - исправление фильтра в Opencart 2.0 Вроде и версия Opencart получила дальнейшее развитие в виде ветки 2.x А детские болезни от предыдущей остались - в данном случае проблема со стандартным фильтром товаров при наличии нескольких групп фильтров. Патч решает проблему с фильтром в Opencart 2.0, меняя логику выбора групп фильтров. до патча: при фильтрации будут выбраны все товары, у которых совпадает ХОТЯ БЫ один параметр в фильтрах (без учета групп фильтров) после патча: при фильтрации будут выбраны только те товары, у которых совпадут ВСЕ отмеченные параметры в фильтрах (с учетом групп фильтров) Демо Админка пароль/логин: demo Патч является адаптацией для Opencart 2.x этого решения Актуален для ocStore / OCSHOP - Opencart.Pro / Opencart версий 2.0.0.0 - 2.3.0.2 Обратите внимание: Если уже установлен сторонний фильтр товаров, например filter pro - использовать патч нет смысла (да и не рекомендуется, во избежание проблем совместимости) Установка: зайти в Extensions->Extension Installer и загрузить файл fix_filter.ocmod.xml потом зайти в Modifications и обновить кэш модификаций Другие дополнения: ----------------------------- SearchOrder - быстрый просмотр и поиск по заказам AutoSearch 2x - предпросмотр результатов поиска OrderField - дополнительные поля в заказе, корзине и письме ExtendedSearch - настройка и управление поиском в Opencart Добавил AlexDW Добавлено 14.08.2015 Категория Прочее Системные требования Метод активации Ioncube Loader OpenCart ocStore OpenCart.Pro, ocShop  
  10. opencart 2.0 + 1c 8.2 УТ

    Ищу исполнителя Необходимо парсить сайт1 загружать товар в 1с и выгружать на сайт2. Более подробно в тз
  11. Название: Настраиваемый H1 для Opencart 2.0.x [OCmod] Добавил: Otvet Добавлен: 15 июня 2015 Категория: Прочее OCmod-Модификатор. Добавляет кастомные H1 для товаров, категорий и информационных страниц. Для работы модификатор сам создает поля в базе данных. Установка производится через стандартный инструмент: Дополнения - Установка дополнений. Выберите файл custom_h1.ocmod.zip Распаковывать архив не нужно. После установки не забудьте обновить кеш модификаций. Если на этапе Выполнение SQL! возникает ошибка, значит записи в бд присутствуют, установите custom_h1_no_sql.ocmod.zip Обратите так-же внимание на более важный модуль H1 для главной https://opencartforum.com/files/file/2672-seo-h1-%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%BE%D0%B2%D0%BE%D0%B5-%D0%BF%D1%80%D0%BE%D0%B4%D0%B2%D0%B8%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5/ Нажмите здесь, чтобы скачать файл
  12. Не всем нравится адаптивный дизайн в новом опенкарте. Уже было несколько просьб от клиентов его выпылить. Но сделать это не так просто, как кажется. Попытался сделать это, изменив исходники бутстрапа и вот что вышло. PS. Кому лень читать дальше код, могут сразу скачать скомпилированый код в конце поста. PPS Это мой первый опыт работы с LESS файлами, так что, если что не так, прошу понять и простить :-D Итак, берем исходники бутстрапа на http://getbootstrap.com/getting-started/#download, там же курим мануал, как поднять node.js, npm и grunt. Разворачиваем все это добро у себя. В исходниках видим такие файлы Сразу попытался выпилить все правила, которые генерят @media (max-width: xxx) и @media (mix-width: xxx) во всех этих файлах. Понял что это будет долго и ошибки потом будет сложно найти. Поэтому сделал так: Берем файл variables.less и меняем все значения разрешений экранов на нули, кроме самого большого (1200px) // Extra small screen / phone //** Deprecated `@screen-xs` as of v3.0.1 @screen-xs: 480px; //** Deprecated `@screen-xs-min` as of v3.2.0 @screen-xs-min: @screen-xs; //** Deprecated `@screen-phone` as of v3.0.1 @screen-phone: @screen-xs-min; // Small screen / tablet //** Deprecated `@screen-sm` as of v3.0.1 @screen-sm: 768px; @screen-sm-min: @screen-sm; //** Deprecated `@screen-tablet` as of v3.0.1 @screen-tablet: @screen-sm-min; // Medium screen / desktop //** Deprecated `@screen-md` as of v3.0.1 @screen-md: 992px; @screen-md-min: @screen-md; //** Deprecated `@screen-desktop` as of v3.0.1 @screen-desktop: @screen-md-min; // Large screen / wide desktop //** Deprecated `@screen-lg` as of v3.0.1 @screen-lg: 1200px; @screen-lg-min: @screen-lg; //** Deprecated `@screen-lg-desktop` as of v3.0.1 @screen-lg-desktop: @screen-lg-min; // So media queries don't overlap when required, provide a maximum @screen-xs-max: (@screen-sm-min - 1); @screen-sm-max: (@screen-md-min - 1); @screen-md-max: (@screen-lg-min - 1); //== Grid system // //## Define your custom responsive grid. //** Number of columns in the grid. @grid-columns: 12; //** Padding between columns. Gets divided in half for the left and right. @grid-gutter-width: 30px; // Navbar collapse //** Point at which the navbar becomes uncollapsed. @grid-float-breakpoint: @screen-sm-min; //** Point at which the navbar begins collapsing. @grid-float-breakpoint-max: (@grid-float-breakpoint - 1); на // Extra small screen / phone //** Deprecated `@screen-xs` as of v3.0.1 @screen-xs: 0; //** Deprecated `@screen-xs-min` as of v3.2.0 @screen-xs-min: @screen-xs; //** Deprecated `@screen-phone` as of v3.0.1 @screen-phone: @screen-xs-min; // Small screen / tablet //** Deprecated `@screen-sm` as of v3.0.1 @screen-sm: 0; @screen-sm-min: @screen-sm; //** Deprecated `@screen-tablet` as of v3.0.1 @screen-tablet: @screen-sm-min; // Medium screen / desktop //** Deprecated `@screen-md` as of v3.0.1 @screen-md: 0; @screen-md-min: @screen-md; //** Deprecated `@screen-desktop` as of v3.0.1 @screen-desktop: @screen-md-min; // Large screen / wide desktop //** Deprecated `@screen-lg` as of v3.0.1 @screen-lg: 1200px; @screen-lg-min: @screen-lg; //** Deprecated `@screen-lg-desktop` as of v3.0.1 @screen-lg-desktop: @screen-lg-min; // So media queries don't overlap when required, provide a maximum @screen-xs-max: 0; @screen-sm-max: 0; @screen-md-max: 0; //== Grid system // //## Define your custom responsive grid. //** Number of columns in the grid. @grid-columns: 12; //** Padding between columns. Gets divided in half for the left and right. @grid-gutter-width: 30px; // Navbar collapse //** Point at which the navbar becomes uncollapsed. @grid-float-breakpoint: 0; //** Point at which the navbar begins collapsing. @grid-float-breakpoint-max: 0; Дальее берем grid.less и пытаемся сделать так чтобы правила col-xs col-sm итд работали одинаково на любых разрешениях. Ниже всесь перписаный файл. // // Grid system // -------------------------------------------------- // Container widths // // Set the container width, and override it for fixed navbars in media queries. .container { .container-fixed(); width: @container-lg; } // Fluid container // // Utilizes the mixin meant for fixed width containers, but without any defined // width for fluid, full width layouts. .container-fluid { .container-fixed(); } // Row // // Rows contain and clear the floats of your columns. .row { .make-row(); } // Columns // // Common styles for small and large grid columns .make-grid-columns(); // Extra small grid // // Columns, offsets, pushes, and pulls for extra small devices like // smartphones. .make-grid(xs); .make-grid(sm); .make-grid(md); .make-grid(lg); // Small grid // // Columns, offsets, pushes, and pulls for the small device range, from phones // to tablets. //@media (min-width: @screen-sm-min) { // .make-grid(sm); //} // Medium grid // // Columns, offsets, pushes, and pulls for the desktop device range. //@media (min-width: @screen-md-min) { // .make-grid(md); //} // Large grid // // Columns, offsets, pushes, and pulls for the large desktop device range. //@media (min-width: @screen-lg-min) { // .make-grid(lg); //} И закоментим ненужное в bootstrap.less. /*! * Bootstrap v3.3.4 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ // Core variables and mixins @import "variables.less"; @import "mixins.less"; // Reset and dependencies @import "normalize.less"; @import "print.less"; @import "glyphicons.less"; // Core CSS @import "scaffolding.less"; @import "type.less"; @import "code.less"; @import "grid.less"; @import "tables.less"; @import "forms.less"; @import "buttons.less"; // Components @import "component-animations.less"; @import "dropdowns.less"; @import "button-groups.less"; @import "input-groups.less"; @import "navs.less"; @import "navbar.less"; @import "breadcrumbs.less"; @import "pagination.less"; @import "pager.less"; @import "labels.less"; @import "badges.less"; @import "jumbotron.less"; @import "thumbnails.less"; @import "alerts.less"; @import "progress-bars.less"; @import "media.less"; @import "list-group.less"; @import "panels.less"; @import "responsive-embed.less"; @import "wells.less"; @import "close.less"; // Components w/ JavaScript @import "modals.less"; @import "tooltip.less"; @import "popovers.less"; @import "carousel.less"; // Utility classes @import "utilities.less"; //@import "responsive-utilities.less"; Компилируем. Наш новый бутстрап появился в папке dist Все готово, ну почти )) Для дефолтного шаблона ок 2.0 нужно еще подправить стили в stylesheet.css. Теоретически, то же самое можно сделать для любых других шаблонов под бутстрап, если в них правила @media свалены все в один файл. Уберем ширину в 100% и пропишем минимальную ширину для body body { font-family: 'Open Sans', sans-serif; font-weight: 400; color: #666; font-size: 12px; line-height: 20px; min-width: 1170px; } теперь берем все правила @media (max-width: xxx) и @media (mix-width: xxx) и ставим там нули всесто значений, должно получится так @media (max-width: 0) и @media (mix-width: 0) Далее закоментим респонсив тег в header.tpl <?php /* <meta name="viewport" content="width=device-width, initial-scale=1"> */ ?> Все, теперь все. Глянуть можно здесь http://cart20.turbocart.pp.ua/ non-responsive bootstrap.zip
  13. Решил попробовать создать магазин на Opencart и начать сразу с ОС2.0 чтобы через пол годика не переходить с 1.5. на 2.0. 1. Самый главный косяк OC2.0 не поддерживает браузеры IE8, возможно и IE9. А это может быть очень большая часть наших клиентов. Может так процентов 25. 2. Не работает кнопка Upload в Extention Installer через Opera - необходимо использовать Мозилу или Хром 3. Далее при загрузке по ФТП (Мозила) появляется ошибка в том что путь не верный. Сам путь то поправить можно, но ошибка с разметкой кода По идее должно быть Warning Далее не знаю а стоит ли эксперементировать с ОС2.0 поскольку нет поддержки IE8 Кто знает? - решаема проблема? У форумчанина, которому никто не ответил была аналогичная проблема на ОС1.5 в IE9: https://opencartforum.com/topic/39101-отображение-в-internet-explorer-9/ Это что- глобальная проблема для IE?
  14. Здравствуйте. Скачал и установил модуль SeoPro как указано здесь. Все работает замечательно за исключением чпу для поиска. Вместо ожидаемого mysite.com/search?search=somekeyword так и осталась ссылка зубодробительного вида /index.php?route=product/search&search=somekeyword. Версия движка 2.0.1.1. Даже когда руками в адресной строке вбиваю mysite.com/search?search=somekeyword меня редиректит на mysite.com/index.php?route=product/search&search=somekeyword. Кэш чистил. Помогите пожалуйста решить данную проблему. Спасибо.
  15. Всем привет! Версия OC 2.0.1.1 На просторах интернета видел много разных модулей по упрощённой регистрации Simple, оформление в 1 шаг и т.д. , но они не очень подходят. Магазин сделан по продаже цифровых товаров ( ключей) и соответственно много блоков не нужно. Есть ли модуль в котором указывается только email в корзине товара и сразу переход к оплате. Либо посоветуйте что необходимо для этого исправить. Спасибо!
  16. Пытаюсь сделать импорт товаров из csv файла. Версия 2.1.0.2. По туториалу: http://code.tutsplus.com/tutorials/building-a-product-csv-import-tool-in-opencart-part-2--cms-24503 эта обучалка под версию 1.5, но я решил попытаться. код в контроллере ( /catalog/product.php): public function importCSV() { $data['error_csv'] = ''; if ($this->request->server['REQUEST_METHOD'] == 'POST'){ $file = $_FILES['csv']['tmp_name']; if (empty($file)) { $this->session->data['warning'] = 'CSV Not selected!'; } else { $f = fopen($file,"r"); while (($line = fgetcsv($f, 1000, ",")) !== FALSE) { if ($line[0]!='') // if column 1 is not empty { $this->model_catalog_product->importCsvData($line); // parse the data to model } else { $data['error_csv'] += 'error'; } } $this->session->data['success'] = 'CSV Successfully Imported!'; //success message } $this->response->redirect($this->url->link('catalog/product/importCSV', 'token=' . $this->session->data['token'], 'SSL')); } $this->document->setTitle('Import CSV'); $data['heading_title']="Import CSV"; // parsing up heading title $this->load->model('catalog/product'); // Loading the Model of Products $data['cancel'] = $this->url->link('catalog/product', 'token=' . $this->session->data['token'], 'SSL'); $data['action'] = $this->url->link('catalog/product/importCSV', 'token=' . $this->session->data['token'], 'SSL'); if (isset($this->session->data['warning'])) { $data['error_warning'] = $this->session->data['warning']; unset($this->session->data['warning']); } else { $data['error_warning'] = ''; } if (isset($this->session->data['success'])) { $data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $data['success'] = ''; } // Breadcrumbs start here $data['breadcrumbs'] = array(); $data['breadcrumbs'][] = array( 'text' => $this->language->get('text_home'), 'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], 'SSL') ); $data['breadcrumbs'][] = array( 'text' => 'Товары', 'href' => $this->url->link('catalog/product', 'token=' . $this->session->data['token'], 'SSL') ); $data['breadcrumbs'][] = array( 'text' => 'ImportCSV', 'href' => $this->url->link('catalog/product/ImportCSV', 'token=' . $this->session->data['token'], 'SSL') ); $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['footer'] = $this->load->controller('common/footer'); $this->response->setOutput($this->load->view('catalog/import_csv.tpl', $data)); } модель: public function importCsvData($data) { $product_id = $data[0]; $model = $data[1]; $name = $data[2]; $quantity = $data[3]; if($product_id!='') { $query = $this->db->query("UPDATE `".DB_PREFIX."product` SET model='".$model."',quantity='".(int)$quantity."' WHERE product_id='".$product_id."'");//updating product quantity & its model if($name) { $query = $this->db->query("UPDATE `".DB_PREFIX."product_description` SET name='".$this->db->escape($name)."' WHERE product_id='".$product_id."'"); // update the name of the product } } } Проблема в контроллере в строке $this->model_catalog_product->importCsvData($line); // parse the data to model функция в модели не вызывается, сайт возвращает 500 ошибку. У меня очень мало опыта в php, подскажите, возможно ли данный туториал адаптировать под 2.0?
  17. Проблема: теряются заказы пользователей, текущая корзина самописная и глючная, вместо нее нужно другую, желательно основанную на какой-то шаблонной, чтобы легче интегрировать со сторонними сервисами и вносить правки. Задача срочная, т.к. теряются заказы сайт: bambook-store.ru (Opencart Version 2.0.3.1) Установить и настроить модуль доставки (любой, какой порекомендуете). Как в итоге лучше сделать, обсуждаемо (Уж простите, что без конкретики, самостоятельно понять, какой модуль выбрать для меня правда сложно) Все возможные способы доставки: 1. Axiomus - пункты выдачи Мск, Спб ; курьеры Москва и Спб - интеграция не нужна, стоимость фиксированная 2. DPD - курьер по России - нужна интеграция (воспользоваться одним из платных модулей) - нужна стоимость доставки и сроки 3. Boxberry - пункты выдачи Россия, Москва, Спб (http://boxberry.ru/business_solutions/it_solutions/ - описание их решения.) - должна быть информация по стоимости, сроках доставки и как найти пункт выдачи Способы оплаты: Наличные при получении, Предоплата через сайт (Platron сейчас подключен) Подробно по городам: Москва 1. Курьер - В пределах МКАД (фикс цена) (поля: фио, телефон, email) - За пределы МКАД (цена в зависимости от удаленности от МКАД - по согласованию с менеджером) (поля: фио, телефон, email, адрес доставки) 1.1 срочный курьер в пределах МКАД (фикс цена) (поля: фио, телефон, email, адрес доставки) 2. Самовывоз - выбор из 11 пунктов выдачи в москве - с прописанными пояснениями, фикс цена (поля: фио, телефон, email) 3. Пункты выдачи Боксбери (желательно совместить с п.2 так ка человеку не важно от какой компании пункт выдачи) Санкт Петербург 1. Курьер (фикс цена) (поля: фио, телефон, email) 2. Самовывоз - выбор из пунктов выдачи в Санкт петербурге - с прописанными пояснениями, фикс цена 3. Пункты выдачи Боксбери (желательно совместить с п.2 так ка человеку не важно от какой компании пункт выдачи) Регионы РФ 1. Боксбери - пункты выдачи boxberry.ru (выбор из списка пунктов, их более 500) (http://boxberry.ru/business_solutions/it_solutions/ - описание их решения.) 2. Курьер DPD - (поля: фио, телефон, email, адрес доставки). Должен рассчитывать стоимость в зависимости от города. У DPD своего модуля нет, но можно купить сторонний и поставить Бесплатная доставка !! При сумме заказа от 6500р для Москвы и Спб доставка бесплатная (кроме срочной); для регионов бесплатная только при условии выбора "Боксбери" и способа оплаты: Предоплата
  18. Добрый день. Купил модуль Mega фильтр PRO для opencart 2.0.3. Установил. в админке все работает нормально. но после включения его на сайте - сам сайт просто перестает работать и отображает пустую страницу браузера при этом URL отображает правильный. Выключив модуль все начинает работать. Подскажите пожалуйста в чем может быть дело?
  19. Пытаюсь добавить новую переменную и вывести ее в шаблон. В контроллере (/admin/controller/catalog/product.php) добавил одну переменную в массив data, в самый конец функции getList(): ... $data['xyz'] = 'test'; $this->response->setOutput($this->load->view('catalog/product_list.tpl', $data)); } Во view (admin/view/template/catalog/product_list.tpl) для того чтобы посмотреть что получаю добавил следующее: <?php echo $header; ?><?php echo $column_left; ?> <div id="content"> <div class="page-header"> <div class="container-fluid"> <div class="pull-right"> <?php foreach( $data as $key => $value ){ if (is_string($value)) { echo $key."\t=>\t".$value; ?><br><?php } } ?> ... На страничке вижу среди прочего свой вывод, но переменной xyz там нет: Подскажите пожалуйста, почему переменная не передается? Версия 2.1.0.2
  20. Добрый день! Для чего нужен этот файл - crossdomain.xml? В корне последнего окстора лежал. Содержимое внутри: <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="*"/> </cross-domain-policy>
  21. OpenCart 2.0 - Available Now

    Пришло красивое письмо о первом публичном релизе новой версии (и о том, что 1.5.6 будет поддерживаться еще 6 месяцев). Свершилось? :)
  22. Здравствуйте, может кто подскажет в чем проблема.В категории товаров иногда в url появляется url статьи пример: мойсайт.ру/телефон/приветмир/ где привет мир это статья, а телефон категория телефонов, так вот страница категорий что со статьей в урл что без нее не меняеться. Короче вот пример с сайта http://vaperzone.ru/electro-sigaret/whatiselsigaret уберите с конца whatiselsigaret и ничего не измениться, whatiselsigaret - это урл статьи.Мне это не особо мешает, но хотелось бы узнать в чем проблема.
  23. Здравствуйте, у меня вопрос такой, на главной есть кнопка корзины,куда добовляеться товар, а если у товара есть опция, то пользователя попадает в карточку товара что бы выбрать опции, так вот как сделать что бы эти опции можно было выбирать в окне корзины на главйной странице($cart)? Пример:вот сайт , если попробуете купить товар Dandy Club(жидкость черная) то Вас перекинет в карточку.А мне хотелось что бы опции можно было выбирать не переходя в нее.
  24. Ребята подскажите пожалуйста Какие Должны Быть Права На Папки И Файлы Opencart 2.0