Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Процесс работ над релизом ocStore 1.5.5.1.2


dinox

Recommended Posts

Ага, такая проблема есть и она до сих пор не решена.  :(

Предлагаю добавить её под номером 1) в новый to-do list:

 
1)

Меняем файл catalog/model/tool/image.php на приложенный, и проблема решается

 

 

проблема решается неправильно, смотрим

https://opencartforum.com/topic/27002-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81-%D1%80%D0%B0%D0%B1%D0%BE%D1%82-%D0%BD%D0%B0%D0%B4-%D1%80%D0%B5%D0%BB%D0%B8%D0%B7%D0%BE%D0%BC-ocstore-15512/?do=findComment&comment=220044

image.php

  • +1 1
Надіслати
Поділитися на інших сайтах


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

 

1acDMjEthnk.jpg

  • +1 1
Надіслати
Поділитися на інших сайтах


4) А также просьбу ко всем разработчикам у которых есть полчаса времени,

глянуть имеют ли смысл следующие предложения по оптимизации:

http://opencartsoftware.blogspot.com/2013/02/opencart.html

Сделано.

Pull:

 https://github.com/myopencart/ocStore/pull/31/files
Надіслати
Поділитися на інших сайтах


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

Pull-request на эту тему уже отправлен by Alexey.

Если примут, то всё будет нормально

Надіслати
Поділитися на інших сайтах


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

 

1acDMjEthnk.jpg

 

zhu4koff  - почему же вы не читаете эту ветку выше?..

Зачем поднимать вопросы, которые уже решены?

 

Я даже 2 Pull-реквеста отправил: 

Первый, при выборе категорий из базы делает сортировку по sort_order

https://github.com/myopencart/ocStore/pull/27/files

 

Второй, исправляет баг, из-за которого терялась рекурсивная сортировка.

https://github.com/myopencart/ocStore/pull/30/files

 

Второй pull-реквест точно нужен, да и первый не будет лишним.

Надіслати
Поділитися на інших сайтах


Не злые, а объективные.

OC Team работает забесплатно, а вы ленитесь хотя бы ветку прочитать чем задавать вопрос.  :unsure:

Спрашивая то, что можно было бы не спрашивать - вы отнимаете время у людей,

которые для вас же делают полезные вещи. Это не вежливо. 

  • +1 1
Надіслати
Поділитися на інших сайтах


Прочитал всю ветку, не нашел, что приняли проблему которая здесь: https://opencartforum.com/topic/25354-релиз-ocstore-v15511/?do=findComment&comment=216141

 

Спасибо за проделанную работу!

Ага, такая проблема есть и она до сих пор не решена.  :(

Предлагаю добавить её под номером 1) в новый to-do list:

 
1)

edifier сказал(а) 07 Ноя 2013 - 01:52 AM:snapback.png

Проблема№1:

 

Есть 2 картинки товара:

  1. model-11.jpg
  2. model-11-.jpg

В папку cashe добавляется 2 разных изображения но с одним именем model-11-70x70.jpg . Тоесть не учитывается дефис в конце названия. Та же беда и с картинками у которых разница в названии это пробел. К примеру :

  1. model-11.jpg
  2. model-11 .jpg

Ранее стояла сборка 1.5.1.3 и в папку cashe добавлялись картинки с учетом тире и пробелов

 

Проблема№2:

 

Раньше( в сборке 1.5.1.3)названия изображений в папке кэш имели вид /image-70x70.jpg . Теперь названия картинок /название-папки-image-70x70.jpg .

Впринципе на работу магазина это не влияет, но есть одно НО!

Мой магазин существует 2 года и за это время люди постили картинки моего товара на разных форумах, блогах и прочих сайтах. Теперь же оказалось что старые ссылки на картинку битые и не отображаются в сообщениях

Меняем файл catalog/model/tool/image.php на приложенный, и проблема решается

 

Bogdan1975 пардон, но вы в который раз предлагаете неправильное решение :-)

Ну да, вы исправили удаление "-" в конце файлов при создании кешированных изображений,

но вы не исправили вот это:

