Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

ocStore 3.0.2.0b1 версия для тестирования


dinox
 Поделиться

Рекомендованные сообщения

В 21.11.2018 в 13:46, Landistore сказал:

Да и в самой админка тоже особых изменений нету. Единственное это бутстрап обновили и добавили пару кнопок. Ещё фильтр тут более привлекателен. А в целом не думаю что стоит переезжать с 2.3. Именно 2.3 ещё будет актуальной долгое время

ну я уже присматриваюсь к коду, собираюсь все наработки понемногу переносить, точнее подготавливаю свою голову к этому, а уже на рейлизе буду вносить правки, я просто уже хочу так сказать почистить код от мусора, концы от модулей всяких галимых почисить, а так же базу..сам на 2.1 сижу, на 2.3 даже рыпаться не хочу, влом потом еще и с 2.3 на 3.1 прыгать

Ссылка на комментарий
Поделиться на других сайтах


Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность)

 

Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается.

С простым чпу работает...

 

Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, OldAine сказал:

Я правильно понял что SEO_PRO не работает ещё? (если искать по этой тему на "seo_pro", то находятся только жалобы на его неработоспособность)

 

Я когда включил seopro у себя на тестовом сайте, то сразу в журнале ошибки появились, а сам сайт больше не загружается.

С простым чпу работает...

 

Тестирую на локалке, опыт большой, так что глупых ошибок не допускал. Всё что надо в .htaccess поправил

отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0

и если ошибки будут скопируйте их потом сюда

Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, snastik сказал:

отсюда перекачайте https://github.com/ocstore/ocstore/tree/ocstore-3-0-2-0

и если ошибки будут скопируйте их потом сюда

Ок, спасибо, на днях протестирую.

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

Скачал последнюю бета версию с гитхаба...

Установил на openserver:

  1. создал папку ocstore3020 и одноименную базу
  2. в .htaccess изменил путь на RewriteRule ^([^?]*) ocstore3020/index.php?_route_=$1 [L,QSA]
  3. Далее, в настройках, включил чпу и всё, что связано с сео-про...

wufhb31.png

 

 

 

Первое - С включенным seo_pro не работает главная страница (её просто нет, она не прогружается) (вот фото)

Второе - Почему-то не работает категория "Компоненты"...

8DCbfoP.png

Третье - В описание пустых страниц, попадает содержимое пустой корзины :)

 

3ZWfmB1.png

 

 

Вот журнал ошибок: 

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

 

А вот проблемы с невозможностью установить движок без префикса больше нет)))

Ссылка на комментарий
Поделиться на других сайтах

9 часов назад, OldAine сказал:

Второе - Почему-то не работает категория "Компоненты"...

 

потому что косяк seopro , решение здесь

 

9 часов назад, OldAine сказал:

Третье - В описание пустых страниц, попадает содержимое пустой корзины

 

наследственное от оригинального движка, обсуждалось здесь

Ссылка на комментарий
Поделиться на других сайтах

16 минут назад, AlexDW сказал:

 

потому что косяк seopro ,

 

Потому что там один большой гкостыль который фрагментирует opencart и её производную ocStore
К моНАХам такие фарш костлыли

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

  • 5 недель спустя...
  • 2 недели спустя...

Я не знаю, кто писал 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

Ссылка на комментарий
Поделиться на других сайтах

5 часов назад, AlexDW сказал:

а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив?


так это у писателей данного SEO_PRO нужно спросить, или подсказать (открыть новость), как сказал @reDream , что данная переменная может быть не только строкой.

Ссылка на комментарий
Поделиться на других сайтах

1 час назад, vier сказал:

данная переменная может быть не только строкой. 

в какой момент
Приведите пример

Ссылка на комментарий
Поделиться на других сайтах

6 часов назад, AlexDW сказал:

а на кой чОрт в функцию, ожидающую строку в качестве аргумента, пихать массив?

А на кой чёрт она ожидает строку? В этот метод попадают все get-параметры..

Ссылка на комментарий
Поделиться на других сайтах

9 минут назад, chukcha сказал:

Приведите пример

http://oc.redream.ru/phones/?rdrf[man][0]=8&rdrf[man][1]=11

 

Я в основном работаю с фреймворком yii, там это очень распространённая практика и встречается настолько часто, что привыкаешь на раз

Ссылка на комментарий
Поделиться на других сайтах

вы посмотрели код метода?

выборка из !!!!
Правильно!!!! массива по ключу..
По ОДНОМУ ключу
 

Ссылка на комментарий
Поделиться на других сайтах

Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу

Ссылка на комментарий
Поделиться на других сайтах

8 минут назад, reDream сказал:

Вот именно что. Метод ожидает строку и, если приходит массив, никак это не проверяет и шлёт запрос в базу

а еще доки нет.... да и проверки переменной..эх

Ссылка на комментарий
Поделиться на других сайтах


1 час назад, chukcha сказал:

в какой момент
Приведите пример

пример:

site.local/kompyuteri/?manufs[1]=8-14&attrb[2]=2-6&attrb[4]=5

 

Ссылка на комментарий
Поделиться на других сайтах

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 1
Ссылка на комментарий
Поделиться на других сайтах


@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_']);

ГДЕ МАссив?????

Ссылка на комментарий
Поделиться на других сайтах

Ну для того зачем я все время напрягаюсь. Чтобы донести какую то культуру отношения к сообществу и немного пересечь потреблядство. 

Меня аж выворачивает от этого всего. Мы такие умные. Мы тут баг нашли. Как можно. Нам же теперь чтобы наживать. Надо код переписывать. А то что никто из этих персонажей для развития темы пальцем не пошевелил. Так это же пусть лохи парятся. Мы гавномодулей   напишем и будет нам покушать.

Ссылка на комментарий
Поделиться на других сайтах


Ох как громки слова, все вокруг танцуют с бубном от написанного Yavesik, если не ошибаюсь, а самим то решение предложить на пользу сообщества религия мешает ?

Ссылка на комментарий
Поделиться на других сайтах

15 минут назад, Yoda сказал:

Мы тут баг нашли.

Был бы баг..

Баг там есть и он был озвучен..
Но не в этом месте.

А "баг" найден фильтро писателями.. ..
Ну так научитесь писать свои преобразователи, это не сложно..
И не лезьте в системный..
Это на порядок проще..

Ссылка на комментарий
Поделиться на других сайтах

  • dinox открепил и сделал обычной теме

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

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

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