Trellos12 Опубліковано: 21 січня 2018 Share Опубліковано: 21 січня 2018 Всем привет. С опенкарт знаком недавно, поэтому не судите, искал по форуму не нашел. Версия Опенкарт 3.0.2.0 Не могу понять как сделать ЧПУ на системных страницах ( Логин/Регистрация, Контакты, и др) типа: index.php?route=information/contact Сразу скажу: Галочку ЧПУ нажал, файл .htaccess переименовал, кеш который находится в system - не нашел, в смысле его там нет.( не знаю может его там не должно быть)) В админ панели на вкладке Dashboard справа нажимал на колесико и там обновлял ( где то прочитал, что это очистка кеша ) Во вкладке Дизайн - SEO URL добовлял значения, не помогает. Помогите деревянному ))) Надіслати Поділитися на інших сайтах More sharing options...
halfhope Опубліковано: 21 січня 2018 Share Опубліковано: 21 січня 2018 Надіслати Поділитися на інших сайтах More sharing options... 8 months later... kosuha606 Опубліковано: 26 вересня 2018 Share Опубліковано: 26 вересня 2018 (змінено) Не знаю точно с какой версии, но в последнем опенкарте 3 в разделе дизайн есть SEO URL там можно подправить нужные урлы. Не логично конечно настройку урлов помещать в дизайн, но почему-то так сделали Змінено 26 вересня 2018 користувачем kosuha606 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 26 вересня 2018 Share Опубліковано: 26 вересня 2018 без определенных действий, стандартный seo_url не умеет этого делать но такая возможность уже есть (заложена) в 3.1 Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 все работает в 3020, открывается по opencart/contact Надіслати Поділитися на інших сайтах More sharing options... 1 month later... Dimasscus Опубліковано: 7 листопада 2018 Share Опубліковано: 7 листопада 2018 Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил. Подскажите как эту глюч в тройке убрать? и .htaccess правил и с бубном танцевал- без результата. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 12 листопада 2018 Share Опубліковано: 12 листопада 2018 On 11/8/2018 at 2:04 AM, Dimasscus said: Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил. Подскажите как эту глюч в тройке убрать? и .htaccess правил и с бубном танцевал- без результата. cjmmon/home не работает в стандартном сео. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27700 и вроде как в Опенкарт Русская сборка, данная проблема пофикшена. Надіслати Поділитися на інших сайтах More sharing options... Dimasscus Опубліковано: 12 листопада 2018 Share Опубліковано: 12 листопада 2018 11 часов назад, lexxkrt сказал: cjmmon/home не работает в стандартном сео. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27700 и вроде как в Опенкарт Русская сборка, данная проблема пофикшена. да перепробовал все. не помогает Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 13 листопада 2018 Share Опубліковано: 13 листопада 2018 10 hours ago, Dimasscus said: да перепробовал все. не помогает в таблицу seo url маршрут common/home с ключом " " добавьте Надіслати Поділитися на інших сайтах More sharing options... 1 month later... vitalino000 Опубліковано: 22 грудня 2018 Share Опубліковано: 22 грудня 2018 (змінено) On 11/13/2018 at 8:30 AM, lexxkrt said: в таблицу seo url маршрут common/home с ключом " " добавьте Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Змінено 22 грудня 2018 користувачем vitalino000 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 22 грудня 2018 Share Опубліковано: 22 грудня 2018 seopro? Что? для 3-ки нет? Не верю!!! Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 (змінено) Третий день копаюсь в Opencart 3.0.2.0. Случай свёл меня с ним как с "наиболее популярным интернет-магазином". Уж лучше бы выбрал платный, ей богу. Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. В 28.09.2018 в 11:34, lexxkrt сказал: все работает в 3020, открывается по opencart/contact lexxkrt, не обманывайте пользователей. Из коробки это не работает. По крайней мере без каких-то дополнительных правок/модулей. Могу привести вам кусок кода, где обрабатываются ЧПУ перед выводом. И там закостылена обработка ссылок только на: 1. продукты, 2. производителей, 3. категории и страницы с информацией (только information/information!). Остальное игнорится и выводится без ЧПУ. Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. В 22.12.2018 в 22:52, vitalino000 сказал: Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Вам поможет следующее: web\catalog\controller\startup\seo_url.php, строку 124 return $link; заменяете на return str_replace(['index.php?route=','common/home'], [], $link); Также удостоверьтесь что в файле .htaccess у вас есть строчка RewriteRule ^([^?]*) index.php?route=$1 [L,QSA] Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! Змінено 23 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 10 минут назад, Scyth сказал: Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! ШО за бред? Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. 11 минут назад, Scyth сказал: Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. ваш гавнокод, на стройную структуру опенкартовского роутера. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 9 часов назад, chukcha сказал: Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. Буду рад если просветите. Пожалуйста, с сылками на код оригинальной коробочной сборки. P.S. Но идеи говнокода это не отменяет. Худшей и более затратной по ресурсам реализации ЧПУ я ещё ни в одном фреймворке не видел. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) UPD: Действительно, нашёл где используется _route_. В методе ControllerStartupSeoUrl->index() обрабатываются адреса с этим параметром. И если в SEO URL создать запись, как показал lexxkrt, то страница site.local/contact действительно откроет контакты. НО! Это не работает для генерации ссылок! Т.е. ссылка ЧПУ как бы есть, но она нигде не выводится (если только вы не вобьёте её вручную). В методе ControllerStartupSeoUrl->rewrite() закостылен ограниченный набор маршрутов, которые я описал в предыдущем сообщении. И ссылки по ключам, указанным в админке, в разделе SEO URL вы нигде не увидите. Хотя они и будут работать, но не будут генерироваться в коде. Кто же всё ещё сомневается в "говнокодости" системы opencart, добро пожаловать в этот самый класс ControllerStartupSeoUrl. Там полный набор bad practice, начиная от индусского перебора одной и той же переменной через if()... if()... if()... if()... и заканчивая ограничительными костылями or ... or ... or ... для конкретных маршрутов. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) В общем доработал коробочное решение. Базируется полностью на стандартной функциональности SEO URL. Что добавлено: Кэширование ссылок ЧПУ. Теперь каждый раз при отрисовке новой ссылки с ЧПУ, система не делает запрос в базу (иногда она делала и по несколько запросов на одну ссылку). Сто ссылок на страницу могло обернутся более сотней запросов в БД. Кому оно надо? Кэш ЧПУ очищается при добавлении/редактировании/удалении ссылки через стандартный интерфейс в админке. По тестам на реальных данных кэширование ускоряет отдачу ссылок на 2-3 порядка (минимум в 200 раз быстрее) . Гибкость в создании ЧПУ. Отныне любой маршрут без дополнительных параметров можно преобразовать в ЧПУ. А не только закостыленные раньше 4 варианта. Старый алгоритм, кстати, также работает, патч расширяет его, а не заменяет. ЧПУ для домашней страницы также работает! Достаточно добавить запись следующего вида: Патч прикрепляю (применять через git apply): SEO_URL+.patch SEO URL+ работает для Opencart 3.0.2.0. Для других версий не тестировалось. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 Печалька, проверьте сколько раз вы обращаетесь к кешу? Чем кешированные данные отличаются от реальных запросов? Вы плодите очень много не нужных сущносетй route=product/catetegory&path=23_54&sort=p.nameorder=DESC&limit=100 И т.д. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 2 часа назад, chukcha сказал: Чем кешированные данные отличаются от реальных запросов? Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? И в сравнении "очень много не нужных сущностей" против "очень много ненужных запросов", я выбираю первое. Хотя можно и поумнее сделать кэширование, согласен. Но смысла не вижу тратить на это время, если все всё равно "хавают" этот корявое коробочное решение, то для них 200-кратное увеличение производительности против 1000-кратного роли никакой не сыграет. Кроме того, кэш ограничен хранением строк (даже если подключить какой-нибудь memcache или APC, ограничения OpenCart не позволят использовать его в полную силу). Это ещё одна причина не тратить своё время на экстра-оптимизацию. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 о... мАмАдАрАгАя... Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
kosuha606 Опубліковано: 26 вересня 2018 Share Опубліковано: 26 вересня 2018 (змінено) Не знаю точно с какой версии, но в последнем опенкарте 3 в разделе дизайн есть SEO URL там можно подправить нужные урлы. Не логично конечно настройку урлов помещать в дизайн, но почему-то так сделали Змінено 26 вересня 2018 користувачем kosuha606 Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 26 вересня 2018 Share Опубліковано: 26 вересня 2018 без определенных действий, стандартный seo_url не умеет этого делать но такая возможность уже есть (заложена) в 3.1 Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 все работает в 3020, открывается по opencart/contact Надіслати Поділитися на інших сайтах More sharing options... 1 month later... Dimasscus Опубліковано: 7 листопада 2018 Share Опубліковано: 7 листопада 2018 Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил. Подскажите как эту глюч в тройке убрать? и .htaccess правил и с бубном танцевал- без результата. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 12 листопада 2018 Share Опубліковано: 12 листопада 2018 On 11/8/2018 at 2:04 AM, Dimasscus said: Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил. Подскажите как эту глюч в тройке убрать? и .htaccess правил и с бубном танцевал- без результата. cjmmon/home не работает в стандартном сео. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27700 и вроде как в Опенкарт Русская сборка, данная проблема пофикшена. Надіслати Поділитися на інших сайтах More sharing options... Dimasscus Опубліковано: 12 листопада 2018 Share Опубліковано: 12 листопада 2018 11 часов назад, lexxkrt сказал: cjmmon/home не работает в стандартном сео. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27700 и вроде как в Опенкарт Русская сборка, данная проблема пофикшена. да перепробовал все. не помогает Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 13 листопада 2018 Share Опубліковано: 13 листопада 2018 10 hours ago, Dimasscus said: да перепробовал все. не помогает в таблицу seo url маршрут common/home с ключом " " добавьте Надіслати Поділитися на інших сайтах More sharing options... 1 month later... vitalino000 Опубліковано: 22 грудня 2018 Share Опубліковано: 22 грудня 2018 (змінено) On 11/13/2018 at 8:30 AM, lexxkrt said: в таблицу seo url маршрут common/home с ключом " " добавьте Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Змінено 22 грудня 2018 користувачем vitalino000 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 22 грудня 2018 Share Опубліковано: 22 грудня 2018 seopro? Что? для 3-ки нет? Не верю!!! Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 (змінено) Третий день копаюсь в Opencart 3.0.2.0. Случай свёл меня с ним как с "наиболее популярным интернет-магазином". Уж лучше бы выбрал платный, ей богу. Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. В 28.09.2018 в 11:34, lexxkrt сказал: все работает в 3020, открывается по opencart/contact lexxkrt, не обманывайте пользователей. Из коробки это не работает. По крайней мере без каких-то дополнительных правок/модулей. Могу привести вам кусок кода, где обрабатываются ЧПУ перед выводом. И там закостылена обработка ссылок только на: 1. продукты, 2. производителей, 3. категории и страницы с информацией (только information/information!). Остальное игнорится и выводится без ЧПУ. Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. В 22.12.2018 в 22:52, vitalino000 сказал: Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Вам поможет следующее: web\catalog\controller\startup\seo_url.php, строку 124 return $link; заменяете на return str_replace(['index.php?route=','common/home'], [], $link); Также удостоверьтесь что в файле .htaccess у вас есть строчка RewriteRule ^([^?]*) index.php?route=$1 [L,QSA] Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! Змінено 23 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 10 минут назад, Scyth сказал: Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! ШО за бред? Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. 11 минут назад, Scyth сказал: Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. ваш гавнокод, на стройную структуру опенкартовского роутера. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 9 часов назад, chukcha сказал: Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. Буду рад если просветите. Пожалуйста, с сылками на код оригинальной коробочной сборки. P.S. Но идеи говнокода это не отменяет. Худшей и более затратной по ресурсам реализации ЧПУ я ещё ни в одном фреймворке не видел. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) UPD: Действительно, нашёл где используется _route_. В методе ControllerStartupSeoUrl->index() обрабатываются адреса с этим параметром. И если в SEO URL создать запись, как показал lexxkrt, то страница site.local/contact действительно откроет контакты. НО! Это не работает для генерации ссылок! Т.е. ссылка ЧПУ как бы есть, но она нигде не выводится (если только вы не вобьёте её вручную). В методе ControllerStartupSeoUrl->rewrite() закостылен ограниченный набор маршрутов, которые я описал в предыдущем сообщении. И ссылки по ключам, указанным в админке, в разделе SEO URL вы нигде не увидите. Хотя они и будут работать, но не будут генерироваться в коде. Кто же всё ещё сомневается в "говнокодости" системы opencart, добро пожаловать в этот самый класс ControllerStartupSeoUrl. Там полный набор bad practice, начиная от индусского перебора одной и той же переменной через if()... if()... if()... if()... и заканчивая ограничительными костылями or ... or ... or ... для конкретных маршрутов. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) В общем доработал коробочное решение. Базируется полностью на стандартной функциональности SEO URL. Что добавлено: Кэширование ссылок ЧПУ. Теперь каждый раз при отрисовке новой ссылки с ЧПУ, система не делает запрос в базу (иногда она делала и по несколько запросов на одну ссылку). Сто ссылок на страницу могло обернутся более сотней запросов в БД. Кому оно надо? Кэш ЧПУ очищается при добавлении/редактировании/удалении ссылки через стандартный интерфейс в админке. По тестам на реальных данных кэширование ускоряет отдачу ссылок на 2-3 порядка (минимум в 200 раз быстрее) . Гибкость в создании ЧПУ. Отныне любой маршрут без дополнительных параметров можно преобразовать в ЧПУ. А не только закостыленные раньше 4 варианта. Старый алгоритм, кстати, также работает, патч расширяет его, а не заменяет. ЧПУ для домашней страницы также работает! Достаточно добавить запись следующего вида: Патч прикрепляю (применять через git apply): SEO_URL+.patch SEO URL+ работает для Opencart 3.0.2.0. Для других версий не тестировалось. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 Печалька, проверьте сколько раз вы обращаетесь к кешу? Чем кешированные данные отличаются от реальных запросов? Вы плодите очень много не нужных сущносетй route=product/catetegory&path=23_54&sort=p.nameorder=DESC&limit=100 И т.д. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 2 часа назад, chukcha сказал: Чем кешированные данные отличаются от реальных запросов? Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? И в сравнении "очень много не нужных сущностей" против "очень много ненужных запросов", я выбираю первое. Хотя можно и поумнее сделать кэширование, согласен. Но смысла не вижу тратить на это время, если все всё равно "хавают" этот корявое коробочное решение, то для них 200-кратное увеличение производительности против 1000-кратного роли никакой не сыграет. Кроме того, кэш ограничен хранением строк (даже если подключить какой-нибудь memcache или APC, ограничения OpenCart не позволят использовать его в полную силу). Это ещё одна причина не тратить своё время на экстра-оптимизацию. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 о... мАмАдАрАгАя... Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
lexxkrt Опубліковано: 28 вересня 2018 Share Опубліковано: 28 вересня 2018 все работает в 3020, открывается по opencart/contact Надіслати Поділитися на інших сайтах More sharing options...
Dimasscus Опубліковано: 7 листопада 2018 Share Опубліковано: 7 листопада 2018 Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил. Подскажите как эту глюч в тройке убрать? и .htaccess правил и с бубном танцевал- без результата. Надіслати Поділитися на інших сайтах More sharing options...
lexxkrt Опубліковано: 12 листопада 2018 Share Опубліковано: 12 листопада 2018 On 11/8/2018 at 2:04 AM, Dimasscus said: Всем привет. не знаю что там может или не может встроенный чпу, но проблему с index.php?route=common/home он точно не осилил. Подскажите как эту глюч в тройке убрать? и .htaccess правил и с бубном танцевал- без результата. cjmmon/home не работает в стандартном сео. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27700 и вроде как в Опенкарт Русская сборка, данная проблема пофикшена. Надіслати Поділитися на інших сайтах More sharing options...
Dimasscus Опубліковано: 12 листопада 2018 Share Опубліковано: 12 листопада 2018 11 часов назад, lexxkrt сказал: cjmmon/home не работает в стандартном сео. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=27700 и вроде как в Опенкарт Русская сборка, данная проблема пофикшена. да перепробовал все. не помогает Надіслати Поділитися на інших сайтах More sharing options...
lexxkrt Опубліковано: 13 листопада 2018 Share Опубліковано: 13 листопада 2018 10 hours ago, Dimasscus said: да перепробовал все. не помогает в таблицу seo url маршрут common/home с ключом " " добавьте Надіслати Поділитися на інших сайтах More sharing options...
vitalino000 Опубліковано: 22 грудня 2018 Share Опубліковано: 22 грудня 2018 (змінено) On 11/13/2018 at 8:30 AM, lexxkrt said: в таблицу seo url маршрут common/home с ключом " " добавьте Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Змінено 22 грудня 2018 користувачем vitalino000 Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 22 грудня 2018 Share Опубліковано: 22 грудня 2018 seopro? Что? для 3-ки нет? Не верю!!! Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 (змінено) Третий день копаюсь в Opencart 3.0.2.0. Случай свёл меня с ним как с "наиболее популярным интернет-магазином". Уж лучше бы выбрал платный, ей богу. Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. В 28.09.2018 в 11:34, lexxkrt сказал: все работает в 3020, открывается по opencart/contact lexxkrt, не обманывайте пользователей. Из коробки это не работает. По крайней мере без каких-то дополнительных правок/модулей. Могу привести вам кусок кода, где обрабатываются ЧПУ перед выводом. И там закостылена обработка ссылок только на: 1. продукты, 2. производителей, 3. категории и страницы с информацией (только information/information!). Остальное игнорится и выводится без ЧПУ. Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. В 22.12.2018 в 22:52, vitalino000 сказал: Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Вам поможет следующее: web\catalog\controller\startup\seo_url.php, строку 124 return $link; заменяете на return str_replace(['index.php?route=','common/home'], [], $link); Также удостоверьтесь что в файле .htaccess у вас есть строчка RewriteRule ^([^?]*) index.php?route=$1 [L,QSA] Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! Змінено 23 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 10 минут назад, Scyth сказал: Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! ШО за бред? Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. 11 минут назад, Scyth сказал: Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. ваш гавнокод, на стройную структуру опенкартовского роутера. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 9 часов назад, chukcha сказал: Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. Буду рад если просветите. Пожалуйста, с сылками на код оригинальной коробочной сборки. P.S. Но идеи говнокода это не отменяет. Худшей и более затратной по ресурсам реализации ЧПУ я ещё ни в одном фреймворке не видел. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) UPD: Действительно, нашёл где используется _route_. В методе ControllerStartupSeoUrl->index() обрабатываются адреса с этим параметром. И если в SEO URL создать запись, как показал lexxkrt, то страница site.local/contact действительно откроет контакты. НО! Это не работает для генерации ссылок! Т.е. ссылка ЧПУ как бы есть, но она нигде не выводится (если только вы не вобьёте её вручную). В методе ControllerStartupSeoUrl->rewrite() закостылен ограниченный набор маршрутов, которые я описал в предыдущем сообщении. И ссылки по ключам, указанным в админке, в разделе SEO URL вы нигде не увидите. Хотя они и будут работать, но не будут генерироваться в коде. Кто же всё ещё сомневается в "говнокодости" системы opencart, добро пожаловать в этот самый класс ControllerStartupSeoUrl. Там полный набор bad practice, начиная от индусского перебора одной и той же переменной через if()... if()... if()... if()... и заканчивая ограничительными костылями or ... or ... or ... для конкретных маршрутов. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) В общем доработал коробочное решение. Базируется полностью на стандартной функциональности SEO URL. Что добавлено: Кэширование ссылок ЧПУ. Теперь каждый раз при отрисовке новой ссылки с ЧПУ, система не делает запрос в базу (иногда она делала и по несколько запросов на одну ссылку). Сто ссылок на страницу могло обернутся более сотней запросов в БД. Кому оно надо? Кэш ЧПУ очищается при добавлении/редактировании/удалении ссылки через стандартный интерфейс в админке. По тестам на реальных данных кэширование ускоряет отдачу ссылок на 2-3 порядка (минимум в 200 раз быстрее) . Гибкость в создании ЧПУ. Отныне любой маршрут без дополнительных параметров можно преобразовать в ЧПУ. А не только закостыленные раньше 4 варианта. Старый алгоритм, кстати, также работает, патч расширяет его, а не заменяет. ЧПУ для домашней страницы также работает! Достаточно добавить запись следующего вида: Патч прикрепляю (применять через git apply): SEO_URL+.patch SEO URL+ работает для Opencart 3.0.2.0. Для других версий не тестировалось. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 Печалька, проверьте сколько раз вы обращаетесь к кешу? Чем кешированные данные отличаются от реальных запросов? Вы плодите очень много не нужных сущносетй route=product/catetegory&path=23_54&sort=p.nameorder=DESC&limit=100 И т.д. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 2 часа назад, chukcha сказал: Чем кешированные данные отличаются от реальных запросов? Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? И в сравнении "очень много не нужных сущностей" против "очень много ненужных запросов", я выбираю первое. Хотя можно и поумнее сделать кэширование, согласен. Но смысла не вижу тратить на это время, если все всё равно "хавают" этот корявое коробочное решение, то для них 200-кратное увеличение производительности против 1000-кратного роли никакой не сыграет. Кроме того, кэш ограничен хранением строк (даже если подключить какой-нибудь memcache или APC, ограничения OpenCart не позволят использовать его в полную силу). Это ещё одна причина не тратить своё время на экстра-оптимизацию. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 о... мАмАдАрАгАя... Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Scyth Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 (змінено) Третий день копаюсь в Opencart 3.0.2.0. Случай свёл меня с ним как с "наиболее популярным интернет-магазином". Уж лучше бы выбрал платный, ей богу. Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. В 28.09.2018 в 11:34, lexxkrt сказал: все работает в 3020, открывается по opencart/contact lexxkrt, не обманывайте пользователей. Из коробки это не работает. По крайней мере без каких-то дополнительных правок/модулей. Могу привести вам кусок кода, где обрабатываются ЧПУ перед выводом. И там закостылена обработка ссылок только на: 1. продукты, 2. производителей, 3. категории и страницы с информацией (только information/information!). Остальное игнорится и выводится без ЧПУ. Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. В 22.12.2018 в 22:52, vitalino000 сказал: Добавляли, к сожалению, не работает. Проблема всё ещё актуальна (используется OC 3.0.2.0) Вам поможет следующее: web\catalog\controller\startup\seo_url.php, строку 124 return $link; заменяете на return str_replace(['index.php?route=','common/home'], [], $link); Также удостоверьтесь что в файле .htaccess у вас есть строчка RewriteRule ^([^?]*) index.php?route=$1 [L,QSA] Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! Змінено 23 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 23 грудня 2018 Share Опубліковано: 23 грудня 2018 10 минут назад, Scyth сказал: Именно "route=", а не "_route_=", как в оригинальном коробочном .htaccess! ШО за бред? Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. 11 минут назад, Scyth сказал: Так что каких-то красивых и правильных решений здесь предлагать не буду. Ударим костылями по говнокоду. ваш гавнокод, на стройную структуру опенкартовского роутера. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 9 часов назад, chukcha сказал: Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. Буду рад если просветите. Пожалуйста, с сылками на код оригинальной коробочной сборки. P.S. Но идеи говнокода это не отменяет. Худшей и более затратной по ресурсам реализации ЧПУ я ещё ни в одном фреймворке не видел. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) UPD: Действительно, нашёл где используется _route_. В методе ControllerStartupSeoUrl->index() обрабатываются адреса с этим параметром. И если в SEO URL создать запись, как показал lexxkrt, то страница site.local/contact действительно откроет контакты. НО! Это не работает для генерации ссылок! Т.е. ссылка ЧПУ как бы есть, но она нигде не выводится (если только вы не вобьёте её вручную). В методе ControllerStartupSeoUrl->rewrite() закостылен ограниченный набор маршрутов, которые я описал в предыдущем сообщении. И ссылки по ключам, указанным в админке, в разделе SEO URL вы нигде не увидите. Хотя они и будут работать, но не будут генерироваться в коде. Кто же всё ещё сомневается в "говнокодости" системы opencart, добро пожаловать в этот самый класс ControllerStartupSeoUrl. Там полный набор bad practice, начиная от индусского перебора одной и той же переменной через if()... if()... if()... if()... и заканчивая ограничительными костылями or ... or ... or ... для конкретных маршрутов. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) В общем доработал коробочное решение. Базируется полностью на стандартной функциональности SEO URL. Что добавлено: Кэширование ссылок ЧПУ. Теперь каждый раз при отрисовке новой ссылки с ЧПУ, система не делает запрос в базу (иногда она делала и по несколько запросов на одну ссылку). Сто ссылок на страницу могло обернутся более сотней запросов в БД. Кому оно надо? Кэш ЧПУ очищается при добавлении/редактировании/удалении ссылки через стандартный интерфейс в админке. По тестам на реальных данных кэширование ускоряет отдачу ссылок на 2-3 порядка (минимум в 200 раз быстрее) . Гибкость в создании ЧПУ. Отныне любой маршрут без дополнительных параметров можно преобразовать в ЧПУ. А не только закостыленные раньше 4 варианта. Старый алгоритм, кстати, также работает, патч расширяет его, а не заменяет. ЧПУ для домашней страницы также работает! Достаточно добавить запись следующего вида: Патч прикрепляю (применять через git apply): SEO_URL+.patch SEO URL+ работает для Opencart 3.0.2.0. Для других версий не тестировалось. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 Печалька, проверьте сколько раз вы обращаетесь к кешу? Чем кешированные данные отличаются от реальных запросов? Вы плодите очень много не нужных сущносетй route=product/catetegory&path=23_54&sort=p.nameorder=DESC&limit=100 И т.д. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 2 часа назад, chukcha сказал: Чем кешированные данные отличаются от реальных запросов? Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? И в сравнении "очень много не нужных сущностей" против "очень много ненужных запросов", я выбираю первое. Хотя можно и поумнее сделать кэширование, согласен. Но смысла не вижу тратить на это время, если все всё равно "хавают" этот корявое коробочное решение, то для них 200-кратное увеличение производительности против 1000-кратного роли никакой не сыграет. Кроме того, кэш ограничен хранением строк (даже если подключить какой-нибудь memcache или APC, ограничения OpenCart не позволят использовать его в полную силу). Это ещё одна причина не тратить своё время на экстра-оптимизацию. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 о... мАмАдАрАгАя... Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 9 часов назад, chukcha сказал: Если вы не разобрались как работает seo_url, то не надо гнать пургу на движок. Буду рад если просветите. Пожалуйста, с сылками на код оригинальной коробочной сборки. P.S. Но идеи говнокода это не отменяет. Худшей и более затратной по ресурсам реализации ЧПУ я ещё ни в одном фреймворке не видел. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options...
Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) UPD: Действительно, нашёл где используется _route_. В методе ControllerStartupSeoUrl->index() обрабатываются адреса с этим параметром. И если в SEO URL создать запись, как показал lexxkrt, то страница site.local/contact действительно откроет контакты. НО! Это не работает для генерации ссылок! Т.е. ссылка ЧПУ как бы есть, но она нигде не выводится (если только вы не вобьёте её вручную). В методе ControllerStartupSeoUrl->rewrite() закостылен ограниченный набор маршрутов, которые я описал в предыдущем сообщении. И ссылки по ключам, указанным в админке, в разделе SEO URL вы нигде не увидите. Хотя они и будут работать, но не будут генерироваться в коде. Кто же всё ещё сомневается в "говнокодости" системы opencart, добро пожаловать в этот самый класс ControllerStartupSeoUrl. Там полный набор bad practice, начиная от индусского перебора одной и той же переменной через if()... if()... if()... if()... и заканчивая ограничительными костылями or ... or ... or ... для конкретных маршрутов. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options...
Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) В общем доработал коробочное решение. Базируется полностью на стандартной функциональности SEO URL. Что добавлено: Кэширование ссылок ЧПУ. Теперь каждый раз при отрисовке новой ссылки с ЧПУ, система не делает запрос в базу (иногда она делала и по несколько запросов на одну ссылку). Сто ссылок на страницу могло обернутся более сотней запросов в БД. Кому оно надо? Кэш ЧПУ очищается при добавлении/редактировании/удалении ссылки через стандартный интерфейс в админке. По тестам на реальных данных кэширование ускоряет отдачу ссылок на 2-3 порядка (минимум в 200 раз быстрее) . Гибкость в создании ЧПУ. Отныне любой маршрут без дополнительных параметров можно преобразовать в ЧПУ. А не только закостыленные раньше 4 варианта. Старый алгоритм, кстати, также работает, патч расширяет его, а не заменяет. ЧПУ для домашней страницы также работает! Достаточно добавить запись следующего вида: Патч прикрепляю (применять через git apply): SEO_URL+.patch SEO URL+ работает для Opencart 3.0.2.0. Для других версий не тестировалось. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 Печалька, проверьте сколько раз вы обращаетесь к кешу? Чем кешированные данные отличаются от реальных запросов? Вы плодите очень много не нужных сущносетй route=product/catetegory&path=23_54&sort=p.nameorder=DESC&limit=100 И т.д. Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 2 часа назад, chukcha сказал: Чем кешированные данные отличаются от реальных запросов? Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? И в сравнении "очень много не нужных сущностей" против "очень много ненужных запросов", я выбираю первое. Хотя можно и поумнее сделать кэширование, согласен. Но смысла не вижу тратить на это время, если все всё равно "хавают" этот корявое коробочное решение, то для них 200-кратное увеличение производительности против 1000-кратного роли никакой не сыграет. Кроме того, кэш ограничен хранением строк (даже если подключить какой-нибудь memcache или APC, ограничения OpenCart не позволят использовать его в полную силу). Это ещё одна причина не тратить своё время на экстра-оптимизацию. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 о... мАмАдАрАгАя... Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich × Уже зареєстровані? Ввійти Реєстрація Ваші замовлення Назад Придбані модулі та шаблони Ваші рахунки Лист очікувань Альтернативні контакти Форум Новини ocStore Назад Офіційний сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Завантажити ocStore Документація Історія версій ocStore Блоги Модулі Шаблони Назад Безкоштовні шаблони Платні шаблони Де купувати модулі? Послуги FAQ OpenCart.Pro Назад Демо Купити Порівняння × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Scyth Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 (змінено) 2 часа назад, chukcha сказал: Чем кешированные данные отличаются от реальных запросов? Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? И в сравнении "очень много не нужных сущностей" против "очень много ненужных запросов", я выбираю первое. Хотя можно и поумнее сделать кэширование, согласен. Но смысла не вижу тратить на это время, если все всё равно "хавают" этот корявое коробочное решение, то для них 200-кратное увеличение производительности против 1000-кратного роли никакой не сыграет. Кроме того, кэш ограничен хранением строк (даже если подключить какой-нибудь memcache или APC, ограничения OpenCart не позволят использовать его в полную силу). Это ещё одна причина не тратить своё время на экстра-оптимизацию. Змінено 24 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 о... мАмАдАрАгАя... Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2 Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Otvet Опубліковано: 24 грудня 2018 Share Опубліковано: 24 грудня 2018 6 часов назад, Scyth сказал: Минимум 200-кратное увеличение производительности данного метода ни о чём, конечно не говорит, да? допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 3.x Opencart 3.x: Налаштування та оптимізація ЧПУ Системных страниц Opencart 3.0.2
Scyth Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) 13 часов назад, Otvet сказал: допустим на странице 30 ссылок всего записей ЧПУ 70тыс что быстрее: 30 запросов по 1мс или обращение к ФС, чтение с диска пары/десятка мегабайт и потом распарсить json всё это ? Я писал выше, что можно было бы сделать кэширование поумнее и с многоуровневой вложенностью (чтобы не тянуть полный кэш, а только необходимые данные из него и вообще обойтись без JSON-кодирования), но опенкартовская реализация кэша ограничивает входящие данные строковым типом. Для интереса, глянул seoPro, который тут выше Чукча расхваливал, так вот он использует подобный же принцип кеширования. Вытягивает ВСЕ записи ЧПУ и помещает их в кэш. И уже с кэшем работает. Так что можете проверить производительность метода на своих 70 тысяч товаров с включенным seoPro и без него. Но навскидку могу сказать, что кэш из 2 мегабайт (если предположить что ключ и значение каждой ссылки занимает в среднем 32 байта) отработает быстрее, чем 30 запросов к БД. Для справки, БД тоже тянет данные и свой кэш с ФС. Но в первом случае идёт одно обращение к ФС, во втором - 30. Если же подключен memcache, то СУБД вообще сосёт палец в сторонке, т.к. обращения к ФС вообще не произойдёт в первом случае. Блин, зачем я всё это рассказываю. Люди, погуглите про кэширование, что это, как оно применяется и зачем оно нужно. Такие примитивные вопросы задаёте, ей богу. Змінено 25 грудня 2018 користувачем Scyth Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Кроме того, вы еще в пересохраняете кеш с каждым запросом И.. еще.. при 70к - сеопро нужно пользовать не кешируемый. Надіслати Поділитися на інших сайтах More sharing options... lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації [Поддержка] Открытие внешних ссылок в новом окне + nofollow Автор: vayboy, 29 вересня 2016 ссылки 0 відповідей 1 221 перегляд vayboy 29 вересня 2016 [Поддержка] FastLinker - быстрый доступ к любому модулю Автор: Ngmt, 11 жовтня 2017 закладки быстрый доступ (і ще %d) Теги: закладки быстрый доступ ссылки админка администраторская панель 1 відповідь 1 034 перегляди Wild 17 листопада 2017 [Поддержка] Генерация SEO URL Автор: bodyau, 16 жовтня 2019 seourl чпу (і ще %d) Теги: seourl чпу генерация чпу url alias 1 відповідь 858 переглядів nuclearus 21 лютого 2020 [Поддержка] Блок ссылок для категории Автор: SirGrey, 9 липня 2020 категория тег ссылки (і ще %d) Теги: категория тег ссылки ссылка seo ссылки в категории 3 відповіді 1 052 перегляди SirGrey 18 жовтня 2021 Удаление циклических ссылок Автор: rwebook, 16 січня 2020 удаление циклических ссылок циклические ссылки (і ще %d) Теги: удаление циклических ссылок циклические ссылки циклические ссылки 0 коментарів 3 381 перегляд rwebook 17 січня 2020 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
lexxkrt Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 (змінено) On 12/24/2018 at 12:22 AM, Scyth said: Такого говнокода под капотом я не видел со времён чтения "творений" индусских разработчиков. могу подсказать, битрикс. такого говнокода вы точно нигде не увидите. перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Змінено 25 грудня 2018 користувачем lexxkrt Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 25 грудня 2018 Share Опубліковано: 25 грудня 2018 3 минуты назад, lexxkrt сказал: могу подсказать, битрикс. а если заглянуть под капот магенты, то там тоже удобрений много. Когда человек пришел с другого движка, то простота кода опенкарта шокирует. 1 Надіслати Поділитися на інших сайтах More sharing options... Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options... Назад 1 2 Вперед Сторінка 1 з 2 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Scyth Опубліковано: 26 грудня 2018 Share Опубліковано: 26 грудня 2018 В 25.12.2018 в 12:52, chukcha сказал: Вы в курсе что сеопро - сначала кеширует, а затем использует Вы же на каждый запрос тянет кеш а потом сохраняете Да, в курсе. У SeoPro одна операция с кэшем (вытянуть) на каждый запрос, у меня две (вытянуть и в конце сохранить). В 25.12.2018 в 12:55, lexxkrt сказал: перечитал все вышесказанное, кроме воплей как все хреново не увидел ни одного примера говнокода. Я же предлагал выше заглянуть в класс ControllerStartupSeoUrl. Или вы хотите чтобы я цитатами кода тут топик заспамил? ОК. Как вам такой пример творения индийского школьника? Всё из того же класса, далеко ходить не надо. if ($url[0] == 'product_id') { $this->request->get['product_id'] = $url[1]; } if ($url[0] == 'category_id') { if (!isset($this->request->get['path'])) { $this->request->get['path'] = $url[1]; } else { $this->request->get['path'] .= '_' . $url[1]; } } if ($url[0] == 'manufacturer_id') { $this->request->get['manufacturer_id'] = $url[1]; } if ($url[0] == 'information_id') { $this->request->get['information_id'] = $url[1]; } Надіслати Поділитися на інших сайтах More sharing options...
Recommended Posts