Раньше( в сборке 1.5.1.3)названия изображений в папке кэш имели вид /image-70x70.jpg . Теперь названия картинок /название-папки-image-70x70.jpg .

 

И, более того, не посмотрели вглубь почему это возникло. :wink:

Всё дело вот в этих правках  toporchillo :

https://github.com/myopencart/ocStore/commit/bfdf3d575a6bd1dcc9f1a9e78ec76e07f295f5a7

 

Уважаемый toporchillo этим коммитом хотел решить проблему, которую, на самом деле, нужно решать по другому.

 

Нужно убирать нежелательные символы из имени файла - при первой загрузке оригинальной картинки на сервер,

а не при создании кешированных версий этой картинки.

 

Так как правки toporchillo, на мой взгляд приносят больше вреда, чем пользы

я сделал сегодня Pull-реквест который отменяет его правки

https://github.com/myopencart/ocStore/pull/32/files

А чтоб получить мой фикс уже сегодня - распакуйте прикреплённый архив в корень сайта.

 

Таким образом, проблема 1) только что была решена, но вместо неё появилась проблема, дадим ей номер 5: 

5) отфильтровать и вырезать нежелательные символы из имени файла при сохранении на сервер. 

Ну и для полного счастья, сделать также фильтацию и при прописывании SEO-url   :-)

т.е. что-то вроде этого: preg_replace('/[^a-zA-Z0-9\-\_]/', '-', $string); 

fixCachedImageFilename.zip

  • +1 1
Надіслати
Поділитися на інших сайтах


 

Bogdan1975, к сожалению, ваш Pull-реквест делает неправильные правки.

Про правки файла catalog/model/tool/image.php

я подробно написал постом выше

А насчёт правок 

system/library/cache.php

то в той статье даётся бредовый совет. Всё в оригинальном ocStore/OpenCart

правильно работает:
	public function get($key) {
		$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');

		if ($files) {
			$cache = file_get_contents($files[0]);//всегда получаем значение из самого "свежего" файла
			$data = unserialize($cache);
			foreach ($files as $file) {
				$time = substr(strrchr($file, '.'), 1);
      			if ($time < time()) {//удаляем устаревшие
					if (file_exists($file)) {
						unlink($file);
					}
      			}
    		}
			return $data;			
		}
	}

А те правки этого файла которые предлагаются тут

http://opencartsoftware.blogspot.com/2013/02/opencart.html

это бред:

	public function get($key) { 
		$data = null;
		$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');
		
		if ($files) {
			for ($n=0, $lenght = count($files); $n < $lenght; $n++) {
				$file = $files[$n];
				$time = substr(strrchr($file, '.'), 1);
				if ($time < time()) {
					if (file_exists($file)) { 
						unlink($file); 
					} 
				} elseif (!$n) { //бред!
					$cache = file_get_contents($file);
					$data = unserialize($cache);
				}
	    	}
    	}  
		return $data;  
	}

Так что ваш коммит

https://github.com/myopencart/ocStore/pull/31/files

- "неправильный".

 

Ну и ещё. Вы это не коммитили, но возможно, в той статье есть какой то смысл правок для файла: ./catalog/model/catalog/product.php

но если уж делать такие правки, то не только для getTotalProducts, а вообще во всех моделях где 

содержание кеша проверяется таким образом.

 

Bogdan1975 - ещё раз спасибо за помошь, но как говорил В.И. Ленин: "Лучше меньше да лучше".  :-)

Надіслати
Поділитися на інших сайтах


5) отфильтровать и вырезать нежелательные символы из имени файла при сохранении на сервер. 

Ну и для полного счастья, сделать также фильтацию и при прописывании SEO-url   :-)

т.е. что-то вроде этого: preg_replace('/[^a-zA-Z0-9\-\_]/', '-', $string); 

Много народу заливает фото через ФТП, поэтому фильтрация при загрузке не выход.

Тут либо фильтровать символы в названии когда выбираем картинку в карточке товара, либо искать другое решение.

Хотя в карточке товара тоже не выход, ведь не будет работать фильтрация по названию в сторонних модулях( например BachEditor)

