Jump to content

cmd

Пользователи
  • Content Count

    1,296
  • Joined

  • Last visited

Community Reputation

260 Обычный

5 Followers

About cmd

  • Rank
    Продвинутый пользователь

Информация

  • Пол
    Мужчина
  • Город:
    Харьков

Recent Profile Visitors

17,988 profile views
  1. Если Вам удобнее starter kit и Вы хотите писать starter kit, то вот, пожалуйста, для Вас git репозиторий со starter kit. Только одно отмечу, чтобы не возникало двузначности: я к этому проекту отношения не имею.
  2. Приветы. У меня было время и вдохновение написать вот такой сервис, который умеет генерировать расширения для Opencart. Это инструмент для разработчиков, который, я надеюсь, поможет сделать ваш труд более продуктивным. На выходе генератор возвращает готовую файловую структуру и образцы кода для разработки новых модулей. На данный момент функционал генератора ограничен поддежкой Opencat 3.0.3.6 (и совместимых версий) и нескольких базовых типов расширений\модулей: Модули с множеством детей (те, что пишут через модель setting/module) Модули без наследников (те, что пишут через модель setting/setting) Расширения для Total Расширения для оплаты Расширения для доставки Первые 3 поддерживают кастомизацию полей ввода. Типов полей три: input, textarea и select. Если вы найдете сервис полезным, то добавляйте его в закладки и пользуйтесь на здоровье. P.S. Если есть желающие написать поддержку для ОС 2.х, то пишите мне в ЛС, например. Остальные отзывы и предложения вы можете оставить в комментариях под этим постом. Всем спасибо за внимание и удачной работы
  3. var checkCartInterval = setInterval(function() { var p = 5000; if ($("#cart-total").html().match(/- (.*)/i, '$2')[1].replace(/[^0-9.-]+/g,"") > p) { console.log('В корзине больше, чем '+p+' единиц денег'); } }, 5*1000) Учитывая, что это просто очередной сайт на Opencart, а не крупная торговая площадка, можно просто написать вот такой говнокодец с бесконечным циклом проверок.
  4. В файле common.js у объекта Cart есть 3 метода: add, update, remove с ajax-запросами и ещё функция в карочке товара. В каждый из запросов добавить проверку суммы в корзине и показывать Ваш блок, если сумма привышает. Проверку суммы в корзине можно реализовать как отдельный запрос, а можно распарсить HTML-страницы на JS.
  5. Создать любое кол-во категорий с любой иерархией в Admin > Catalog > Categories. Если открыть любую категорию, то в табе Data можно указать Parent т.е. родительскую категорию. Предполагаю, что под "главной категорий" Вы подразумевали родительскую. Привязать любое кол-во категорий к товарув Admin > Catalog > Products > Кокретный товар > Links > Categories.
  6. Да... тут нужно будет короче написать. Честно говоря, этому фрагменту года 7 лет. Хз о чем я думал когда JOIN-ил `product_description` и делал проверку product_to_store. UPD: f918f6b
  7. egor23, я честно скажу, что считаю тебя бестолковым форумны троллем который ничего не понимает, а просто подгавкивает, но чтобы не быть голословным я отвечу на озвученные претензии: 1. По поводу SQL запроса в контроллере: там один запрос в контроллере, который был туда добавлен чтобы не вытягивать из базы лишнюю информацию через стандартную модель и не создавать тем самым дополнительную нагрузку на базу. Использование SQL запросов в контроллере никак не ограничено стандартнами кода Opencart и SQL запросы есть в контроллерах ядра. Создавать отдельный файл модели для одного запроса я считаю друным тоном: это усложняет дебаг, усложняет удаление модуля, а, главное, создает дополнительные сложности для проверки кода на наличие вреноносного кода (это то, что нужно делать всегда перед установкой бесплатных модулей). 2. По поводу HTML в контроллере - в этом модуле нет предсталвения т.е. нет HTML. Нет в контроллере и нет вообще нигде. Твоему другу под ником netruxa что-то привидилось и он написал глупость. Ты её повторил. 3. Javascript в контроллере работает ничем не хуже, чем Javascript в отдельном файле, упрощает обслуживание кода, упрощает удаление модуля, дает дополнительный контроль над расширением через ивенты и исключает проблемы из-за некорректного chmod на js-файл. К слову, Даниэль уже анонсировал, что единственным методом модификаций в ближайших обновлениях будут Ивенты поэтому я думаю к ближайшие пару лет можно ожидать, что весь Javascript ядра перейдет в контроллеры. В обещм, Егор, иди учи матчасть, с тобой говорить очевидно не о чем. А вот тебя, stickpro, я бы послушал. Ты очевидно позер и хмало, но вдруг ты правда что-то увидел. Тебе есть что сказать?
  8. Ого, какое заявление. А можно добавить к нему обоснование? Понятия не имею о чем речь. Я просто игрался с новым Opencart и написал модуль. Не нужен - не пользуйтесь.
  9. View File Модуль изменения цены товара при выборе опции Модуль обновляет цену товара, когда пользователь выбирает в карточке товара опцию имеющую модификатор цены. Обновляется как основная цена так и акционная. Модуль разрабатывался и тестировался на 3.0.3.6 и предположительно поддерживает все версии ОС 3.х vQmod не нужен. GitHub ссылка Submitter cmd Submitted 09/08/2020 Category Product Options Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Get request to server of developer Нет Старая цена 0  
  10. Всегда удивляюсь этим темам. aliyeW, если речь не идет о полном обновлении всего, то проще дописать нужный функционал в старой версии, чем переносить все на новую версию. Устанавливать на рабочий сайт самую последную версию и обкатывать на своей шкуре все обновления (в том числе с обновлениями используемых модулей сторонних разработчиков) это вообще мазохизмом отдает. Я на прошлой неделе дернул с официального репозитория текущую бета-версию ОС, так я её даже установить не смог.
  11. Version 2.4

    59 downloads

    Модуль обновляет цену товара, когда пользователь выбирает в карточке товара опцию имеющую модификатор цены. Обновляется как основная цена так и акционная. Модуль разрабатывался и тестировался на 3.0.3.6 и предположительно поддерживает все версии ОС 3.х vQmod не нужен. GitHub ссылка

    Free

  12. 1. Выполните запрос с EXPLAIN, чтобы четко понимать все подзапросы. 2. Проверить наличие индексов в подзапросах.
  13. Ситуация следующая: кто угодно (не только пользователи, но и бот) может отправить что угодно (любые переменные) куда угодно (даже если контроллер нигде не фигурирует во фронте) любое количество раз. Поэтому всегда нужно делать валидацию типов переменны, валидацию прав доступа и защиту от инъекций в бэкэнде. Весь функционал фронта существует только для удобства пользователя (в том числе и валидация в фронте нужна только для удобства пользователя). Это общая теория \ дисклеймер. Если очень хочется, чтобы пользователь не мог подменить значение в форме, то добавьте хэш-сумму с солью. Условно: 1) Добавить в форму: <input type="hidden" name="_h" value="<?php echo md5($product_id.'my_secret_word'); ?>"> 2) Добавить в контроллер: <?php $product_id = intval($_POST['product_id']); if (!$product_id || empty($_POST['_h']) || $_POST['_h'] != md5($product_id.'my_secret_word')) { die('Invalid input params'); } Таким образом каждому product_id соответствует уникальный хеш, который пользователь не может сгенерировать сам без взлома md5.
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.