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

Поиск по сайту

Результаты поиска по тегам 'ajax'.

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

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

Тип публикаций


Категории и разделы

  • Основной
    • Новости и анонсы
    • Предложения и пожелания
    • Акции, подарки, конкурсы и награды
  • Opencart 4.x
    • Opencart 4.x: Общие вопросы
    • Opencart 4.x: Установка и обновление
    • Opencart 4.x: Локализация
    • Opencart 4.x: Настройка и оптимизация
    • Opencart 4.x: Песочница
    • Opencart 4.x: Поиск модулей
    • Opencart 4.x: Отчёты об ошибках
  • 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-вопросы (оптимизация и продвижение магазина)
    • Контекстная реклама
    • Торговые площадки
    • E-commerce tracking и бизнес аналитика
    • Разное
  • Поддержка и ответы на вопросы
    • Общие вопросы
    • Установка, обновление, настройка
    • Шаблоны, дизайн и оформление магазина
    • Модули и дополнения
    • Помощь программистам и разработчикам
    • Мобильная витрина
    • Вопросы безопасности
    • Перевод
    • Отчёты об ошибках
    • Интернет-магазины и электронная коммерция
    • Песочница
  • Услуги
    • Создание магазинов под ключ
    • Дизайн, верстка и шаблоны
    • Программирование, создание модулей, изменение функциональности
    • Настройка и мелкая работа по уже существующему сайту
    • Обновление версии движка магазина
    • Наполнение магазина
    • Системное администрирование (настройка хостинга, серверов, ПО)
    • Другие услуги
  • Разное
    • Пользовательские обзоры дополнений
    • Примеры сайтов на OpenCart (ocStore)
    • Курилка
    • Предложения по улучшению

Категории

  • Шаблоны
    • Бесплатные шаблоны
    • Платные шаблоны
  • Фильтры
  • Цены, скидки, акции, подарки
  • Реклама и продвижение
  • Бонусы, купоны, программы лояльности
  • Блоги, новости, статьи
  • Покупки, оформление заказа, корзина
  • Опции
  • Атрибуты
  • Серии, Комплекты
  • Поиск
  • SEO, карта сайта, оптимизация
  • Кэширование, сжатие, ускорение
  • Платежные системы
  • Доставки
  • Редакторы
  • Меню, дизайн, внешний вид
  • Слайдшоу, баннеры, галереи
  • Письма, почта, рассылки, sms
  • Обратная связь, звонки
  • Обмен данными
  • Учет в заказе
  • Сравнения, закладки
  • Социальные сети
  • Парсеры
  • Модули
  • Инструменты, утилиты
  • Лицензии
  • Языковые пакеты
  • Прочее
  • Отчеты
  • Сборки
    • ocStore
  • Услуги
    • Графика и дизайн
    • Маркетинг

Категории

  • Служебные документы
  • Оплата
  • Документация Opencart

Категории

  • Общие вопросы
  • Покупка дополнений
  • Для разработчиков
  • Аккаунт
  • Техническая поддержка
  • Финансовый отдел

Блоги

  • Konorws (Разработка и модификация Opencart)
  • Блог mr.Kent)
  • Прожектор Бритни Спирс
  • Layk
  • Продвижение интернет-магазина, seo оптимизация
  • Записная книжка
  • Блог RGB
  • Модули которые сделают сайт лучше
  • Блог веб-студии NeoSeo
  • Useful IT
  • Записи
  • Найденные решения проблем с Opencart
  • ocdroid blog
  • Заметки на полях...
  • Pimur
  • Серж Ткач
  • О жизни, смерти, о бизнесе и Опенкарте
  • Просто мысли от laim731
  • Маркетинг и продвижение интернет-магазина
  • Мой копирайтинг
  • SEO боксинг специального назначения
  • Get-Web Dev
  • Seok
  • Блоги sitecreator-а
  • Best practice
  • Vlad-Egorov-Blog
  • Блог spectre
  • commanddotcom
  • Внимание мошенники
  • Наблюдения обычного человека
  • Блог Rassol2
  • Блог Exploits
  • блог для натуралов
  • Настюша, тут есть темы
  • Пропитано рекламой
  • Tutorial
  • ОтВинта
  • Tg chnls
  • Блог
  • Блог sv2109
  • КАК ОРГАНИЗОВАТЬ НОВОСТНЫЕ ПОДПИСКИ НА БАЗЕ API OPENCART 3/0/2
  • VDS/VPS, серверы под Linux: установка, настройка, оптимизация
  • IT блог
  • Блог
  • Opencart SEO
  • Путёвые заметки о работе магазина NiceBike на платформе OpenCart
  • Blondi Blog
  • Полезные статьи, новости.
  • Блог владельца магазина
  • Хостинг для OpenCart
  • разное
  • ПРОДАЖА АКАУНТОВ-binance ВЕРИФИЦИРОВАННЫe ЧИСТЫЕ УСПЕВАЙТЕ КУПИТЬ ПО НИЗКОЙ ЦЕНЕ
  • Диспансеризация
  • wozobat
  • quasarbyte
  • Мой блог
  • Igorych
  • aaaaa
  • 👌🔊Bellsouth CUSTOMER support number 1+(8O8)678=9O64-☎phone number
  • Liudmila marketer
  • Заметки реалиста

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

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

  • Начать

    Конец


Группа


Сайт


Skype


Город:


