Перейти к содержанию

Bogdan1975

Пользователи
  • Публикаций

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

  • Посещение

Репутация

3 Обычный

Информация о Bogdan1975

  • Звание
    Пользователь

Посетители профиля

1 202 просмотра профиля
  1. Bogdan1975

    [Поддержка] Filterpro v2

    В OpenCart код открытый и работает во всех окружениях, он не привязан к хосту. А вот как быть с модулем не знаю, я же так понимаю, он регистрируется для определенного хоста, т.е. работать на всех разработческих серверах не будет, а будет только на одном?
  2. Bogdan1975

    [Поддержка] Filterpro v2

    Добрый день, @freelancer Есть какая-нибудь схема работы с разработчиками? Вопрос преимущественно в кодировке ioncube: - как с одним проектом работать в нескольких окружениях (локально, dev, pre-prod, prod)? - какая часть кодируется, остается ли свобода на "допил"? Заранее благодарен.
  3. В первом посту сейчас: Если мне не изменяет память оба пункта выполнены (ну 1 так точно), осталось реквесты принять и ... выпускать релиз :eek: 2 freelancer: это не разрешение, это предвкушение ;)
  4. Уже не нужна такая мера. Расковырял seo_pro.php, теперь он отрабатывает и на Ajax и на iframe Вот сообщение с модернизированным seo_pro.php
  5. Присутсвие "-" считаю не критичным, поэтому убрал их вырезание, а пробелы считаю лишними, поэтому их вырезание оставил. Что с чем не вяжется? Ой, ну не надо быть таким строгим. Вы же не экзамен по программированию принимаете. А копипаст breadcrumbs в каждой вьюхе - это признак высокого стиля? OpenCart в целом не безгрешен. Вот, честно, не понимаю я Вашего подхода - из-за "говнокода" (который подправить - 2 сек) Вы отвергаете решение проблемы "говнологики". Ну ладно бы просто заметить, что не мешало бы исправить, а то сразу объявить никчемным бредом, назвать статью вредной и т.д. Между прочим, кроме этих ребят никто и не заметил этого лага ... Т.е. по Вашему все же из-за ненавистного Вам !$n пусть кеш отдает инфу из файлов, которые нужно сносить ...? По-моему это намного больший "бред", чем шалость в виде !$n. Ну а если так скурпулезно подходить, то в OpenCart нужно многое почеркать, скомкать и в ... Опять же зачем все сносить, если можно поменять strtolower(trim(preg_replace('~[^0-9a-z\.]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-')); на strtolower(trim(preg_replace('~[^0-9a-z\.\/]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8'))));
  6. Согласен, но на работоспособность это не влияет, ибо в этом цикле $n никода не будет ни null ни false ни пустой строкой. Не согласен в корне! Раз кеш "состарился", то пусть данные берутся из первоисточника, иначе логика совсем нарушается - кеш свое отжил, ну и Бог с ним, все равно будем оттуда черпать информацию ... Потом сразу же его прибьем, но хоть последний разочек возьмем ... Кстати, забыл указать, что я там к функции set добавил третий необязательный параметр времени жизни кеша. Если отсутствует, то будет дефолтным. Я именно это и утверждал. Так ведь никем пока не предложено нормальное решение, без "дырок". Разве это выход - убрать недостаточный контроль и ничем его не заменить?
  7. Посчитал (и сейчас считаю), что пробелов быть не должно, а "-" не сильно помешают. Что касается самих имен файлов - тут не взял на себя смелость менять их формат, т.к. не знаю чем было вызвано их приведение к текущему виду. А с чего Вы взяли, что не посмотрел...? Отличное решение! По-моему следовало бы проблему переформулировать: заменить точку контроля имен файлов. Не уверен, что правильно совсем убирать "неправильный" контроль, не имея другого.
  8. А что тут бредового ...? В статье говорится, что этим кодом исправляется тот момент, что в оригинальной функции данные берутся из файла до проверки его временной актуальности. Так и есть, измененный код берет после проверки из самого свежего файла только в случае если он не "просрочен". А по поводу обращений к кешу - согласен, нужно выделить время и пройтись по моделям, исправить проверки на null
  9. Pull-request на эту тему уже отправлен by Alexey. Если примут, то всё будет нормально
  10. Сделано. Pull: https://github.com/myopencart/ocStore/pull/31/files
  11. Меняем файл catalog/model/tool/image.php на приложенный, и проблема решается проблема решается неправильно, смотрим https://opencartforum.com/topic/27002-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81-%D1%80%D0%B0%D0%B1%D0%BE%D1%82-%D0%BD%D0%B0%D0%B4-%D1%80%D0%B5%D0%BB%D0%B8%D0%B7%D0%BE%D0%BC-ocstore-15512/?do=findComment&comment=220044 image.php
  12. В 1.5.4.1 категории забирались из модели, формировался массив $categories, затем этот массив сортировался рекурсивной функцией getAllCategories(); $this->data['categories'] = $this->getAllCategories($categories); В 1.5.5.1.1 этой сортировки уже не было, было просто $this->data['categories'] = $this->model_catalog_category->getCategories(0); Собственно, я и предложил сортировать рекурсивной функцией, которая как я увидел позже просто делает примерно тоже самое, что функция в getAllCategories() в версии 1.5.4.1 А затем увидел, что в мастер версии использование getAllCategories() восстановлено, правда позже результат затирается строкой $this->data['categories'] = $this->model_catalog_category->getCategories(0); Поэтому и говорю, что решение сводится к удалению этой строки из мастер-версии
  13. Блиииин .... Чего ж я сразу не глянул! Alexey, гляньте на сборку ocStore 1.5.4.1 - тогда было "общепринято" сортировать рекурсивно!!! А мы тут спорим ... Нам с Вами должно быть стыдно, причем Вам - вдойне :) (шутка) В 1.5.4.1 все нормально сортировалось (рекурсивно, кстати, а не как принято) В 1.5.5.1.1 ничего этого уже нет, рекурсивная функция отсутствует, категории забираются скопом и без сортировки отдаются в мир. В мастер-версии все восстановленно, но одна строчка все портит. А по сему, изобретенные мною с Вами велосипеды нужно выкинуть на помойку (а лучше сжечь), а вместо этого в мастер-версии фрагмент: // Categories $this->load->model('catalog/category'); $this->data['categories'] = $this->model_catalog_category->getCategories(0); нужно отправить вслед за велосипедами. Хотя нет .... "// Categories" нужно оставить :) Спешка и невнимательность - вот причины, по которым мы с Вами тут холиварить начали
  14. А потом у меня появится еще 1 товарная группа (главная категория), и мне нужно чтобы она была между 100 и 200. Как быть? У меня сортировка внутри категории/подкатегории выглядит как 10, 20, 30 и т.д. И не для того чтобы дочерним назначать 11, 12; 21, 22, а для того, что бы была возможность безболезненно вставлять категории внутри уровня. Не думаю, что я такой "эксклюзивный", возможно, часть пользователей нумеруют по такому же принципу. Т.е. безструктурная сортировка фактически обязывает нумеровать по принципу, используемым Вами, хотя не факт что он идеален. А если не соблюдать "алгоритм" нумерования, то я и мне подобные на выходе будут получать результат ничем не лучше, чем просто неотсортированный На практике сталкивался с магазином, в котором в 1-й главной всего 1 подуровень, но там .. 1500 подкатегорий, во 2-й главной все подкатегории короткие, но до 5 уровней вложенности. Понимаю, что сама организация категорий таким образом - не самый правильный вариант, но так есть. Организовать sort_order по Вашему принципу, конечно, возможно, но не так уж и просто, и точно не так уж удобно. Не уверен, что сортировка в sql по неиндексированным полям даст какой-то выигрыш. Вполне вероятно, что рекурсия в php отработает быстрее, чем простая сортировка по sort_order (в таблице category нет индекса по sort_order). Хотя тут, конечно, скорее всего многое еще будет зависить от того, что из себя представляет дерево категорий. В случае магазина со странной структурой категорий (который я привел в пример), наверное все же рекурсия будет медленнее. Поэтому, все же предлагаю дать право на жизнь и рассмотреть вариант "структурной" (рекурсивной) сортировки.
×

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

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