Заменять ненужные символы автоматом тоже не совсем правильно.

Допустим есть 2 картинки 123?.jpg и 123!.jpg . После preg_replace на выходе опять получим два изображения с одинаковым именем. Да, допустим поставим проверку на то, есть ли файл с таким же именем, но это даст путаницу пользователю, так как он увидит сообщение что " файл с таким именем уже существует" и будет искать, где же файл с таким именем на сервере. Но поиски будут тщетны, так как он будет искать картинку 123?.jpg а не 123-.jpg

Если и проверять имя файла при загрузе, то нужно не заменять автоматом с помощью preg_replace , а выводить ошибку при загрузке "вы пытаетесь загрузить файл с запрещенными символами в названии!"

  • +1 2
Надіслати
Поділитися на інших сайтах


Много народу заливает фото через ФТП, поэтому фильтрация при загрузке не выход.

Тут либо фильтровать символы в названии когда выбираем картинку в карточке товара, либо искать другое решение.

Хотя в карточке товара тоже не выход, ведь не будет работать фильтрация по названию в сторонних модулях( например BachEditor)

Заменять ненужные символы автоматом тоже не совсем правильно.

Допустим есть 2 картинки 123?.jpg и 123!.jpg . После preg_replace на выходе опять получим два изображения с одинаковым именем. Да, допустим поставим проверку на то, есть ли файл с таким же именем, но это даст путаницу пользователю, так как он увидит сообщение что " файл с таким именем уже существует" и будет искать, где же файл с таким именем на сервере. Но поиски будут тщетны, так как он будет искать картинку 123?.jpg а не 123-.jpg

Если и проверять имя файла при загрузе, то нужно не заменять автоматом с помощью preg_replace , а выводить ошибку при загрузке "вы пытаетесь загрузить файл с запрещенными символами в названии!"

Всё правильно вы говорите, согласен с вами. 

Надіслати
Поділитися на інших сайтах


А те правки этого файла которые предлагаются тут

http://opencartsoftware.blogspot.com/2013/02/opencart.html

это бред:

	public function get($key) { 
		$data = null;
		$files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*');
		
		if ($files) {
			for ($n=0, $lenght = count($files); $n < $lenght; $n++) {
				$file = $files[$n];
				$time = substr(strrchr($file, '.'), 1);
				if ($time < time()) {
					if (file_exists($file)) { 
						unlink($file); 
					} 
				} elseif (!$n) { //бред!
					$cache = file_get_contents($file);
					$data = unserialize($cache);
				}
	    	}
    	}  
		return $data;  
	}

А что тут бредового ...?

В статье говорится, что этим кодом исправляется тот момент, что в оригинальной функции данные берутся из файла до проверки его временной актуальности.

Так и есть, измененный код берет после проверки из самого свежего файла только в случае если он не "просрочен".

А по поводу обращений к кешу - согласен, нужно выделить время и пройтись по моделям, исправить проверки на null

  • +1 1
Надіслати
Поділитися на інших сайтах


Bogdan1975 пардон, но вы в который раз предлагаете неправильное решение :-)

Ну да, вы исправили удаление "-" в конце файлов при создании кешированных изображений,

но вы не исправили вот это:

Раньше( в сборке 1.5.1.3)названия изображений в папке кэш имели вид /image-70x70.jpg . Теперь названия картинок /название-папки-image-70x70.jpg .

Посчитал (и сейчас считаю), что пробелов быть не должно, а "-" не сильно помешают.

Что касается самих имен файлов - тут не взял на себя смелость менять их формат, т.к. не знаю чем было вызвано их приведение к текущему виду.

 

И, более того, не посмотрели вглубь почему это возникло. :wink:

Всё дело вот в этих правках  toporchillo :

https://github.com/myopencart/ocStore/commit/bfdf3d575a6bd1dcc9f1a9e78ec76e07f295f5a7

А с чего Вы взяли, что не посмотрел...?

 

Уважаемый toporchillo этим коммитом хотел решить проблему, которую, на самом деле, нужно решать по другому.

 

