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

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

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

4 минуты назад, auditor сказал:

от написанного Yavesik, если не ошибаюсь

немного, @Yesvik

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, Yoda сказал:

немного пересечь потреблядство. 

Меня аж выворачивает от этого всего

А вот тут..

От чего?

Есть авторы этого кода.. которые сказали, та мы, та щас и сделаем ... Три месяца...
И никто не мешал..

Был найден баг, было озвучено. Кто должен его фиксить? Пусто!!!! Даже если это бета..


Есть еще баги - они озвучены - Кто????

Так где потребительство?

Т.е. команда не работает..

И.. почти полтора года.. Пусто..
Уже две минорных версии вышло.. Пусто..

Так что в потребительстве обвинять не надо...

Только при наличии обратной связи будет НЕпотребительство
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 минут назад, chukcha сказал:

А вот тут..

От чего?

Есть авторы этого кода.. которые сказали, та мы, та щас и сделаем ... Три месяца...
И никто не мешал..

Был найден баг, было озвучено. Кто должен его фиксить? Пусто!!!! Даже если это бета..


Есть еще баги - они озвучены - Кто????

Так где потребительство?

Т.е. команда не работает..

И.. почти полтора года.. Пусто..
Уже две минорных версии вышло.. Пусто..

Так что в потребительстве обвинять не надо...

Только при наличии обратной связи будет НЕпотребительство
 

Ой ой ой. Гитхаб коммит - это не барское дело?

 

По остальным багам. Добро пожаловать на гит, там очень много рефакторинга. Всё в ваших руках. Любые инициативы приветствуются.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
13 минут назад, Yoda сказал:

Любые инициативы приветствуются.

Не дождетесь

Есть команда.. Много рефакторинга? Где он в релизах?

 

 

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

это не барское дело?

Не-а.. а смысл..

Смыл только в обратной связи..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
2 минуты назад, chukcha сказал:

Не дождетесь

Есть команда.. Много рефакторинга? Где он в релизах?

 

 

Не-а.. а смысл..

Смыл только в обратной связи..

 

Пройдите в гитхаб сходите внимательно просмотрите.

 

Ещё раз повторяю. Есть баг. Багу нужен фикс. Болтать не мешки ворочать. Хотите помочь?

Оформите код и сделайте коммит. Это самый быстрый способ. 

 

  • +1 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
35 минут назад, Yoda сказал:

Это самый быстрый способ. 

И он не попадет в релиз..

Не интересно..
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, chukcha сказал:

И он не попадет в релиз..

Не интересно..
 

Почему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 минут назад, chukcha сказал:

И он не попадет в релиз..

 

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

Почему?

Вы прочитали?

Или почему не попадет..

потому что больше года нет релиза

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Yoda сказал:

Даниэль Керр знать не знает ни про какие массивы.

До Даниэля я вряд ли достучусь, а тут стоило попробовать.

 

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

В каком месте туда может попасть массив?

 

Похоже, я при вставке кода перепутал и ветку и метод, извиняюсь. Не "getQueryByKeyword", а "getKeywordByQuery".

 

Смотрим сюда: https://github.com/ocStore/ocStore/blob/ocstore-3-1-0-0/upload/catalog/controller/startup/seo_url.php

