Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

SooR

Users
  • Posts

    1,511
  • Joined

  • Last visited

Everything posted by SooR

  1. А почему нет? Не на форуме же. Вот если на демке своей сделаешь ссыль на реферал от хостинга - все, зарабатываешь на форуме аж 5 копеек в год.
  2. А в личные сообщения написать? Напишите и решим ваш вопрос за 10 минут.
  3. Простите, но я там еще какие-то слова писал. Полный текст ответа @searchingman , спасибо за участие.
  4. А, все таки автоматизма нет?) Для запросов типа select * from user order by user_id может и полезная штука для домохозяек, в остальном не вижу смысла. Это моя позиция, не обязательно соглашаться.
  5. Разница есть. А еще есть разница между 0000334 и 334, когда нужно найти запись по номеру договора или просто вот по такому идентификатору.
  6. А вы уверены, что обертка экранирует '1' как int, а не string? А как на счет экранирования bigint(20)? Каждый судит по своему опыту и профилю. У меня, например, ни с чем из перечисленного проблем никогда не было. А с обертками были бы, потому что вот такой запрос переписывать в api обертки - увольте.
  7. Но всегда же проще писать запрос в его исходнике и не думать больше ни о чем
  8. Сводим к минимуму опечатки. Запятая не всегда на своей клавише, как и '
  9. С этим согласен, но на практике это будет не всегда так. Кто-то будет изменять уже существующую строку и, если вы по ней ищите, нифига не найдете и не вклинитесь. Ну смотрите. Вы пишите сложный запрос, перед вами запрос в исходном виде, читаете док по мускулу или ищите другую инфу в сети по каким-то частям запроса, везде вы видите чистый запрос, во всех примерах и разборах только чистые запросы, переключаетесь в редактор, а там куча вызовов через php конструктора запросов. Как они работают закулисами? Что добавляют эти методы? Добавляют `` или нет? Каждый раз смотреть в ман по api? При этом держать в голове сам запрос, еще и думать как его расписать) По-моему не совсем удобно.
  10. $payments->where('cashtypeid', '=', '1'); $payments->orWhere('cashtypeid','=','4'); Серьезно? Вам проще писать строку с запятыми и кавычками, чем просто строку? Проще же WHERE foo = 'bar' AND baz = 3. А копировать запрос и делать отладку прямиком в базу? А откорректированный запрос вставить в $this->db->query()? Не проще ли?
  11. Если вам няшно - пожалуйста, я вижу, что из одной строки условно простого запроса сделали 4. В чем упрощение? Не видеть SELECT * FROM?
  12. Можно и через pdo, кому как удобней, но в самом opencart, если мы говорим о моделях, сам API запросов я бы не менял
  13. С 1 и 2 категорически не согласен в такой реализации. 1. Достаточно инклюдить готовые наборы (куски) форм, контроллеры (форм), не нужно придумывать интерфейсы и не лишаем гибкости в верстке или уникальных контроллеров UI. Просто обычный include 'common/input_checkbox' или, еще лучше, через closure функцию <?php echo $input_text($title, 'title', $error_title); ?> 2. Именно из-за чистого SQL запроса мне и нравится этот двиг. Здесь вообще ничего не надо менять, разве что DB_PREFIX я бы добавлял где-то в либе и, может быть, парсил запрос на предмет int|string для автоматического экранирования данных. Все, не надо выдумывать цепочки методов, вы 100 процентов уткнетесь в ограничения при написании сложных запросов и тогда пойдут велосипеды и каша из новых и старых методов исполнения запросов.
  14. Изменения больше косметические, вот одно из них: $data['add'] = $this->url->link('customer/customer|form', 'user_token=' . $this->session->data['user_token'] . $url); То есть вызов метода по ссылке через вертикальную черту. Зачем? Не знаю, визуально отделить файл/класс от метода. Стоит ли это изменение совместимости с модулями - однозначно нет. Вообще обновления мажорных версий больше выглядит как руководство к "правильному" кодингу. Даниель решил что так будет правильней, красивей, значит пишите так и привыкайте к новому. Вместо наращивания функционала все снова уходит в организацию кода, файловой структуре. Короче, неоправданный головняк.
  15. В защиту OCFilter могу предоставить демо версии с большим количеством товаров. Здесь 170 тыс, VPS 4gb/1x2.8Ghz/SSD 50Gb. http://demo-vps.ocfilter.com/appliances/kitchen-appliances/food-processors А здесь около 90 тыс, обычный шаред хостинг. http://demo2.ocfilter.com/noutbuki-planshety-po/noutbuki-planshety-kompjutery/noutbuki/
  16. Ничего не понятно. Напишите в личные сообщения и сразу с информацией о покупке модуля.
  17. Файл library/cache/redis.php Замените public function get($key) { $data = $this->cache->get(CACHE_PREFIX . $key); return json_decode($data, true); } на public function get($key) { if ($this->cache->exists(CACHE_PREFIX . $key)) { $data = $this->cache->get(CACHE_PREFIX . $key); return json_decode($data, true); } return false; }
  18. Идею поддерживаю, с сохранением доступа уже купивших. Также и 750р минималка - ничего в этом плохого нет.
  19. И я закину. JavaScript - jQuery to Vanilla - миграция с jQuery на чистый js, некоторые альтернативы - Event KeyCodes - удобный отлов нужных кодов кнопок - Bootstrap Tour - путеводитель по функциям и возможностям для ваших расширений - PapaParse5 - конвертер csv <> json - regexpal.com - еще один неплохой тестер регулярок - NW.js - делаем нативное приложение под win на обычном js + html5 (да, такие как Atom, Spotify и другие) PHP - PHP: Правильный путь - все слышали, не все знают. CSS - https://css-tricks.com/ - название говорит само за себя. Очень много годных приемов и руководств - https://animate.style/ - библиотека трансформаций и анимаций с наглядными примерами - https://cssgradient.io/ - градиенты на css Другое по фронту - Карта Украины в формате SVG - https://graphemica.com/ - символьные иконки (HTML мнемоники) - https://www.toptal.com/designers/htmlarrows/ - еще иконки символами - https://color.adobe.com/ru/explore/ - цветовые схемы от Adobe - https://caniuse.com/ - первый ресурс для проверки поддержки браузерных технологий Фреймворки - UIkit - Semantic UI Сервер - PHP-FPM Process Caluculator - калькулятор настроек конфига php-fpm - https://goaccess.io/ - отличная замена webalizer и awstats - Шпора по Exim - NGINXConfig - генератор конфигов nginx от DigitalOcean Рыба - https://loremflickr.com/ - Рыба Изображения - https://picsum.photos/ - еще - https://placeholder.com/ - пустышки вместо изображений - https://fish-text.ru/ - Рыба Текст Другие инструменты - https://jscompress.com/ - минификатор, валидатор и многое другое для js и не только - https://javascript-minifier.com/ - сжимаем js и другие языки - https://jshint.com/ - оценка качества js кода - https://beautifier.io/ - декомпрессор, форматтер для js - https://technicalseo.com/tools/schema-markup-generator/ - Schema Markup Generator (JSON-LD) - https://www.rankranger.com/schema-markup-generator - Еще один генератор микроданных/разметки - https://sqlformat.org/ - SQL форматтер - http://sqlfiddle.com/ - SQL песочница - PHP Sandbox - быстрая отладка мелкого кода. Действуют ограничения - PHP liveregex - тестер регулярок в php окружении - https://httpstatus.io/ - тестер кодов ответа сервера, редиректы и прочее - https://www.base64-image.de/ - base64 конвертер изображений - https://mxtoolbox.com/ - мощный инструмент диагностики MX записей домена, DMARC - https://toolbox.googleapps.com/apps/checkmx/ - тоже самое в упрощенке от Google - https://ipinfo.io/ - информация об IP, есть API - http://detectmobilebrowsers.com/ - набор скриптов на разных языках для определения мобильных браузеров Интересное - https://www.webdesignmuseum.org/ - WEB музей. История развития сайтов крупных компаний Норм тема. Есть еще такое под кодинг
  20. Хорошая тулза. Добавьте ещё проверку на соответствие путей к модификаторам из config.php админки и каталога. Часто они не совпадают.
  21. Добавлю. Ссылок на фильтры в самом модуле не будет. Поставим в этом вопросе жирную точку! Причины: 1. Страницы такого вида (обычные фильтры без посадки) крайне низкого качества и, соответственно, без всякого текстового описания. Меняется только ссылка, заголовок, h1. Товары также могут повторяться на разных страницах. 2. Делать ссылки на посадочные сразу из фильтров не получится, так как посадочная может назначаться сразу нескольким фильтрам. Также в модуле будет возможность подгружать часть фильтров в фоновом режиме, что автоматически сделает их ссылки недоступными роботам. 3. Контролировать ссылочную массу станет сложно и не удобно. Вследствие агрессивной индексации этих ссылок поисковыми роботами ваш сайт заметно притормозится, что повлияет как на выдачу, так и на впечатление от магазина у покупателей. 4. Ввиду неплохого автоматизма и доступности ссылок на посадочные страницы из других мест, потребность в ссылках на обычные фильтры отпадает.
  22. Приветствую всех. Техподдержка пока не работает, ориентировочно - до апреля. Ведутся работы над новой версии модуля. Это (спасибо за доработку) и многое другое относительно посадочных страниц опишу в кратком анонсе версии 4.8.0 ниже. Итак, на посадочные страницы (по части бекенда) потрачено больше времени, чем на все остальные работы. К вашим услугам будут следующие типы и способы добавления страниц: 1. Статическая страница - старый тип. Страница назначается определенному набору фильтров со своими данными. Одна страница = одна комбинация фильтров. 2. Динамическая страница. Можно создать только одну страницу и назначить ее сразу всем производителям и другим фильтрам. В таком случае для описания и других данных будут доступны переменные автозамены (маска) выбранных фильтров. 3. Генератор страниц. По заданным критериям можно создать статические страницы под все комбинации выбранных фильтров. Здесь также работают переменные автоподстановки. Также будет доступна форма быстрого редактирования страниц, расширенный фильтр поиска страниц в админке, вывод ссылок в карточке товара, категории, модуле и многое другое.
  23. Я хотел сказать, чтобы вы открыли настройки модуля и внимательно их посмотрели. Там есть ограничение вывода с указанием количества видимых фильтров и значений, есть отключение стандартного производителя и многое другое.
×
×
  • Create New...

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.