Поиск по сайту
Результаты поиска по тегам 'opencart 2.0'.
Найдено 54 результата
-
[Решено?..] Размер загружаемых изображений
legos опубликовал теме в Opencart 2.x: Настройка и оптимизация
Подскажите, как ограничить размер загружаемых изображений? Установлен ocStore-2.1.0.1.1 В Настройках магазина есть опция: Загрузки - Максимальный размер файла Так вот эта опция не работает - загружаются файлы любого размера и очень большие в том числе, после чего менеджер изображений перестает работать. Приходится потом вручную удалять огромные файлы с сервера. В предыдущих версиях, например, в 1.5.5.1, загружаемые изображения проверялись на соответствие размерам в модуле admin\controller\common\filemanager.php таким образом: if ($this->request->files['image']['size'] > 300000) { $json['error'] = $this->language->get('error_file_size'); } В установленном у меня ocStore-2.1.0.1.1 в модуле filemanager.php какая-либо проверка размера загружаемого изображения отсутствует. Я пробовал дописать туда вышеуказанную проверку, но безрезультатно. Прошу помочь в решении этой проблемы! -
Версия v2.0
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 Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на [email protected] Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит.8.00 USD- 1 отзыв
-
- корзина
- модуль корзины
- (и ещё 8)
-
Скачать / Купить дополнение Замена символа рубля OCMOD Мод заменяет знак валюты рубля на симпатичный почти уже стандартный символ (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, гори в аду!) Добавил savage4pro Добавлено 06.11.2015 Категория Прочее Системные требования Метод активации Ioncube Loader ocStore OpenCart.Pro, ocShop Обращение к серверу разработчика
-
Завантажити / Придбати розширення FixFilter OC2x - исправление фильтра в Opencart 2.0 Стандартный фильтр Opencart работает по принципу ИЛИ (OR) для разных групп при фильтрации. Данный патч решает проблему с фильтром, меняя логику выбора групп фильтров на И (AND) Актуален для ocStore / Opencart.PRO | CMS / Opencart версий 2000 - 303x Не меняет файлы движка и БД (работает через OCMOD) DEMO ADMIN до патча: при фильтрации будут выбраны все товары, у которых совпадает ХОТЯ БЫ один параметр в фильтрах (без учета групп фильтров) пример - все товары, где совпадают цвет или размер после патча: при фильтрации будут выбраны только те товары, у которых совпадут ВСЕ отмеченные параметры в фильтрах (с учетом групп фильтров) пример - только те товары, где совпадают и цвет, и размер Как настроить фильтр в Opencart Внимание! Патч предназначен только для стандартного фильтра Opencart При использовании отдельного модуля фильтра (Mega Filter, Filter Pro и др) необходимости в патче нет, его применение может привести к ошибкам Установка 2x: 1. Загрузить файл fix_filter.ocmod.xml в Extensions->Extension Installer (Дополнения > Установка дополнений) 2. Обновить кеш модификаторов в Extensions->Modifications (Дополнения > Менеджер дополнений) Установка 3x: 1. Загрузить архив fix_filter.ocmod.zip в Extensions->Extension Installer (Дополнения > Установка дополнений) 2. Обновить кеш модификаторов в Extensions->Modifications (Дополнения > Менеджер дополнений) Другие дополнения: -------------------------- SearchOrder 3х - просмотр, расширенный поиск и экспорт заказов AutoSearch 2x - поиск с выпадающим списком результатов OrderField - дополнительные поля в заказе, корзине и письме ExtendedSearch - настройка и управление поиском в Opencart Автор AlexDW долучення 14.08.15 Категорія Фильтры Системные требования Метод активации Без активации Ioncube Loader Нет ocStore 3.0 2.3.0.2.4 2.3 2.2 2.1 OpenCart.Pro, ocShop Opencart.pro 2.3 Opencart.pro 2.1 OcShop 2.0.3.х Звернення до сервера розробника Нет
- 27 ответов
-
- 2
-
- работа фильтра
- исправить фильтр
- (и ещё 9)
-
[Поддержка] Ease description - модуль упрощенного описания
Sunser опубликовал теме в Модули и дополнения
750 10 При купівлі доступ до оновлень протягом 6 місяців. Після закінчення основного періоду доступ до оновлень можна продовжити за 300.00 RUB на наступні 6 місяців При купівлі доступ до оновлень протягом 6 місяців. Після закінчення основного періоду доступ до оновлень можна продовжити за 4.00 USD на наступні 6 місяців Завантажити / Придбати розширення Ease description - модуль упрощенного описания Ease description - модуль упрощенного описания для Opencart и ocStore. Расширение подходит и тестировалось на версиях Opencart 2.0, 2.1, 2.2, 2.3 и 3.0 Так же подойдет для OpencartPro версии 2.1 и 2.3 Расширение подходит и тестировалось на версиях ocStore 2.1, 2.3 и 3.0 Расширение тестировалось на официальных версиях, скачанных из официальных сайтов сборок. Модуль тестировался по нескольких раз на всех выше указанных версиях. Так же модуль проверялся на ошибки. -- Установка расширения: Есть два способа установки: 1) Это просто откройте установщик расширений и выберите данное расширение под версию вашей сборки и установите, после чего обновите "Модификаторы", Потом перейдите в раздел Модулей и активируйте его, после чего настройте как вам необходимо. После настройки и сохранения модуля, перейдите в макеты или схемы и выберите место где вы хотите что бы модуль выводился и сохраните. После чего модуль появится на сайте; 2) Распакуйте файл с версией вашего Opencart или ocStore и перетащите в корень вашего сайта. После чего обновите "Модификаторы", потом перейдите в раздел Модулей и активируйте его, после чего настройте как вам необходимо. Модуль не заменяет никаких файлов. -- Что может модуль: 1) Модуль мультиязычный; 2) Модуль выводит любой текст и заголовок на сайте, который вы можете редактировать как вам будет удобно; 3) В модуле можно задавать ширину блока; 4) В блоке есть настройка, при которой блок скрывается, если его нет в поле видимости, типа lazyload; 5) В модуле можно выводить кнопку "показать еще"; 6) В модуле можно задавать скролл для текста 7) Так же можно задавать стили для кнопки "показать еще"; Зачем нужен этот модуль и как он работает? Модуль позволяет гибко, быстро и удобно настраивать вывод блоков с текстом на сайте. Например вам нужно на главной странице вывести блок с заголовком и текстом. С такой задачей может с легкостью справится модуль "Текстовый блок - HTML". Но а если вам нужно что бы на модуле была кнопка "загрузить еще", что бы при нажатии показывался весь текст. Или же вам надо что бы на модуле был скролл определенной высоты или задать ширину блока. То тогда нужно обращаться к программистам что бы дописывал функционал. А в данном модуле уже все сделано и займет немного времени в настройке и выводе. Модуль легкий в настройке. Модуль имеет 14 полей: 1) Название модуля - тут просто пишите название модуля, оно будет отображаться в админке вашего сайта; 2) Кнопка "Загрузить еще" - Она отвечает будет ли на блоке с текстом кнопка "показать еще"; 3) Высота блока для загрузить еще - отвечает за высоту блока, после которой появится кнопка "показать еще"; 4) Затухнение блока при кнопке "Загрузить еще" - отвечает за затухнение текста перед кнопкой "показать еще"; 5) Расположение кнопка "Загрузить еще" - отвечает за расположение кнопки "показать еще"; 6) Текст кнопки До нажатия - тут можно задать название кнопки "показать еще", по стандарту, если поле пустое, то выводится стандартный текст; 7) Текст кнопки После нажатия - тут можно задать название кнопки "скрыть", по стандарту, если поле пустое, то выводится стандартный текст; 8) Блок со скроллом - отвечает за то будет скрол на тексте или нет; 9) Высота блока для скролла - задается высота для блока со скроллом; 10) Умное появление - lazyload; 11) Ширина блока с описанием - тут задается ширина блока с текстом, если поле равно 0, то ширина блока равна 100%; 12) Статус - оно отвечает, будет работать модуль или нет на сайте. 13) Заголовок - тут задается заголовок; 14) Описание - тут задается описание Если вы заметите какие-то неполадки или у вас будет предложение по улучшению самого модуля, пишите в личное сообщения данного сервиса, после чего я вам обязательно отвечу. Будьте внимательные к описанию данного модуля, его характеристикам и скринам приложенным к нему перед приобретением модулям. Если же вам что-то не понятно или есть вопросы перед приобретением, можете написать автору модуля и уточнить свои вопросы к данному модулю Убедительная просьба, если вы заказываете дополнительные платные услуги по модулю, заранее согласуйте с автором, поскольку автор может быть занят или отсутствовать. Другие модули автора: Sunser Callback - форма обратной связи Sunser map - кастомная карта для сайта Content manager – модуль учета контента. Subscribe_pro - улучшенная подписка на новости Sitemap generator - генератор статической карты сайта Автор Sunser долучення 28.10.19 Категорія Модули Системные требования Метод активации Без активации Ioncube Loader Нет ocStore 3.0 2.3.0.2.4 2.3 2.1 OpenCart.Pro, ocShop Opencart.pro 2.3 Opencart.pro 2.1 Звернення до сервера розробника Нет- 1 ответ
-
- description
- ease description
- (и ещё 22)
-
Добрый день! Opencart 2.0.1.1. Установка локальная. Админпанель. Браузер Опера. В очередной раз меняя картинку баннера в слайдшоу, в панели "Менеджер изображений" появилось сообщение "Файл загружен! Не давать этой странице создавать дополнительные диалоговые окна!". Кнопка "закрыть" и место для галочки. После нажатия кнопки "Закрыть" это сообщение не пропадало. Тогда нажал на галочку и кнопку "закрыть" - это сообщение закрылось. Но после этого перестала срабатывать кнопка Загрузка файлов в менеджере изображений(Upload). Т.е. нажимаешь на эту кнопку и никакого эффекта. Начал работать в firefox. там эта кнопка нажимается нормально. Но в какой-то момент тоже выскочило точно такое окно "Файл загружен! Не давать этой странице создавать дополнительные диалоговые окна!". Здесь я уже был осторожен - закрыл браузер и потом снова перезашел на панель менеджера изображений - все нормально работает. Предполагаю, что если бы также нажал галочку, то загрузка и тут бы перестала работать. Все же в Опере пытался найти решение проблемы. Из копии первоначальной установки Opencart переписал папку Admin - не помогло. Т.е. вроде бы дело в опере..? Нашел в интернете демо opencart 2.0 - там тоже в админ панели эта кнопка не работает. Но кроме opencarta загрузка файлов вообще в опере работает нормально. Скачивается и музыка и pdf-файлы и т.д. И в почте (mail.ru) "прикрепить файл" работает.. Даже нашел демо opencart 1.5 - загрузка работает на ура. Помогите плиз решить эту проблему
- 10 ответов
-
- загрузка файлов
- opencart 2.0
- (и ещё 2)
-
Не знаю было или нет, но на всякий случаю выложу инструкцию для добавления 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. Если у кого-то, что-то не работает, просьба писать сюда (в тему). Будем разбираться вместе :)
-
Не всем нравится адаптивный дизайн в новом опенкарте. Уже было несколько просьб от клиентов его выпылить. Но сделать это не так просто, как кажется. Попытался сделать это, изменив исходники бутстрапа и вот что вышло. 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
- 6 ответов
-
- bootsrap
- non-responsive
- (и ещё 2)
-
Скачать / Купить дополнение Настраиваемый H1 для Opencart 2.0.x [OCmod] 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/ Добавил Otvet Добавлено 15.06.2015 Категория Прочее
-
Ошибка robots.txt , как выправить?
-
Не могу настроить ЧПУ , изменил файл на .htaccess. Нажал включить ЧПУ. Но не работает не главная , не категория , только товар и то один
-
Не происходит изменений сайта после изменения сss, js
klym133 опубликовал теме в Opencart 2.x: Песочница
Не происходит изменений сайта после изменения сss, js. Не могу редактировать сайт, меняю сss, js , а на сайте никаких изменений. Хотя редактирую ту же строчку онлайн и все нормально. Перехожу в файл (точно правильный) меняю а на сайте без изменений. -
Пришло красивое письмо о первом публичном релизе новой версии (и о том, что 1.5.6 будет поддерживаться еще 6 месяцев). Свершилось? :)
-
Доброго времени суток, появилась проблема после того как решил изменить фото товаров на обработанные, при заходе на главную пропали все картинки, в админке невозможно добавить фото к товару или любую картинку, кто может подсказать в какую сторону копать, erorr log изучал, там пусто, бекап сделал на даты когда все работало, но все равно ошибка осталась
-
Всем привет! Столкнулся с задачей в Opencart. Необходимо в маленькой карочке товара(та, которая отображается в категориях, поиске и проч) вывести значение опции размера товара. У некоторых товаров есть несколько вариантов размеров, у других - всего один. У остальных данной опции нет. В случае, когда у товара всего одна опция размера - выводим размер, в случае, когда несколько - "Размеры на выбор", когда нет размера - не выводим ничего. Через <?php var_dump($product['options']) ?> я вывел все элементы массива с опциями. array(2) { [0]=> array(7) { ["product_option_id"]=> string(4) "1504" ["product_option_value"]=> array(7) { [0]=> array(6) { ["product_option_value_id"]=> string(5) "17905" ["option_value_id"]=> string(3) "609" ["name"]=> string(10) "Белый" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [1]=> array(6) { ["product_option_value_id"]=> string(5) "17906" ["option_value_id"]=> string(3) "598" ["name"]=> string(14) "Бежевый" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [2]=> array(6) { ["product_option_value_id"]=> string(5) "17907" ["option_value_id"]=> string(3) "604" ["name"]=> string(12) "Лагуна" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [3]=> array(6) { ["product_option_value_id"]=> string(5) "17621" ["option_value_id"]=> string(3) "601" ["name"]=> string(20) "Фиолетовый" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [4]=> array(6) { ["product_option_value_id"]=> string(5) "17909" ["option_value_id"]=> string(3) "701" ["name"]=> string(14) "Розовый" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [5]=> array(6) { ["product_option_value_id"]=> string(5) "17910" ["option_value_id"]=> string(3) "700" ["name"]=> string(12) "Персик" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [6]=> array(6) { ["product_option_value_id"]=> string(5) "17911" ["option_value_id"]=> string(3) "702" ["name"]=> string(35) "Насыщенный розовый" ["image"]=> string(90) "inf-mebel.nichost.ru/image/cache/catalog/options/c..." ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } } ["option_id"]=> string(2) "20" ["name"]=> string(21) "Цвет обивки" ["type"]=> string(5) "image" ["value"]=> string(0) "" ["required"]=> string(1) "1" } [1]=> array(7) { ["product_option_id"]=> string(4) "1512" ["product_option_value"]=> array(3) { [0]=> array(6) { ["product_option_value_id"]=> string(5) "17786" ["option_value_id"]=> string(3) "680" ["name"]=> string(39) ""M 90/190" - 1045х2060х1045" ["image"]=> NULL ["price"]=> bool(false) ["price_prefix"]=> string(1) "+" } [1]=> array(6) { ["product_option_value_id"]=> string(5) "17787" ["option_value_id"]=> string(3) "681" ["name"]=> string(39) ""M 90/200" - 1045х2160х1045" ["image"]=> NULL ["price"]=> string(11) "3185.00 р." ["price_prefix"]=> string(1) "+" } [2]=> array(6) { ["product_option_value_id"]=> string(5) "17797" ["option_value_id"]=> string(3) "682" ["name"]=> string(36) ""M 120" - 1045х2160х1345" ["image"]=> NULL ["price"]=> string(12) "15720.00 р." ["price_prefix"]=> string(1) "+" } } ["option_id"]=> string(2) "17" ["name"]=> string(12) "Размер" ["type"]=> string(5) "radio" ["value"]=> string(0) "" ["required"]=> string(1) "1" } } Как мне получить доступ именно к той части массива, которая отвечает за размер, чтобы сделать через if else выборку по количеству этих размеров и по каждому случаю сформировать результат, а также получить значение самого размера? Спасибо!
- 1 ответ
-
- opencart 2.0
- опции
-
(и ещё 1)
Теги:
-
8 Скачать / Купить дополнение Модуль адаптивной Корзины "Evercart" +API "Новая Почта" 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 Если у вас возникли трудности по установке модуля на ваш нестандартный шаблон, то адаптация модуля выполняется не бесплатно. Для адаптации вам необходимо написать нам на [email protected] Информационный продукт, если не определен как продукт с бесплатным тестовым периодом, возврату и обмену не подлежит. Добавил Evergreens Добавлено 29.08.2015 Категория Прочее Системные требования OCMod Метод активации По запросу в ЛС Ioncube Loader Нет ocStore 2.2 2.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Да
- 30 ответов
-
- 1
-
- корзина
- модуль корзины
- (и ещё 8)
-
[Решено] Не добавляет опцию в корзину
siar2011 опубликовал теме в Помощь программистам и разработчикам
Код вывода, создал опцию "Цвет" на основе опции "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 } ?> -
Такой вопросик, у меня на некоторых страницах добавляется над хедером "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. Кто-то сталкивался, как это чудо исправить?)
-
Ищу исполнителя Необходимо парсить сайт1 загружать товар в 1с и выгружать на сайт2. Более подробно в тз
- 2 ответа
-
- opencart 2.0
- 1c 8.2 ут
-
(и ещё 1)
Теги:
-
Решил попробовать создать магазин на 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?
-
Здравствуйте. Скачал и установил модуль 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. Кэш чистил. Помогите пожалуйста решить данную проблему. Спасибо.
- 9 ответов
-
- seo_pro
- opencart 2.0
-
(и ещё 1)
Теги:
-
Всем привет! Версия OC 2.0.1.1 На просторах интернета видел много разных модулей по упрощённой регистрации Simple, оформление в 1 шаг и т.д. , но они не очень подходят. Магазин сделан по продаже цифровых товаров ( ключей) и соответственно много блоков не нужно. Есть ли модуль в котором указывается только email в корзине товара и сразу переход к оплате. Либо посоветуйте что необходимо для этого исправить. Спасибо!
-
Пытаюсь сделать импорт товаров из 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?
-
Проблема: теряются заказы пользователей, текущая корзина самописная и глючная, вместо нее нужно другую, желательно основанную на какой-то шаблонной, чтобы легче интегрировать со сторонними сервисами и вносить правки. Задача срочная, т.к. теряются заказы сайт: 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р для Москвы и Спб доставка бесплатная (кроме срочной); для регионов бесплатная только при условии выбора "Боксбери" и способа оплаты: Предоплата