public function rewrite($link) {
    $url_info = parse_url(str_replace('&', '&', $link));
    if($this->config->get('config_seo_pro')){		
    $url = null;
    } else {	
    $url = '';
    }
    $url_info = parse_url(str_replace('&', '&', $link));
    parse_str($url_info['query'], $data);

    //seo_pro baseRewrite
    if($this->config->get('config_seo_pro')){		
    list($url, $data, $postfix) =  $this->seo_pro->baseRewrite($data, (int)$this->config->get('config_language_id'));	
    }
...
...

И следуем по пути в https://github.com/ocStore/ocStore/blob/ocstore-3-1-0-0/upload/system/library/seopro.php

 

public function baseRewrite($data, $language_id) {
		
		
		$url = null;
		$postfix = null;
		
		$language_id = (int)$this->config->get('config_language_id');
			switch ($data['route']) {
				case 'product/product':
				$postfix = true;
	
				if (isset($data['product_id'])) {
					$route = 'product/product';
					$path = '';
					$product_id = $data['product_id'];
					if (isset($data['path'])) {
						$path = $this->getPathByProduct($product_id);
					}
					unset($data);
					$data['route'] = $route;
					if ($path && $this->config->get('config_seo_url_include_path')) {
						$data['path'] = $path;
					}	
					
					$data['product_id'] = $product_id;
				}
					break;
				case 'product/category':
					if (isset($data['path'])) {
						$category = explode('_', $data['path']);
						$category = end($category);
						$data['path'] = $this->getPathByCategory($category);
						//if (!$data['path']) return $url;
					}
					break;
				case 'product/product/review':
				case 'information/information/info':
				case 'product/manufacturer/info':
					break;
				default:
					break;
			}
			
	$queries = array();
		foreach ($data as $key => $value) {
				$query_ = $this->getKeywordByQuery($value);
				//single_url
				if($query_ !== null) {
					unset($data[$key]);
					//common/home
					if($query_  == '')  return [$query_, $data ,  $postfix];
					//common/home
					return ['/' . $query_, $data ,  $postfix];
				}
				//single_url

...
...

Обращаем внимание на это место:

foreach ($data as $key => $value) {
	$query_ = $this->getKeywordByQuery($value);

 

Ну и сам метод "getKeywordByQuery":

public function getKeywordByQuery($query, $language_id = '') {
		
	$store_id = (int)$this->config->get('config_store_id');
			
	if(!$language_id) {
		$language_id = $this->config->get('config_language_id');
	}
	
	if($this->config->get('config_seo_url_cache')){
		if(isset($this->keywords[$query][$store_id][$language_id])) 
			return($this->keywords[$query][$store_id][$language_id]);
		
		
	}
	
	
	$sql = "SELECT keyword FROM " . DB_PREFIX . "seo_url WHERE query = '" . $this->db->escape($query) . "' AND store_id = '" . $store_id . "' AND language_id = '" . (int)$language_id . "' LIMIT 1";
	$query = $this->db->query($sql);	
			if ($query->num_rows) {
				return  $query->row['keyword'];
			}
	return;
}

 

Ну и как же туда может попасть массив? Да очень просто, в каком-нибудь контроллере пишем:

$this->url->link('product/category', 'language=' . $this->config->get('config_language') . '&path=' . $this->request->get['path'] . '&' . http_build_query(array('array' => ['foo' => 'bar'])));

И натыкаемся на тот самый warning

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
5 часов назад, Yoda сказал:

3. С каких пор opencart стал YII и в CodeStyle стало принято передавать post-get данные многомерными массивами?

При чём тут CodeStyle? Я к тому, что многомерный массив в get - это нормально. И, как оказалось, для фильтра это очень удобно. Про post и говорить нечего, практически любой модуль, например, под OpenCart 1.5 используем многомерные массивы в post.

 

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

4. Если вы такие умные-кричащие, где вы уже два года с вашими коммитами на GIT?

С таким уровнем негатива на комментарий об ошибке - вы же первый закидаете какашками помидорами любой коммит, разве нет?

 

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

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

Замечал и много где. Где мог - писал авторам. Где это было бесполезно - молча исправлял. Вряд ли сейчас кто-то кинется выкатывать очередную версию 2.3 и, тем более, 1.5. Конкретно с 3.0 - пока до стабильного релиза не добрались, есть время исправить.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
10 минут назад, reDream сказал:

$this->url->link('product/category', 'language=' . $this->config->get('config_language')

Э.. это какая версия?
3.1

ocstore - 3.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, chukcha сказал:

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

А что, собственно, плохого в том, что кто-то "фильтро писатель"?

И да, я бы с удовольствием "не лез в системный", если бы при формировании обычной ссылки (пусть и с многомерным массивом) мне не прилетал warning.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
8 минут назад, chukcha сказал:

Э.. это какая версия?
3.1

ocstore - 3.0

ocstore 3.1.0.0 https://github.com/ocStore/ocStore/tree/ocstore-3-1-0-0

Поделиться сообщением


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

А для 3.1 и сеопро можене понадобиться за счет того что есть дополнительное поле

parse_str($result['push'], $data);

где уже будет и route и path и другие если надо

понадобится, только валидация для однозначности ссылки..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, reDream сказал:

это сборка, база 3.0

Поделиться сообщением


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

Ух ты в указанной сборке  на seourl от 3.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
9 часов назад, reDream сказал:

И да, я бы с удовольствием "не лез в системный", если бы при формировании обычной ссылки (пусть и с многомерным массивом) мне не прилетал warning.

поддерживаю. есть явная недоработка seo pro для тройки.

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
15 часов назад, Yoda сказал:

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

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

Все сказал? Твоя демагогия уже всем надоела здесь
Не надо впаривать говнокод. А он там реально г.. вно полное
Тебе идею дали чтобы  не было фрагментации ? Дали.
Прислушайся к парням по цеху. У будь более уважителен к ним.
Это не твой говнобложик
И к моНАХам такие гвоносборки которые не умеючи писать код впихивают всем фарш
Стратегия сборок должна быть простой - как можно меньше изменений кода оригинала opencart
Только самые критичные
И не гитом а ocmod -м
А снастик (тебе же не дано писать код) там налабал полную пургу

 

Спойлер

 

 

  • +1 8

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, markimax сказал:

Стратегия сборок должна быть простой - как можно меньше изменений кода оригинала opencart
Только самые критичные
И не гитом а ocmod -м

поддерживаю на все 100%

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
12 часов назад, reDream сказал:

При чём тут CodeStyle? Я к тому, что многомерный массив в get - это нормально. И, как оказалось, для фильтра это очень удобно. Про post и говорить нечего, практически любой модуль, например, под OpenCart 1.5 используем многомерные массивы в post.

 

С таким уровнем негатива на комментарий об ошибке - вы же первый закидаете какашками помидорами любой коммит, разве нет?

 

Замечал и много где. Где мог - писал авторам. Где это было бесполезно - молча исправлял. Вряд ли сейчас кто-то кинется выкатывать очередную версию 2.3 и, тем более, 1.5. Конкретно с 3.0 - пока до стабильного релиза не добрались, есть время исправить.

За коммит на Гите? Который фиксит системный баг? Вряд-ли. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, markimax сказал:

Все сказал? Твоя демагогия уже всем надоела здесь
Не надо впаривать говнокод. А он там реально г.. вно полное
Тебе идею дали чтобы  не было фрагментации ? Дали.
Прислушайся к парням по цеху. У будь более уважителен к ним.
Это не твой говнобложик
И к моНАХам такие гвоносборки которые не умеючи писать код впихивают всем фарш
Стратегия сборок должна быть простой - как можно меньше изменений кода оригинала opencart
Только самые критичные
И не гитом а ocmod -м
А снастик (тебе же не дано писать код) там налабал полную пургу

 

  Показать контент

 

 

солидарен, но вот с наименьшими правками - никак, конечно форк от оригинала получается, но тем не менее, лучше интегрировать по грамотному, некоторые важные функции, чем ловить через регистр или интегрировать посредством OCMOD, а в целом - все верно сказано.

  • +1 1

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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