Нужно убирать нежелательные символы из имени файла - при первой загрузке оригинальной картинки на сервер,

а не при создании кешированных версий этой картинки.

 

Так как правки toporchillo, на мой взгляд приносят больше вреда, чем пользы

я сделал сегодня Pull-реквест который отменяет его правки

https://github.com/myopencart/ocStore/pull/32/files

А чтоб получить мой фикс уже сегодня - распакуйте прикреплённый архив в корень сайта.

 

Таким образом, проблема 1) только что была решена, но вместо неё появилась проблема, дадим ей номер 5: 

5) отфильтровать и вырезать нежелательные символы из имени файла при сохранении на сервер. 

Ну и для полного счастья, сделать также фильтацию и при прописывании SEO-url   :-)

т.е. что-то вроде этого: preg_replace('/[^a-zA-Z0-9\-\_]/', '-', $string); 

Отличное решение! По-моему следовало бы проблему переформулировать: заменить точку контроля имен файлов. Не уверен, что правильно совсем убирать "неправильный" контроль, не имея другого.
  • +1 1
Надіслати
Поділитися на інших сайтах


А что тут бредового ...?

В статье говорится, что этим кодом исправляется тот момент, что в оригинальной функции данные берутся из файла до проверки его временной актуальности.

Так и есть, измененный код берет после проверки из самого свежего файла только в случае если он не "просрочен".

А по поводу обращений к кешу - согласен, нужно выделить время и пройтись по моделям, исправить проверки на null

вот это бред:

} elseif (!$n) { //бред!

- это, пардон, говнокод!

по-идее, надо было писать проверку вот так:

} elseif ($n === 0) {

 

Но вообще, незачем делать эту проверку на каждом шаге цикла, 

если нас интересует только вот это значение: $files[0]

Это во-первых. 

 

Во-вторых,

судя по коду Opencart, время жизни кеша - это не то не время, когда данные устарели,

время жизни кеша это то время - по истечении которого кеш нужно обновить.

А это не одно и то же. Потому что, на самом деле у нас нет никакой информации о том, 

когда данные в кеше устарели. Всё, что мы делаем - это обновляем кеш с заданной периодичностью, 

гарантируя таким образом минимальный лаг по времени и относительную актуальность данных.

 

Так что, в этом участке кода всё в оригинальном OpenCart/ocStore - работает правильно, и не нужно ничего менять.

А статья скорее вредная чем полезная, и я жалею что дал не неё ссылку.

 

Посчитал (и сейчас считаю), что пробелов быть не должно, а "-" не сильно помешают.

Что касается самих имен файлов - тут не взял на себя смелость менять их формат, т.к. не знаю чем было вызвано их приведение к текущему виду.

 

А с чего Вы взяли, что не посмотрел...?

 

Отличное решение! По-моему следовало бы проблему переформулировать: заменить точку контроля имен файлов. Не уверен, что правильно совсем убирать "неправильный" контроль, не имея другого.

Так ваши правки убирают не вырезание пробелов в конце, а вырезание "-" !

 

Имена файлов поменяли формат ошибочно!

Потому что функция которую добавил toporchillo, в том числе, вырезала слеши /

Как раз из-за этой функции, возникали две (а может и больше) проблемы про которые было написано.

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

 

Может и посмотрели, но не внимательно, не понимая сути проблемы.

Если бы вы поняли суть проблемы то - пришли бы к тем же выводам что и я: "поменять точку контроля имён файлов"

  • +1 1
Надіслати
Поділитися на інших сайтах


вот это бред:

} elseif (!$n) { //бред!

- это, пардон, говнокод!

по-идее, надо было писать проверку вот так:

} elseif ($n === 0) {

Согласен, но на работоспособность это не влияет, ибо в этом цикле $n никода не будет ни null ни false ни пустой строкой.

судя по коду Opencart, время жизни кеша - это не то не время, когда данные устарели,

время жизни кеша это то время - по истечении которого кеш нужно обновить.

А это не одно и то же. Потому что, на самом деле у нас нет никакой информации о том, 

когда данные в кеше устарели. Всё, что мы делаем - это обновляем кеш с заданной периодичностью, 

гарантируя таким образом минимальный лаг по времени и относительную актуальность данных.

Так что, в этом участке кода всё в оригинальном OpenCart/ocStore - работает правильно, и не нужно ничего менять.

А статья скорее вредная чем полезная, и я жалею что дал не неё ссылку.

Не согласен в корне! Раз кеш "состарился", то пусть данные берутся из первоисточника, иначе логика совсем нарушается - кеш свое отжил, ну и Бог с ним, все равно будем оттуда черпать информацию ... Потом сразу же его прибьем, но хоть последний разочек возьмем ...

Кстати, забыл указать, что я там к функции set добавил третий необязательный параметр времени жизни кеша. Если отсутствует, то будет дефолтным.

Так ваши правки убирают не вырезание пробелов в конце, а вырезание "-" !

Я именно это и утверждал.

Если бы вы поняли суть проблемы то - пришли бы к тем же выводам что и я: "поменять точку контроля имён файлов"

Так ведь никем пока не предложено нормальное решение, без "дырок". Разве это выход - убрать недостаточный контроль и ничем его не заменить?
  • +1 1
Надіслати
Поділитися на інших сайтах


Посчитал (и сейчас считаю), что пробелов быть не должно, а "-" не сильно помешают.

 

Я именно это и утверждал.

Так ваши правки убирают не вырезание пробелов в конце, а вырезание "-" !

 

- Одно с другим не вяжется. И, на самом деле, вы убрали вырезание "-" а не пробелов.

 

 

 

Согласен, но на работоспособность это не влияет, ибо в этом цикле $n никода не будет ни null ни false ни пустой строкой.ь и ничем его не заменить?

То, что этот говнокод в данном случае не влияет на работоспособность, не значит что нужно так писать.

Неправильным курсом идём, товарищи!  :ugeek:

Если уж что-то делать - то по-нормальному!!

Опять вспоминаем В.И. Ленина: "Лучше меньше, да лучше"  :-)

 

 