Интересы

  1. Версия 2.0.0

    Хотите чтобы пользователь находил товар, который ему понравится? Вы хотите увеличить конверсии на своем магазине? Обратите внимание на фильтр товаров, который поможет Вам отсортировать по всем опциям и характеристикам: по цене, по производителю, по брендам, а также по словам, введенным в строку поиска. Расширение “Ajax Filter with Seo Link (Ajax Фильтр с Seo страницами)” отслеживает действия пользователя и сразу же применяет их к сортировке, избавляя от необходимости нажимать кнопку “Поиск”. Расширение “Ajax Filter with Seo Link (Ajax Фильтр с Seo страницами)” позволяет легко фильтровать Ваши товары по категориям, атрибутам, ценам. Вы можете использовать фильтр без перезагрузки страницы. Это позволяет клиентам легко фильтровать и находить товары, используя несколько параметров выбора одновременно. Легко создавайте SEO-ссылки для запросов, которые интересуют ваших пользователей, путем написания заголовков, описаний и добавления уникальных текстов на эти образцы страниц, тем самым увеличивая индекс поисковых систем (Google, Yandex, Bing и т.д). Расширение “Ajax Filter with Seo Link (Ajax Фильтр с Seo страницами)” имеет широкий выбор графических настроек, что позволяет ему легко вписаться в стиль любого сайта. Самый простой и в то же время чрезвычайно эффективный поиск в реальном времени! Просто укажите диапазон цен, марку, тип, цвет и т.д., и круг поиска сузится у вас на глазах! В результате фильтр выберет всего несколько вариантов из множества продуктов, которые достойны вашего внимания. Особенности: Фильтр по цене, атрибутам, категории; Фильтр товаров через Ajax; Сохранение URL-адресов SEO; SEO заголовок, описание и заголовок с добавленными фильтрами; Широкий выбор графических настроек; Самая быстрая и удобная фильтрация; Расположение фильтра на странице по вашему выбору; Есть окно поиска.
    39.00 USD
  2. 35 Завантажити / Придбати розширення Ajax Live Search (Быстрый поиск товара) Вы задумывались над тем, что удобный поиск повышает конверсию Вашего магазина на 25-35%? Чем быстрей пользователь найдет то, что ищет, тем больше вероятность, что он останется на сайте и купит товар! Увеличивайте конверсии на сайте с помощью умного и быстрого поиска: Используйте подсказки, чтобы сделать поиск более точным Выберите поля, по которым хотите вести поиск (имя, описание, SKU, ISBN, MODEL, UPC, JAN, Meta tag, Attribute) Посмотрите историю поиска, для дальнейшей статистики и отслеживания переходов Настраиваете выводимые результаты поиска (заголовки, категории или отключите цену из выводимых параметров) С каждым новым запросом Ваш поиск будет становиться более точным Укажите количество выводимых товаров по запросу Укажите правила для отображения заголовков, картинок товара и показывайте или прячьте цену товара Подходит к любой теме используемой в вашем магазине Адаптивный на мобильных устройствах Автор kirians долучення 03.11.20 Категорія Поиск Системные требования Метод активации Автоматическая активация Ioncube Loader Нет ocStore 3.0 2.3.0.2.4 2.3 2.2 2.1 1.5.5.1.2 1.5.5.1.1 1.5.5.1 1.5.4.1.2 1.5.4.1.1 1.5.4.1 1.5.3.1 1.5.2.1 1.5.1.3 OpenCart.Pro, ocShop Не проверялось Звернення до сервера розробника Нет  
  3. Версия 3.3.0

    Вы задумывались над тем, что удобный поиск повышает конверсию Вашего магазина на 25-35%? Чем быстрей пользователь найдет то, что ищет, тем больше вероятность, что он останется на сайте и купит товар! Увеличивайте конверсии на сайте с помощью умного и быстрого поиска: Используйте подсказки, чтобы сделать поиск более точным Выберите поля, по которым хотите вести поиск (имя, описание, SKU, ISBN, MODEL, UPC, JAN, Meta tag, Attribute) Посмотрите историю поиска, для дальнейшей статистики и отслеживания переходов Настраиваете выводимые результаты поиска (заголовки, категории или отключите цену из выводимых параметров) С каждым новым запросом Ваш поиск будет становиться более точным Укажите количество выводимых товаров по запросу Укажите правила для отображения заголовков, картинок товара и показывайте или прячьте цену товара Подходит к любой теме используемой в вашем магазине Адаптивный на мобильных устройствах
    35.00 USD
  4. 40 Завантажити / Придбати розширення Буслік Кэш Full ИНФОРМАЦИЯ Название модуля: Буслік Кэш - "Buslik Cache" Версия модуля: 1.0 Тип лицензии: Full (полная версия) Тип установки: ocmod, event Язык: Беларуская мова, English language, Latviešu valoda, Lietuvių kalba, Język polski, Русский язык, Українська мова Дата создания: 16.05.2021 Был протестирован на: OpenCart.pro 2.1.0.2.2 и 2.3.0.2.6, OpenCart-"Русская сборка" 2.1.0.2 (rs1), 2.3.0.2 (rs6) и 3.0.2.0 (rs3), ocStore 2.1.0.2.1 и 2.3.0.2.3 - шаблон (default) Название архива: Buslik Cache v1.0 Full OpenCart 2.X-4.X.zip ОПИСАНИЕ Модуль предназначен для уменьшения нагрузки на вашу базу данных и поднятию оценки Google PageSpeed. Плюсы: - скорость работы (в основном, когда ещё не закэшировало страницу 50мс-100мс на OpenServer HDD php 5.4, а на php7+ 30мс-80мс, иногда фиксировалось 150, после кэширования css, js около 10мс, после кэширования страницы 2мс); - функциональность; - вы хозяин кэша (полный контроль); - открытый и минимальный исходный код; - подробная и понятная инструкция. Возможности по кэшу: - поддержка драйверов: APC(u), MemCache(d), Redis, File, Buslik или свой; - можно установить исключение по роуту страницы, или наоборот включить для определённых роутов (например, product/category), названий параметра (например, category_id=10) или keyword (например, category10). При включении определённых страниц можно задать индивидуальное время и разнообразить по config, session, cookie, $_POST, $_GET данным; - можно разнообразить кэш с помощью config, session, cookie данных состоящих даже из массивов; - можно ограничить кэширование страниц по параметрам $_POST, $_GET и размеру файлов, чтобы избежать заполнения дискового пространства сервера; - можно установить ограничение по размеру общего объёма кэша на дисковом пространстве сервера; - из настроек модуля можно чистить кэш: html, css, js, images, logs, pwa, обновлять модификаторы, чистить различные отчёты в БД (просмотры товара, активность пользователей, поисковые запросы, корзина пользователей, сессионные данные);- при редактировании товара, категории и т.д. полный кэш страниц тоже будет очищаться в соответствии id; - можно установить время кэша для страниц, контроллеров, моделей и стандартного кэша OpenCart; - можно кэшировать страницы в 2 прохода, сначала кэш моделей, потом всей страницы; - можно прегенерировать кэш массово согласно параметрам ограничений и другим настройкам под этот функционал. Возможности по Google PageSpeed: - можно установить исключение по роуту страницы, или наоборот включить для определённых роутов (например, product/category), названий параметра (например, category_id=10) или keyword (например, category10). - loading="lazy" изображений, фрейм окон, видео, аудио, html-код модулей; - можно указать атрибуты ширины и высоты для всех изображений; - можно сжать стили, скрипты и html страницу; - можно скачать сторонние стили и скрипты на свой сайт; - можно указать исключение из сжатия стилей и скриптов; - можно сделать замену данных для страниц, стилей, скриптов; - можно указать свои атрибуты для стилей и скриптов; - можно предзагружать шрифты, изображения, видео файлы, стили, скрипты; - можно установить инлайн стили и скрипты вверху, внизу, в отдельном файле, отложить загрузку по событию и таймеру; - можно указать свои стили и скрипты; - можно включить генерацию webp изображений в двух направлениях (png/jpg/gif в webp и обратно); - можно собирать и настраивать критические стили; - не ломает валидацию html-кода. Другие возможности: - дебаг режим показывает скорость кэширования контроллеров, моделей, страниц, библиотеки модуля, сжатия стилей, скриптов и страниц, и др; - логирование медленных запросов; - экспорт настроек из других модулей кэша. ВНИМАНИЕ! Оригинальные файлы магазина не заменяет! Исходный код открыт. Все настройки имеют подробное описание. Автор всегда на связи, когда онлайн. УСЛОВИЯ СОГЛАШЕНИЯ - Beta и Lite версии устанавливаете на свой страх и риск - бэкап базы данных (далее - БД) обязателен; - Модуль (модификатор, дополнение, расширение, приложение) (далее - Модуль) можно устанавливать на 1 домен включая поддомены (одна покупка - один домен); - Редактировать код можно только под нужды своего магазина; - Распространение модуля запрещено; - Техническая поддержка (далее - ТП) осуществляется только при появлении ошибки, бага, глюка (зависания) и не совместимости модуля с заявленными версиями Opencart и шаблонов на момент продажи, при установке на боевой сайт (рабочий хостинг); - Адаптация модуля под другую версию Опенкарта, нестандартный шаблон и сторонние модули - платная; - Автор модуля оставляет за собой право в любое время внести изменение в настоящее условие, описание и исходный код модуля; - Автор модуля оставляет за собой право прекратить ТП пользователям по истечению 365 календарных дней со дня последнего обновления модуля (Full или Beta версии), или со дня окончания продления ТП, или при форс-мажорных обстоятельств; - Автор не несёт ответственности за потерю или находку дохода пользователя из-за работы модуля; - ТП осуществляется при условии соблюдения данного соглашения, пишите в личные сообщения. Для тех кто выбирает опцию неограниченные домены - вам нужно заменить в модификаторах ссылку моего профиля на ваш. Автор buslikdrev долучення 21.05.21 Категорія Кэширование, сжатие, ускорение Системные требования php5.4+ Метод активации Автоматическая активация 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.х Звернення до сервера розробника Нет Да  
  5. 9 Завантажити / Придбати розширення Attribute Manager - управление атрибутами Attribute Manager облегчает работу с атрибутами (характеристиками), добавляя поиск, фильтры и возможность быстрого редактирования прямо в списке. Модуль состоит из двух частей, соответственно для работы с атрибутами и группами атрибутов. DEMO 3x DEMO 2x Особенности: - поиск атрибутов и их групп по названию (или части названия) с возможностью сортировки - мультиязычные списки атрибутов и их групп с показом названий / значений для каждого языка - поиск атрибутов по наличию или отсутствию значений - поиск групп атрибутов по наличию или отсутствию атрибутов - быстрое редактирование данных прямо в списке (через ajax) доступно изменение названия, существующих значений и порядка сортировки - показ, поиск и сортировка по ID атрибута или его группы - групповая обработка существующих значений атрибутов ** для приведения значений атрибутов к единому стандарту и исключения лексических дублей - возможность объединения значений атрибутов, самих атрибутов и их групп - возможность принудительного удаления атрибутов и их групп, с автоматическим их удалением из привязанных товаров (стандартно движок не даст удалить атрибуты и их группы если они не пустые/используются в товарах) - совместим с ocStore / OCSHOP (Opencart.PRO|CMS) / Opencart версий 201x - 303x - стандартные списки атрибутов и групп атрибутов по-прежнему доступны - не меняет файлы движка, все изменения через OCMOD - не создает дополнительных полей и таблиц в БД ** Обратите внимание, модуль не создает новые значения атрибутов, а лишь редактирует существующие Системные требования: PHP 5.3 или выше; CURL; являются базовыми требованиями для работы Opencart 2x расширение mbstring библиотека для работы с многобайтовыми кодировками, обычно подключается в панели управления хостингом (как правило уже подключена по умолчанию) проверить соответствие настроек можно здесь Установка 2x: 1. Загрузить архив ocmod.zip из папки для вашей версии движка в Дополнения > Установщик дополнений * 2. Обновить кеш модификаторов в Дополнения > Модификаторы (Менеджер дополнений) 3. Установить модуль Attribute Manager в Дополнения > Модули 4. Настроить модуль, ввести ключ лицензии и сохранить настройки 5. Использовать Catalog > Attribute Manager для работы Не забудьте обновить кэш модификаций после установки! * Если у вас не настроен FTP для загрузки архивов ocmod.zip в Установщике дополнений - используйте этот патч (подробнее здесь) Установка 3x: 1. Загрузить архив attribute-manager-3x.ocmod.zip в Extensions > Installer 2. Обновить кеш модификаторов в Extensions > Modifications 3. Обновить кеш шаблона (theme cache) в Dashboard > Developer Settings 4. Установить модуль Attribute Manager в Extensions > Modules 5. Настроить модуль, ввести ключ лицензии и сохранить настройки 6. Использовать Catalog > Attribute Manager для работы Условия использования: Модуль распространяется по принципу 1 покупка = 1 домен и его поддомены Для использования модуля на другом домене нужно приобрести еще одну копию модуля Запрещается несанкционированное использование, копирование, перепродажа, передача модуля третьим лицам, а также иные способы распространения, в том числе в ознакомительных целях. В целях защиты дополнения от нелегального использования часть управляющих файлов модуля обфусцирована(закодирована), при этом контроллер, модель и шаблон имеют открытый код. Автор гарантирует отсутствие вредоносного кода, бекдоров и сбора какой-либо информации в закодированных частях модуля. Лицензия: Для работы модуля на внешнем сервере требуется код активации (лицензия) (не требует активации на локальном сервере при использовании ip 127.0.0.1) Для получения кода отправьте запрос автору в ЛС с использованием учетной записи на которую производилась покупка модуля, указав номер покупки и скопировав данные о сервере/хосте из настроек модуля. Лицензия выдается с привязкой к домену из расчета "одна покупка = один домен". Лицензия бессрочна, без ограничений по времени, действует на основной домен и его поддомены. Также предусмотрена возможность переноса лицензии на новый домен в случае переезда/смены доменного имени. При смене лицензии будет выслан новый ключ, старый ключ аннулируется (становится недействительным) Для смены лицензии отправьте запрос о переносе автору в ЛС с использованием учетной записи на которую производилась покупка модуля, указав номер покупки и скопировав данные о сервере/хосте из настроек модуля со старого домена и аналогичные данные нового домена, на который будет осуществлен перенос. Максимальное время получения ключа не превышает 36 часов с момента запроса обычно ключ выдается значительно раньше Другие дополнения: ----------------------------- Category Manager - удобный поиск, просмотр и редактирование категорий InvoicePlus PDF - заказ / счет / товарный чек в PDF BrandManager - управление производителями AO Tooltips - стильные подсказки для характеристик и опций Автор AlexDW долучення 13.09.21 Категорія Модули Системные требования PHP 5.3 или выше; CURL; mbstring Метод активации По запросу в ЛС 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.х Звернення до сервера розробника Да
  6. Нужно вывести с настроек опцию "Заказ при нехватке на складе" в шапку админ панели и сделать её ajax, чтобы при клике сразу сохранялась. Предложения в личку.
  7. Как передать POST параметр через ajax в файл controller модуля OpenCart ? Есть модуль "latest" Файл контроллера latest.php, нужно передать туда параметр width через Ajax/Jquery Как обратится к этому файлу? Как работать с Ajax знаю, как параметры передать знаю, как принять знаю, но как обратится к нужному файлу в OpenCart? При попытках обращения по "url:' скрипт выдает ошибку "404 (not found)" Пробовал вот так: url: 'index.php?route=extension/module/latest', url: 'index.php?route=module/latest', url: '/catalog/controller/extension/module/latest', Если перейти на прямую по ссылки: "/catalog/controller/extension/module/latest.php" выдает ошибку HTTP ERROR 500
  8. Здравствуйте. Не могу самостоятельно решить следующий вопрос. Добавил в корзину кнопки плюс\минус для изменения количества продукта в корзине. Но как коректно подключить Ajax запросы для обновления не могу понять. <button type="button" class="minus">-</button> <input type="text" name="quantity[{{ product.cart_id }}]" value="{{ product.quantity }}" size="1" class="form-control cart-q" id="score"/> $('.minus').click(function () { var $input = $(this).parent().find('#score'); var count = parseInt($input.val()) - 1; count = count < 1 ? 1 : count; $input.val(count); $input.change(); return false; setTimeout(function () { $.ajax({ type: 'post', url: 'index.php?route=checkout/cart/edit', data: 'key=' + $input.name() + '&quantity=' + $input.val(), dataType: 'json', success: function () { $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }); }, 100); Что передать в data для обновления состояния корзины? В правильном ли направлении двигаюсь?
  9. Ищу модуль как на картинке. Нужно лазить по пунктам меню без перезагрузки, при провале в подкатегорию чтобы была кнопка назад и оставалась ссылка на верхнюю категорию. НО в чем проблема: старая версия osStore 1.5.5.1.2 , PHP сейчас 5.6, в ближайшие пару месяцев перейдем на 7+ . Можете посоветовать модуль?
  10. Хочу сделать сайт на OcStore 3.0.2 есть проблема с SEO PRO переадресация ajax запроса Что посоветуете? Как отключить переадресацию ajax?
  11. Всем привет. Посоветуйте фильтр товаров который можно вывести на главную страницу? желательно ajax и с отображением результатов на главной странице, что-то типо такого: http://prntscr.com/msbw0v либо может есть примеры кода или старых версий для решения подобной задачи
  12. Привет! Стоит задача показывать корзину в шапке, если товар добавлен в нее или скрывать, если она пустая. Добавление класса к #cart после php-проверки не вариант, т.к. надо корзину показывать сразу после первого клика на кнопку Купить. Единственный правильный способ - дописать ajax, который добавляет товар в корзину, а именно в cart.tpl. Я пробовал добавить в common.js в функцию 'add': function(product_id, quantity) { после success: function(json) { команду $('#cart').addClass('block'); но она не срабатывает. Что я делаю не так?
  13. Приветствую форумчане. Такая проблема, пытаюсь выполнить ajax запрос, суть которого отправить некоторые данные с домена: a.com на b.com и соответственно получить ответ от b.com с целью дальнейшей его обработки в скрипте на a.com Оба домена находятся на OpenServer на локальной машине, то есть у меня есть контроль над http://b.com/ и я могу прописать в php файле необходимые настройки. Однако при попытке выполнить ajax запрос получаю ошибку: jquery-3.6.0.min.js:2 Cross-Origin Read Blocking (CORB) blocked cross-origin response http://b.com/?callback=jQuery360001053556176974424_1630579545897&_=1630579545898 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details. Аналогичную ситуацию имею на хостинге уже на реальных доменах. При этом данные c a.com на b.com в php скрипт все же попадают, однако, мне не удается добиться чтения ответа на домене a.com. Что характерно в сети есть по меньшей мере один домен с которого таки удается получить данные таким способом. Если вместо b.com подставить страницу: https://jsonplaceholder.typicode.com/todos/1 то в этом случае получаю ответ: {userId: 1, id: 1, title: "delectus aut autem", completed: false} Однако же добиться аналогичного эффекта на домене под собственным контролем я не могу. Пробовал в js указывать crossDomain: true, на стороне php пробовал указывать различные заголовки по типу: header('content-type: application/json'); и тому подобное... пробовал даже скопировать из браузера заголовки которые отдает сайт https://jsonplaceholder.typicode.com/todos/1 и подставить их в php файл через тот же header() однако ничего не выходит. Подскажите куда копать? Вопрос вроде плевый, но сколько не пытаюсь ничего не получается. Ниже код js: <script> //Первый вариант на jQuery: $(document).ready(function(){ $.ajax({ url: "http://b.com", crossDomain: true, dataType: "jsonp", success: function( response ) { console.log(response); } }); }); </script> <script> //Второй вариант на чистом js: function receiver(data){ console.log(data); } </script> <script src="http://b.com/?callback=receiver"></script> код php: <?php header('content-type: application/json'); header('Access-Control-Allow-Origin: http://a.com'); header('Access-Control-Allow-Methods: GET, POST, PUT, DELETE'); echo '{"foo":"bar"}'; ?>
  14. Нужно целые модули Journal2 на Главной загружать через Ajax после того как страница загрузилась. Но не могу подобрать корректный URL для запроса. Есть модули типа: journal2_custom_section с module_id=338 (выводит товары одной из категорий) Пробуем для ocStore 2.1.0.2.1 $('.ajaxcontent').load('/index.php?route=module/journal2_custom_sections&module_id=338'); Но это явно не тот url. Ведь там есть и module_settings. И вообще не знаю или это возможно. В контроллере модуля в разделе public function index есть такое: /* get module data from db */ $module_data = $this->model_journal2_module->getModule($setting['module_id']); if (!$module_data || !isset($module_data['module_data']) || !$module_data['module_data']) return; $module_data = $module_data['module_data']; может нужно как-то использовать этот module_data с настройками модуля. Может есть кто желающий за денежное вознаграждение сделать такое?
  15. В wishlist удаление товара из закладок реализовано ссылкой, вот так - имя_сайта/index.php?route=account/wishlist&remove=57 Таки способом удаление происходить с перезагрузкой страницы. Как это реализовать с помощью аджакса? Я так понимаю, что нужно сделать по принципу как у корзины, где есть onclick=cart.remove('6');" Подскажите пожалуйста как это реализовать?
  16. Добрый день. Имеется сайт на opencart 3.0.3.1, на котором работает ajax подгрузка товаров в категории https://molli.com.ua/elektronika/gps-navigatory/ На данный момент пытаюсь настроить правильно google remarketing. Столкнулся с такой проблемой, что модификатор, который я использую, не подгружает ID товаров в категории при переходе на страницу 2 и тд. На шаблонах без ajax работает правильно, при переходе на вторую страницу id товаров изменяются. Cам код remarketing выглядит следующим образом: <script type="text/javascript"> gtag("event", "view_item_list", { 'send_to': "AW-TEST", 'items': [{ 'id': ["94","107","72","101","114","95","108","73","102","115","96","109","74","103","42"], 'google_business_vertical': "retail" }] }); </script> Часть модификатора, отвечающая за вывод правильного кода remarketing в категории: <file path="catalog/controller/product/category.php"> <operation error="skip"> <search><![CDATA[$results = $this->model_catalog_product->getProducts($filter_data);]]></search> <add position="after"> <![CDATA[ $data['remarketing_ids'] = array(); ]]> </add> </operation> <operation error="skip"> <search><![CDATA[$data['products'][] = array(]]></search> <add position="before"> <![CDATA[ $data['remarketing_ids'][] = $result['product_id']; ]]> </add> </operation> <operation error="skip"> <search><![CDATA[$data['pagination'] = $pagination->render();]]></search> <add position="after"> <![CDATA[ $data['dynx_pagetype'] = 'view_item_list'; $data['remarketing_code'] = ''; if (count($data['remarketing_ids']) > 1){ $dynx_itemid = '["' . implode('","', $data['remarketing_ids']) . '"]'; } elseif (!empty( $data['remarketing_ids'])) { $dynx_itemid = '"' . $data['remarketing_ids'][0] . '"'; } else { $dynx_itemid = ''; } if ($data['dynx_pagetype']) { $data['remarketing_code'] .= '<script type="text/javascript">'."\n"; $data['remarketing_code'] .= 'gtag("event", "' . $data['dynx_pagetype'] . '", {'."\n"; $data['remarketing_code'] .= '\'send_to\': "AW-' . $this->config->get('config_remarketing_code') .'",'."\n"; $data['remarketing_code'] .= '\'items\': [{'."\n"; if (!empty($dynx_itemid)) $data['remarketing_code'] .= '\'id\': ' . $dynx_itemid . ','."\n"; $data['remarketing_code'] .= '\'google_business_vertical\': "retail"'."\n"; $data['remarketing_code'] .= '}]'."\n".'});'."\n</script>\n"; } ]]> </add> </operation> </file> Как правильно реализовать вывод id товаров при использовании подгрузки ajax? Или может подскажите другой путь решения проблемы ) Заранее спасибо.
  17. Opencart 3.0.3.3, default theme Привет всем. Стояла задача сделать простой магазин. Но какой магазин без ajax подгрузки товаров в аля 2К20, а? Сам я не то чтобы был полный ноль в js, нет, что-то в целом понимаю. Однако, сначала я искал готовые бесплатные плагины, но на мою версию опенкарт в общей сумме плагинов как кот наплакал, а для ajax подгрузки товаров их вообще 2, и то, один из них триальной версии на 3 дня потом плати монету. Пытался установить от shopunity ajax free filter, но мне не зашел, хотя бы на том, что там уродский вывод пунктов фильтров если выбираешь выводить как select. Ну и в целом плагин имеет много моментов, мне непонравившихся. Мне всё это не подходило и я решил сделать сам. Конечно, я хотел сделать это быстрее, поэтому искав в интете все по запросу ajax фильтрация товаров OpenCart 3, я может что-то и находил полезное, но этого было недостаточно. Однако одну функцию я все таки спер оттуда, так как свою писать было лень, да и зачем второй велосипед нужен?! Чтобы никто не писал потом что "эту функцию ты стырил оттуда-то". Скрипт на jquery, если кто-то может переписать на ванила js, будет хорошо, Ну или если кто-то сможет заменить .load на $.ajax было бы удобней, но да ладно, перейдем к сути. Строго не судите, я не гуру jq, если есть что подправить, напишите это в комментах без грязи. Делюсь своим способом ajax фильтрации товаров opencart3 и ajax сортировка <!--ajax фильтрация ++--> 0. Сначала я бы предложил для фильтров поставить плагин fixfilter opecart3x чтобы изменить логику фильтрации or/and. (Но не обязательно) 1. в category.twig (catalog/view/theme/default/template/product/category.twig) делаем обертку для вывода товаров <div id="pp" class="products_products">...тут уже цикл с выводом товаров..</div> //обернули 2. Тут же в селекте #input-sort убрать метод "onchange location = this", он нам уже не нужен 3. в category.php (catalog/controller/product/category.php) найти способы сортировки, например сортировка по умолчанию $data['sorts'][] = array( 'text' => $this->language->get('text_default'), 'value' => 'p.sort_order-ASC', //'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url) //копируем строку и комментируем ее на всякий случай 'href' => '&sort=p.sort_order&order=ASC',// вставляем ее ниже и изменяем на такой вид ); Тоже самое проделать со всеми другими способами сортировки, которые нужны. Мне нужны были только по цене вверх, вниз и по умолчанию; и то "по умолчанию" всегда переименовываю в "рекомендуем". 4. Идем в filter.twig (catalog/view/theme/default/template/extension/module/filter.twig) Тут уже кому как надо, а у меня стояла задача сделать вместо чекбоксов select. Собственно я изменил вывод фильтра на: <div class="the_filters df aj"> {% for filter_group in filter_groups %} <div id="filter-group{{ filter_group.filter_group_id }}" class="filtr_group"> <select name="filter[]" id="filters{{filter_group.filter_group_id}}" class="ajax_select"> <option value="{{ filter_group.name }}" disabled selected>{{ filter_group.name }}</option> {% for filter in filter_group.filter %} {% if filter.filter_id in filter_category %} <option value="{{ filter.filter_id }}" selected>{{ filter.name }}</option> {% else %} <option value="{{ filter.filter_id }}">{{ filter.name }}</option> {% endif %} {% endfor %} </select> </div> {% endfor %} <div class="part filtr_group"><button type="button" id="reset_filter">Сбросить</button></div></div> Тут должно быть все понятно, тупо из чекбокс переделал в селект, который потом подхватывает плагин select2. Кстати, рекомендую его для кастомизации селектов. Это все что будет в этом файле из разметки. Ниже будут скрипты: <script type="text/javascript"> $(document).on('change', '.filtr_group .ajax_select',function(){//обновление без кнопки "применить", если успели заметить что в разметке кнокпку убрал filter = []; //создаем резервуар для фильтров $('.filtr_group .ajax_select').each(function(element) { // каждый выбранный фильтр filter.push($(this).val()); //записываем в резервуар }); $('#pp').css('opacity', '0.3'); // самый простой способ дать уровень прозрачности блоку с товарами $('#pp').prepend('<div class="loading"><?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background-image: none; display: block; shape-rendering: auto; background-position: initial initial; background-repeat: initial initial;" width="100px" height="100px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" r="0" fill="none" stroke="#3e6d8d" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="-0.5s"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="-0.5s"></animate></circle><circle cx="50" cy="50" r="0" fill="none" stroke="#4b9bbe" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline"></animate></circle></svg></div>'); // для интуитивности делаем прелоудер href = '{{action}}&filter='+filter.join(','); //тут мы берем текущую ссыль, которая конфигурируется в category.php и добавляем к ней фильтры с разделением div = $(document).find('#pp'); //куда будем загружать новые товары $(div).load(href+'#pp .product-layout', {limit: 16}, //загружаем методом jq load с лимитом 16, у кого отличается в админке кол-во вывода товаров на фронте, то изменить здесь function (responseText, textStatus, xhr) { if (textStatus == "error") { //если ошибка, то выводим текст ошибки, но я немного сделал по-своему var cn = $('header nav li a.current_page').text(); //находим название категории (но по факту текст в теге <a></a> с классом current_page) var cn_href = $('header nav li a.current_page').attr('href'); //далее берем у нее ссыль $.jGrowl('Упс, что-то пошло не так, пробуем вернуть Вас в главную категорию ' + '"'+cn+'"'); // ну и выводим соответственно текст ошибки и setTimeout(function(){window.location.replace(cn_href);}, 5000); //возвращаем покупателя главную той категории, в которой он был, но можно только вывести текст ошибки, тут уже кому как } if($('#pp .product-layout').length <= 0) { // если нет товаров по выбранной нами фильтрации, то $('#pp').text('Нет товаров, которые соответствуют критериям поиска'); //вывести этот текст } if (textStatus == "success") { // ну а если ответ успешный, то $('#pp').css('opacity', '1'); // убираем непрозрачность у блока с товарами $(document).find('.loading').remove(); //убираем прелоудер } }); setLocation(href); // адресную строку меняем в соответствие с выбранными фильтрами (функция будем ниже) return false; }); //ajax сортировка $(document).on('change', '#product_category #input-sort', function(){ //при изменении селекта сортировки + я изменил id #product-category на #product_category, а то через тире выделять неудобно filter = []; // создали резервуар фильтров $('.filtr_group .ajax_select').each(function(element) { filter.push($(this).val()); // в резервуар записали фильтры }); $('#pp').css('opacity', '0.3'); // непрозрачность установили $('#pp').prepend('<div class="loading"><?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="margin: auto; background-image: none; display: block; shape-rendering: auto; background-position: initial initial; background-repeat: initial initial;" width="100px" height="100px" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" r="0" fill="none" stroke="#3e6d8d" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline" begin="-0.5s"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline" begin="-0.5s"></animate></circle><circle cx="50" cy="50" r="0" fill="none" stroke="#4b9bbe" stroke-width="2"><animate attributeName="r" repeatCount="indefinite" dur="1s" values="0;29" keyTimes="0;1" keySplines="0 0.2 0.8 1" calcMode="spline"></animate><animate attributeName="opacity" repeatCount="indefinite" dur="1s" values="1;0" keyTimes="0;1" keySplines="0.2 0 0.8 1" calcMode="spline"></animate></circle></svg></div>'); //прелоудер показали var sortBy = $(this).val(); // находим значение выбранного option в сортировке, то чей вывод мы изменяли в (контроллере) category.php var action = $('header nav li a.current_page').attr('href'); // берем адрес главной категории, в который находимся, так как {{action}} тут работать уже не так будет как надо// ну или найти адрес другим методом js/jq var url = action+sortBy+'&filter='+filter.join(','); // собираем в переменную куски - адрес главной категории + значение выбранной сортировки + фильтры, если есть //alert(url); // на момент тестов отслеживал какой адрес в итоге получается $(document).find('#pp').load(url+'#pp .product-layout', {limit: 16}, // опять загружаем с лимитом 16 function (responseText, textStatus, xhr) {//если ошибка, отдаем текст if (textStatus == "error") { $.jGrowl('Произошла ошибка'); } if($('#pp .product-layout').length <= 0) { // если нечего загружать, сообщаем $('#pp').text('Нет товаров, которые соответствуют критериям поиска'); } if (textStatus == "success") { // если все у всех ок, то $('#pp').css('opacity', '1'); // снимаеи непрозрачность $(document).find('.loading').remove(); // убираем прелоудер $.jGrowl('Успешная сортировка');//отдаем сообщение, тоже на момент тестов } }); setLocation(url); // записываем в адрес строку получившийся адрес return false; }); //ajax адрес в адресную строку function setLocation(curLoc){ try { history.pushState(null, null, curLoc); return; } catch(e) {} location.hash = '#' + curLoc; } /// тут тоже должно быть все ясно как ясный день </script> Дальше хочу сделать ajax пагинацию и написать скрипт сброса фильтров, наверное позже дополню в тему
  18. Здравствуйте уважаемые Хочу сделать в корзине уже выбранную страну с номером телефона, чтоб людям не пришлось долго искать. Хочу допустим по умолчанию выбрать одну из стран, но при этом была возможность выбрать другую страну для номера телефона Модуль Ajax Quick Checkout6.6.5 спасибо )
  19. Есть сайт -- подопытный Попытался прикрутить js скрипт AJAX-пагинации по кнопке "Показать ещё" Кнопка появилась, но при нажатии на неё ничего не происходит. Знатоки, прошу помочь, подскажите в чём ошибка (я несильно шарю) КОД: Надеюсь на вашу помощь, заранее спасибо
  20. Я добавил кнопку для загрузки файлов в форму обратной связи на странице контакты. Однако файлы загружаются только на одной версии сайта, а на другой нет. Вод код который я вносил: information/contact.twig: controller/information/contact.php: Но, как я уже писал выше, файлы загружаются только на одном языке. Подскажите пожалуйста что изменить. И заранее спасибо за помощь)))
  21. День добрый! Написал функцию для админки для генерации некой инфы и сохранении её в БД. Сейчас идёт аяксовый запрос в контроллер, там фором прогоняется цикл и возвращается инфа с массивом нагенерированных штук. Контроллер возвращает стандартным "$this->response->setOutput(json_encode($json));" по завершению всего цикла. Есть ли возможность воткнуть ответ в темплейт после каждой итеррации цикла?
  22. Добрый день, уважаемые! Прикрутила простейший скрипт ajax для загрузки товаров в product/category.tpl. <script> $('.sliderArrow').on('click', '.toPageButton', function(){ $.ajax({ url: '/catalog/controller/product/category.php', type: "get", data: $('.toPageButton').attr('href') , success: function(data){ alert(data); }, error: function() {} }); }); </script> А в результате он мне пишет: Fatal error: Class 'Controller' not found in /catalog/controller/product/category.php on line 3. Файл category.php не меняла. Что я делаю не так?
  23. Версия 2.0.0

    Важно: адаптация платная Дополнение добавляет бесконечную погрузку товаров на основные страницы товаров. Особенностью дополнения является смена url без перезагрузки страницы, что в свою очередь позволяет сохранить страницу товара на которой находится пользователь даже после обновления страницы вручную. Модуль тестировал на дефолтном шаблоне, адаптация платная Возможности Динамическая смена URL (как Вконтакте) Автоматическая загрузка товаров (как лента Вконтакте) Переход к последнему товару при возврате Демо каталог: https://apl.pitov.pro/desktops/mac/ модуль включен только на этой странице Демо админка: у модуля нет админки Версия модуля 2.х Полностью переписанная новая версия модуль, теперь модуль написан на чистом JavaScript, без использования jQuery и любых других зависимостей Функционал модуля: Бесконечная загрузка товаров со сменной URL Корректный возврат со страницы товара в каталог, по нажатию на кнопку "назад" в браузере Замена тегов title, meta Замена URL при скроллинге вверх/вниз, происходит подмен URL, как будто пользователь находится на конкретной странице (находится в бета тестировании) Добавления кнопки "Показать еще" при достижении лимита автозагрузки товаров Для разработчиков. Добавлены события на document: iscroll:action, iscroll:rendering, iscroll:rendering:after который дают возможность отслеживать добавления новых товаров В версии 2.1 будет добавлено: Настройки модуля через админку Визуальный выбор селекторов для настройки модуля Демо каталог: https://iscroll.pitov.pro/index.php?route=product/category&path=20 Лицензия: 1. Дополнение продается по принципу “AS IS” 2. Одна лицензия распространяется только на один домен
    10.00 USD
  24. ocStore v2.3.0.2.4 Товарищи, приветствую! Пишу модуль в админке, имею контроллер, который загружает основной шаблон. Этот шаблон использую JQ и AJAX обращается к серверу, ожидая, что тот выполнит метод, описанный в контроллере. Этот метод, в свою очередь, выполняет некоторые манипуляции с данными, потом передаёт их второму шаблону (tpl) и тот уже должен выводиться: public function method() { if ($this->request->server['REQUEST_METHOD'] == 'POST') { //code... $this->response->addHeader('Content-Type: html'); $this->response->setOutput($this->load->view('controller/template', $data)); } } AJAX запрос отправляется, и возвращается ответ с кодом 200, в виде html "Страница не найдена". В итоге AJAX стучится в .../admin/index.php?route=controller/file/method&token=... но когда я перехожу по этому адресу, так же вижу сообщение "Страница не найдена". Запрос такой: function getPerms(url) { $.ajax({ url: url, method: 'POST', dataType: 'html', brforeSend: function(){ $('.panel-title>i').replaceWith('<i class="fa fa-spinner fa-pulse fa-3x fa-fw"></i>'); }, complete: function(){ $('.panel-title>i').replaceWith('<i class="fa fa-table" aria-hidden="true"></i>'); console.log('complete'); console.log(url); }, success: function(data){ $('#upp-table').html(data); console.log(data); }, error: function(){ console.log('error'); } }); } Как правильно обратиться к методу, что бы получить его ответ (готовый шаблон)?
  25. Версия 1.0.0

    Часто администраторы магазинов сталкиваются с тем, что забывают обновить страницу с последними заказами тем самым теряя время и покупателей! Данный модуль исправляет эту ситуацию, теперь, чтобы увидеть последние актуальные заказы не нужно каждый раз обновлять страницу или судорожно заходить в почтовый ящик, модуль сделает это за вас. Период обновление блока (актуализации последних заказов) - раз в 10 секунд. Установка Перейдите в раздел Дополнения -> Менеджер дополнений; Загрузите файл ajax_recent.ocmod для своей версии; Внимание! Модуль заменяет стандартный модуль вывода последних заказов в админке! В случае если установлены модули цветных статусов заказов либо подобных адаптация возможна, но на платной основе.
    10.00 USD
×
×
  • Создать...

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

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