mrteray Опубліковано: 30 листопада 2018 Share Опубліковано: 30 листопада 2018 В 21.11.2018 в 13:46, Landistore сказал: Да и в самой админка тоже особых изменений нету. Единственное это бутстрап обновили и добавили пару кнопок. Ещё фильтр тут более привлекателен. А в целом не думаю что стоит переезжать с 2.3. Именно 2.3 ещё будет актуальной долгое время ну я уже присматриваюсь к коду, собираюсь все наработки понемногу переносить, точнее подготавливаю свою голову к этому, а уже на рейлизе буду вносить правки, я просто уже хочу так сказать почистить код от мусора, концы от модулей всяких галимых почисить, а так же базу..сам на 2.1 сижу, на 2.3 даже рыпаться не хочу, влом потом еще и с 2.3 на 3.1 прыгать Надіслати Поділитися на інших сайтах More sharing options...
OldAine Опубліковано: 3 грудня 2018 Share Опубліковано: 3 грудня 2018 Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность) Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается. С простым чпу работает... Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил Надіслати Поділитися на інших сайтах More sharing options... snastik Опубліковано: 3 грудня 2018 Share Опубліковано: 3 грудня 2018 1 час назад, OldAine сказал: Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность) Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается. С простым чпу работает... Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Надіслати Поділитися на інших сайтах More sharing options... OldAine Опубліковано: 3 грудня 2018 Share Опубліковано: 3 грудня 2018 1 минуту назад, snastik сказал: отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ок, спасибо, на днях протестирую. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... OldAine Опубліковано: 14 грудня 2018 Share Опубліковано: 14 грудня 2018 Скачал последнюю бета версию с гитхаба... Установил на openserver: создал папку ocstore3020 и одноименную базу в .htaccess изменил путь на RewriteRule ^([^?]*) ocstore3020/index.php?_route_=$1 [L,QSA] Далее, в настройках, включил чпу и всё, что связано с сео-про... Первое - С включенным seo_pro не работает главная страница (её просто нет, она не прогружается) (вот фото) Второе - Почему-то не работает категория "Компоненты"... Третье - В описание пустых страниц, попадает содержимое пустой корзины Вот журнал ошибок: 2018-12-09 22:41:50 - PHP Warning: fopen(D:/Work/OpenServer-528-basic/OSPanel/domains/localhost/ocstore3020/admin/view/stylesheet/bootstrap.css): failed to open stream: Invalid argument in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 14 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 16 2018-12-09 22:41:50 - PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 18 2018-12-09 22:41:50 - PHP Warning: fflush() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 20 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 22 2018-12-09 22:41:50 - PHP Warning: fclose() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 24 А вот проблемы с невозможностью установить движок без префикса больше нет))) Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Надіслати Поділитися на інших сайтах More sharing options... 5 weeks later... Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
snastik Опубліковано: 3 грудня 2018 Share Опубліковано: 3 грудня 2018 1 час назад, OldAine сказал: Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность) Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается. С простым чпу работает... Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Надіслати Поділитися на інших сайтах More sharing options... OldAine Опубліковано: 3 грудня 2018 Share Опубліковано: 3 грудня 2018 1 минуту назад, snastik сказал: отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ок, спасибо, на днях протестирую. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... OldAine Опубліковано: 14 грудня 2018 Share Опубліковано: 14 грудня 2018 Скачал последнюю бета версию с гитхаба... Установил на openserver: создал папку ocstore3020 и одноименную базу в .htaccess изменил путь на RewriteRule ^([^?]*) ocstore3020/index.php?_route_=$1 [L,QSA] Далее, в настройках, включил чпу и всё, что связано с сео-про... Первое - С включенным seo_pro не работает главная страница (её просто нет, она не прогружается) (вот фото) Второе - Почему-то не работает категория "Компоненты"... Третье - В описание пустых страниц, попадает содержимое пустой корзины Вот журнал ошибок: 2018-12-09 22:41:50 - PHP Warning: fopen(D:/Work/OpenServer-528-basic/OSPanel/domains/localhost/ocstore3020/admin/view/stylesheet/bootstrap.css): failed to open stream: Invalid argument in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 14 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 16 2018-12-09 22:41:50 - PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 18 2018-12-09 22:41:50 - PHP Warning: fflush() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 20 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 22 2018-12-09 22:41:50 - PHP Warning: fclose() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 24 А вот проблемы с невозможностью установить движок без префикса больше нет))) Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Надіслати Поділитися на інших сайтах More sharing options... 5 weeks later... Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
OldAine Опубліковано: 3 грудня 2018 Share Опубліковано: 3 грудня 2018 1 минуту назад, snastik сказал: отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ок, спасибо, на днях протестирую. Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... OldAine Опубліковано: 14 грудня 2018 Share Опубліковано: 14 грудня 2018 Скачал последнюю бета версию с гитхаба... Установил на openserver: создал папку ocstore3020 и одноименную базу в .htaccess изменил путь на RewriteRule ^([^?]*) ocstore3020/index.php?_route_=$1 [L,QSA] Далее, в настройках, включил чпу и всё, что связано с сео-про... Первое - С включенным seo_pro не работает главная страница (её просто нет, она не прогружается) (вот фото) Второе - Почему-то не работает категория "Компоненты"... Третье - В описание пустых страниц, попадает содержимое пустой корзины Вот журнал ошибок: 2018-12-09 22:41:50 - PHP Warning: fopen(D:/Work/OpenServer-528-basic/OSPanel/domains/localhost/ocstore3020/admin/view/stylesheet/bootstrap.css): failed to open stream: Invalid argument in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 14 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 16 2018-12-09 22:41:50 - PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 18 2018-12-09 22:41:50 - PHP Warning: fflush() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 20 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 22 2018-12-09 22:41:50 - PHP Warning: fclose() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 24 А вот проблемы с невозможностью установить движок без префикса больше нет))) Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Надіслати Поділитися на інших сайтах More sharing options... 5 weeks later... Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
OldAine Опубліковано: 14 грудня 2018 Share Опубліковано: 14 грудня 2018 Скачал последнюю бета версию с гитхаба... Установил на openserver: создал папку ocstore3020 и одноименную базу в .htaccess изменил путь на RewriteRule ^([^?]*) ocstore3020/index.php?_route_=$1 [L,QSA] Далее, в настройках, включил чпу и всё, что связано с сео-про... Первое - С включенным seo_pro не работает главная страница (её просто нет, она не прогружается) (вот фото) Второе - Почему-то не работает категория "Компоненты"... Третье - В описание пустых страниц, попадает содержимое пустой корзины Вот журнал ошибок: 2018-12-09 22:41:50 - PHP Warning: fopen(D:/Work/OpenServer-528-basic/OSPanel/domains/localhost/ocstore3020/admin/view/stylesheet/bootstrap.css): failed to open stream: Invalid argument in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 14 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 16 2018-12-09 22:41:50 - PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 18 2018-12-09 22:41:50 - PHP Warning: fflush() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 20 2018-12-09 22:41:50 - PHP Warning: flock() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 22 2018-12-09 22:41:50 - PHP Warning: fclose() expects parameter 1 to be resource, boolean given in D:\Work\OpenServer-528-basic\OSPanel\domains\localhost\ocstore3020\admin\controller\startup\sass.php on line 24 А вот проблемы с невозможностью установить движок без префикса больше нет))) Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Надіслати Поділитися на інших сайтах More sharing options... 5 weeks later... Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexDW Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Надіслати Поділитися на інших сайтах More sharing options... markimax Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Надіслати Поділитися на інших сайтах More sharing options... 5 weeks later... Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
markimax Опубліковано: 15 грудня 2018 Share Опубліковано: 15 грудня 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Надіслати Поділитися на інших сайтах More sharing options... 5 weeks later... Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Stealth421 Опубліковано: 13 січня 2019 Share Опубліковано: 13 січня 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Надіслати Поділитися на інших сайтах More sharing options... 2 weeks later... reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
reDream Опубліковано: 24 січня 2019 Share Опубліковано: 24 січня 2019 Я не знаю, кто писал seo pro для этой версии, но у меня для него новость. private function getQueryByKeyword($keyword, $language_id = null) { $query = null; $store_id = (int)$this->config->get('config_store_id'); if (!$language_id) $language_id = (int)$this->config->get('config_language_id'); if ($this->config->get('config_seo_url_cache')){ if (isset($this->queries[$keyword][$store_id][$language_id])) $query = $this->queries[$keyword][$store_id][$language_id]; } else { $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); $query = !empty($_query->row) ? (string)$_query->row['query'] : null; } return $query; } В этом методе парсятся $_GET - параметры. Так вот, новость: в $_GET, как и в $_POST могут быть не только строки, а ещё и МАССИВЫ!!! И вот на этом моменте: $_query = $this->db->query("SELECT query FROM " . DB_PREFIX . "seo_url WHERE keyword = '" . $this->db->escape($keyword) . "' AND store_id = '" . $store_id . "' AND language_id = '" . $language_id . "' LIMIT 1"); при попытке escape'нуть массив мы получаем: Warning: mysqli::real_escape_string() expects parameter 1 to be string, array given in .../system/library/db/mysqli.php on line 45 Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Надіслати Поділитися на інших сайтах More sharing options... Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Otvet Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 чтоб не использовать explode в фильтре или тип того Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Надіслати Поділитися на інших сайтах More sharing options... reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
reDream Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Надіслати Поділитися на інших сайтах More sharing options... n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
n3bo Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Надіслати Поділитися на інших сайтах More sharing options...
vier Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень 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 і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 1 смотрим в гит сюда: https://github.com/opencart/opencart/blob/master/upload/catalog/controller/startup/seo_url.php строка 26. Даниэль Керр знать не знает ни про какие массивы. 2. Следим за руками... // Decode URL if (isset($this->request->get['_route_'])) { $parts = explode('/', $this->request->get['_route_']); //seopro prepare route if($this->config->get('config_seo_pro')){ $parts = $this->seo_pro->prepareRoute($parts); } В контроллер seo_url попадает не параметр $_GET а строка $this->request->get['_route_'], которая в нативном классе превращается в одномерный массив $parts. Который в свою очередь в seo_pro уже обрабатывается методом baseRewrite, в котором для каждого строковой части урла, разбитого на куски через разделитель '/' ищутся соответствия, в базе, которые могут указывать на тот или иной роут, соответствующий урлу. В каком месте туда может попасть массив? 3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами? 4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT? 5. Даже если вы отошли от принятого CodeStyle - кто мешает вам сделать исключения для ваших поделок в код ? 6. Смотрим в сео про 1.5 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias"); $this->cache_data = array(); foreach ($query->rows as $row) { $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Смотрим в 2.3 public function __construct($registry) { parent::__construct($registry); $this->cache_data = $this->cache->get('seo_pro'); if (!$this->cache_data) { $query = $this->db->query("SELECT LOWER(`keyword`) as 'keyword', `query` FROM " . DB_PREFIX . "url_alias ORDER BY url_alias_id"); $this->cache_data = array(); foreach ($query->rows as $row) { if (isset($this->cache_data['keywords'][$row['keyword']])){ $this->cache_data['keywords'][$row['query']] = $this->cache_data['keywords'][$row['keyword']]; continue; } $this->cache_data['keywords'][$row['keyword']] = $row['query']; $this->cache_data['queries'][$row['query']] = $row['keyword']; } $this->cache->set('seo_pro', $this->cache_data); } } Как то вы оба два не очень замечали, что здесь тоже про ваши массивы ни слова. Какая то печаль беда... Вместо того чтобы приносить пользу коммьюнити, только вопли. Стыдно господа должно быть. 1 Надіслати Поділитися на інших сайтах More sharing options...
chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 @Yoda Да зачем напрягаться показывать, то что люди не видят 54 минуты назад, vier сказал: пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Гдe здесь keyword? В _route_ нет GET, он сам get @reDream @vier учите матчасть $query = $this->getQueryByKeyword($parts[$id]); Где здесь массив? prepareRoute($parts) { ага массив $parts = $parts = explode('/', $this->request->get['_route_']); ГДЕ МАссив????? Надіслати Поділитися на інших сайтах More sharing options... Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options... auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Повний пакет SEO Автор: GeekoDev SameSite Session Fix Opencart 3 Автор: web_bond SP Telegram повідомлення FREE Автор: spectre Відключити порожні категорії Автор: spectre SEO Автор тексту категорії / фільтра / блогу з датою оновлення контенту + мікророзмітка Автор: radaevich
Yoda Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Надіслати Поділитися на інших сайтах More sharing options...
auditor Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Надіслати Поділитися на інших сайтах More sharing options... chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Основний Новини та оголошення ocStore 3.0.2.0b1 версия для тестирования
chukcha Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Надіслати Поділитися на інших сайтах More sharing options... AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
AlexDW Опубліковано: 25 січня 2019 Share Опубліковано: 25 січня 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Надіслати Поділитися на інших сайтах More sharing options... 5 р dinox unpinned та unfeatured this topic Назад 3 4 5 6 7 8 9 Вперед Сторінка 8 з 9 Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts