mrteray Опубликовано: 30 ноября 2018 Поделиться Опубликовано: 30 ноября 2018 В 21.11.2018 в 13:46, Landistore сказал: Да и в самой админка тоже особых изменений нету. Единственное это бутстрап обновили и добавили пару кнопок. Ещё фильтр тут более привлекателен. А в целом не думаю что стоит переезжать с 2.3. Именно 2.3 ещё будет актуальной долгое время ну я уже присматриваюсь к коду, собираюсь все наработки понемногу переносить, точнее подготавливаю свою голову к этому, а уже на рейлизе буду вносить правки, я просто уже хочу так сказать почистить код от мусора, концы от модулей всяких галимых почисить, а так же базу..сам на 2.1 сижу, на 2.3 даже рыпаться не хочу, влом потом еще и с 2.3 на 3.1 прыгать Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
OldAine Опубликовано: 3 декабря 2018 Поделиться Опубликовано: 3 декабря 2018 Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность) Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается. С простым чпу работает... Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... snastik Опубликовано: 3 декабря 2018 Поделиться Опубликовано: 3 декабря 2018 1 час назад, OldAine сказал: Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность) Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается. С простым чпу работает... Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OldAine Опубликовано: 3 декабря 2018 Поделиться Опубликовано: 3 декабря 2018 1 минуту назад, snastik сказал: отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ок, спасибо, на днях протестирую. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... OldAine Опубликовано: 14 декабря 2018 Поделиться Опубликовано: 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 А вот проблемы с невозможностью установить движок без префикса больше нет))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
snastik Опубликовано: 3 декабря 2018 Поделиться Опубликовано: 3 декабря 2018 1 час назад, OldAine сказал: Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность) Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается. С простым чпу работает... Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... OldAine Опубликовано: 3 декабря 2018 Поделиться Опубликовано: 3 декабря 2018 1 минуту назад, snastik сказал: отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ок, спасибо, на днях протестирую. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... OldAine Опубликовано: 14 декабря 2018 Поделиться Опубликовано: 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 А вот проблемы с невозможностью установить движок без префикса больше нет))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
OldAine Опубликовано: 3 декабря 2018 Поделиться Опубликовано: 3 декабря 2018 1 минуту назад, snastik сказал: отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0 и если ошибки будут скопируйте их потом сюда Ок, спасибо, на днях протестирую. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... OldAine Опубликовано: 14 декабря 2018 Поделиться Опубликовано: 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 А вот проблемы с невозможностью установить движок без префикса больше нет))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
OldAine Опубликовано: 14 декабря 2018 Поделиться Опубликовано: 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 А вот проблемы с невозможностью установить движок без префикса больше нет))) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
AlexDW Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 9 часов назад, OldAine сказал: Второе - Почему-то не работает категория "Компоненты"... потому что косяк seopro , решение здесь 9 часов назад, OldAine сказал: Третье - В описание пустых страниц, попадает содержимое пустой корзины наследственное от оригинального движка, обсуждалось здесь Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
markimax Опубликовано: 15 декабря 2018 Поделиться Опубликовано: 15 декабря 2018 16 минут назад, AlexDW сказал: потому что косяк seopro , Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore К моНАХам такие фарш костлыли 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 недель спустя... Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Stealth421 Опубликовано: 13 января 2019 Поделиться Опубликовано: 13 января 2019 вышел opencart v3.0.3.1 January 07, 2019 кто-то пробовал? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 недели спустя... reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
reDream Опубликовано: 24 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Otvet Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 чтоб не использовать explode в фильтре или тип того Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 5 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, vier сказал: данная переменная может быть не только строкой. в какой момент Приведите пример Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 6 часов назад, AlexDW сказал: а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив? А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 9 минут назад, chukcha сказал: Приведите пример http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11 Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 вы посмотрели код метода? выборка из !!!! Правильно!!!! массива по ключу.. По ОДНОМУ ключу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
reDream Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
n3bo Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 8 минут назад, reDream сказал: Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу а еще доки нет.... да и проверки переменной..эх Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
vier Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 1 час назад, chukcha сказал: в какой момент Приведите пример пример: site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 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 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 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_']); ГДЕ МАссив????? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
Yoda Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей напишем и будет нам покушать. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
auditor Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Основной Новости и анонсы ocStore 3.0.2.0b1 версия для тестирования
chukcha Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 15 минут назад, Yoda сказал: Мы тут баг нашли. Был бы баг.. Баг там есть и он был озвучен.. Но не в этом месте. А "баг" найден фильтро писателями.. .. Ну так научитесь писать свои преобразователи, это не сложно.. И не лезьте в системный.. Это на порядок проще.. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
AlexDW Опубликовано: 25 января 2019 Поделиться Опубликовано: 25 января 2019 4 минуты назад, auditor сказал: от написанного Yavesik, если не ошибаюсь немного, @Yesvik 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 5 г dinox открепил и сделал обычной теме Назад 3 4 5 6 7 8 9 Вперёд Страница 8 из 9 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Рекомендованные сообщения