Так ведь никем пока не предложено нормальное решение, без "дырок". Разве это выход - убрать недостаточный контроль и ничем его не заменить?

Выход, потому что этот "псевдо-контроль" во-первых не решает проблему полностью, а во-вторых создаёт другие проблемы.

  • +1 2
Надіслати
Поділитися на інших сайтах


- Одно с другим не вяжется. И, на самом деле, вы убрали вырезание "-" а не пробелов.

Присутсвие "-" считаю не критичным, поэтому убрал их вырезание, а пробелы считаю лишними, поэтому их вырезание оставил.

Что с чем не вяжется?

 

То, что этот говнокод в данном случае не влияет на работоспособность, не значит что нужно так писать.

Неправильным курсом идём, товарищи!  :ugeek:

Если уж что-то делать - то по-нормальному!!

Опять вспоминаем В.И. Ленина: "Лучше меньше, да лучше"  :-)

Ой, ну не надо быть таким строгим. Вы же не экзамен по программированию принимаете. А копипаст breadcrumbs в каждой вьюхе - это признак высокого стиля? OpenCart в целом не безгрешен.

Вот, честно, не понимаю я Вашего подхода - из-за "говнокода" (который подправить - 2 сек) Вы отвергаете решение проблемы "говнологики". Ну ладно бы просто заметить, что не мешало бы исправить, а то сразу объявить никчемным бредом, назвать статью вредной и т.д. Между прочим, кроме этих ребят никто и не заметил этого лага ...

Т.е. по Вашему все же из-за ненавистного Вам !$n пусть кеш отдает инфу из файлов, которые нужно сносить ...? По-моему это намного больший "бред", чем шалость в виде !$n.

Ну а если так скурпулезно подходить, то в OpenCart нужно многое почеркать, скомкать и в ...

 

Выход, потому что этот "псевдо-контроль" во-первых не решает проблему полностью, а во-вторых создаёт другие проблемы.

Опять же зачем все сносить, если можно поменять

 

strtolower(trim(preg_replace('~[^0-9a-z\.]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));

на

strtolower(trim(preg_replace('~[^0-9a-z\.\/]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8'))));
Надіслати
Поділитися на інших сайтах


 

Присутсвие "-" считаю не критичным, поэтому убрал их вырезание, а пробелы считаю лишними, поэтому их вырезание оставил.

Что с чем не вяжется?

 

Ой, ну не надо быть таким строгим. Вы же не экзамен по программированию принимаете. А копипаст breadcrumbs в каждой вьюхе - это признак высокого стиля? OpenCart в целом не безгрешен.

Вот, честно, не понимаю я Вашего подхода - из-за "говнокода" (который подправить - 2 сек) Вы отвергаете решение проблемы "говнологики". Ну ладно бы просто заметить, что не мешало бы исправить, а то сразу объявить никчемным бредом, назвать статью вредной и т.д. Между прочим, кроме этих ребят никто и не заметил этого лага ...

Т.е. по Вашему все же из-за ненавистного Вам !$n пусть кеш отдает инфу из файлов, которые нужно сносить ...? По-моему это намного больший "бред", чем шалость в виде !$n.

Ну а если так скурпулезно подходить, то в OpenCart нужно многое почеркать, скомкать и в ...

 

Опять же зачем все сносить, если можно поменять

 

strtolower(trim(preg_replace('~[^0-9a-z\.]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));

на

strtolower(trim(preg_replace('~[^0-9a-z\.\/]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8'))));

Про вырезание "-" вы выразились не очень понятно, поэтому я вас не так понял.

 

В общем, то что, Opencart не "безгрешен", не значит что нужно на это равнятся. Плохих примеров много, но нужно смотреть не на них, а на хорошие примеры, иначе направление будет не вверх а вниз.

 

Мой подход таков, что нужно либо решать проблему по-нормальному, либо вообще ничего не трогать, так как есть шанс что в следующей версии оригинального Opencart в том числе и эти баги будут исправлены.

 

Функция которую вы пытались исправить - наверное неспроста называется get - она должна во всех случаях кроме ошибок возвращать какое-то значение. Именно значение, а не null

 

А насчёт 

strtolower(trim(preg_replace('~[^0-9a-z\.\/]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8'))));

 

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

Это, знаете, как вместо того, чтобы лечить болезнь - частично скрывать симптомы того, что она существует.

Надіслати
Поділитися на інших сайтах


Друзья, а в чем сакральный смысл массы ненужных полей при регистрации? 

 

"Факс" - когда в последний раз вы посылали счет по факсу, тем более от Интернет-магазина?  В худшем случае, если совсем припрет, то всегда можно позвонить по голосовому телефону, узнать номер несчастного факса и отправить. 

 

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

 

Логичнее или разделить регистрацию для физических и юридических лиц или полностью убрать эти пункты для избежания путаницы, уж "ID  компании" - точно абсолютно лишний. 

 

Может я конечно глупые вещи спрашиваю, в принципе все понятно где и как это редактируется в модулях и языковых пакетах, просто после нескольких лет мучений с OSCommerce присматриваю другую систему и OpenCart, как и ocStore по всем параметрам подходит. Вот только не хотелось снова долго править код модулей и сообщения руками, чтобы при очередном апдейте опять повторять эту процедуру. 

 

P.S. Небольшой баг-рипорт. На странице регистрации в первом поле - Имя,Отчество лучше все же разделить пробелом - Имя, Отчество 

  • +1 1
Надіслати
Поділитися на інших сайтах


HastaLaVista, есть такой отличный модуль - Simple.

Пара нажатий кнопок - и у вас любая форма регистрации, любая форма заказа товара (упрощённая, усложнённая) и т.п.

Модуль как раз по этой части.

Учитывая его пользу - стоит копейки.

 

Купите, установите, и сделайте так, как хочется.

Как по мне - даже если исправить поля так, как вы написали, я бы всё равно купил модуль. Уж слишком много прикольных фич там есть)))

Каждый под себя сделает как хочет

Надіслати
Поділитися на інших сайтах


Привет всем.
Благодарю за прекрасный движок.
Теперь к теме. Есть предложение как решить вечный бубен с правами файлов.

Пакуйте сборку не в zip, а в tar. tar это архиватор, который не сжимает, а сохраняет структуру папок и файлов с их правами и другими атрибутами. Что бы ещё и сжать с сохранением атрибутов нужно паковать в двойной архив tar.gz, только там с параметрами сжатия нужно аккуратно, что бы всё правильно сжало.

Оба архива понимаются всеми нормальными хостингами, в отличие от того же zip, который хостинг понимать не должен и если и понимает, то только благодаря заботе хостера о клиенте. И они отлично жуются в винде winrar и 7zip, правда с потерей прав, но это уже проблема самой винды, которая не умеет работать с атрибутами файлов и папок.

Ещё стоит добавить в redme памятку какие права на какие файлы и папки лучше поставить после установки, если их после установки есть необходимость менять.

Надіслати
Поділитися на інших сайтах


HastaLaVista, есть такой отличный модуль - Simple.

Пара нажатий кнопок - и у вас любая форма регистрации, любая форма заказа товара (упрощённая, усложнённая) и т.п.

Модуль как раз по этой части.

Учитывая его пользу - стоит копейки.

 

Купите, установите, и сделайте так, как хочется.

Как по мне - даже если исправить поля так, как вы написали, я бы всё равно купил модуль. Уж слишком много прикольных фич там есть)))

Каждый под себя сделает как хочет

Я знаю про этот, безусловно отличный модуль. Поэтому и обидно, что текущая версия сборки и он стыкуются с некоторыми неприятными ошибками.

 

Например: По умолчанию в сборке при регистрации выводится поле "Имя,Отчество". В модуле это же поле называется "Имя". Ну имя так имя, ничего страшного. Вот только модуль не везде подставляет свои текстовые переменные, поэтому в письме с подтверждением заказа или при регистрации покупателя вместо имени продолжает отправляться название поля "Имя,Отчество". При этом отчества там нет, ведь при регистрации его не запрашивают. 

 

Способы лечения понятны, переименовать текстовое поле в настройках модуля, но тогда добавится ввод не всем нужного отчества, либо лезть в языковой файл ocStore и править строку "Имя,Отчество" на "Имя". При этом обязательно забудешь повторить эту операцию при апгрейде либо модуля, либо магазина. Можно ли обвинять в этом автора модуля - нет, ИМХО у него все сделано корректно. Некорректно использование одного поля для хранения двух переменных (имени и отчества), сделанное авторами сборки.

 

Поэтому я бы предпочел использование по умолчанию при регистрации только ограниченного набора стандартных полей ввода OpenCart (без Имя,Отчество, Компания, Факс, ID компании), а вот все украшения и свистульки превосходно допилят авторы дополнительных модулей. Как-то так корректнее получается. 

Надіслати
Поділитися на інших сайтах


поясню порядок работы с релизом:

1. пользователи подробно пишут о проблемах, фичах, доработках

2. админ решает что должно войти в след релиз, добавляет задачу в первое сообщение топика.

3. команда OC Team фиксит баги, принимаются пул реквесты. в коментах номер задачи и сам коментарий что было сделано в комите.

4. реквесты проверяются и применяются.

 

нет смысла делать пул реквесты на задачи которых нет

Надіслати
Поділитися на інших сайтах

на первом шаге установки недостаточно инфы

вечный бубен с правами у кривых хостеров

А причём тут хостер? С какими правами разархивировал с такими и будет у хостера. А unzip даёт кривые права, так как сам тип архива неподдерживает сохранение настроек атрибутов прав. И появляется в описании установки лишний шаг поменять права.

Хорошо поменяли, установили, а дальше? А дальше надо опять менять права, пользователя и группу, так как пользоваться сайтом с правами 777 нельзя, это дырища в безопасности. Тут на форуме где то есть на какие права поменять, что бы и сайт максимально защитить, и всё работало. А я предлагаю это описание добавить в redme в установочном архиве, всего навсего, что бы скачавший архив неискал потом где и какие права нужно поставить.

  • +1 1
Надіслати
Поділитися на інших сайтах


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.