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

Recommended Posts

Кто собирал движок наш? Переделывать! И жирным пропишите в админке:

"модель есть модель", и значит правильно перенесли. 

Поставить там radio есть опции или нет.

Если нет опций у товара и только в этом случае заполняется SKU в разделе вкладки данные.

Для модели имеющей опции вообще может не быть SKU и это правильно, SKU - комбинация опций.

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

хотя зашел в локализацию и ОП.

$_['text_model']        = 'Product Code:';

значит наши перенесли правильно. 

Под продукт кодом понимают уникальный код товара в ИМ. А артикулу отдают второстепенную роль. Наверное с соображений - код товара есть всегда, а артикула может и не быть.

наверное как то так. 

Короче как я и говорил с этим все очень сложно  :oops:

Змінено користувачем Rassol2
Надіслати
Поділитися на інших сайтах

И так же есть проблема почему шаблон выводить в карточке товара именно model - (код товара "типо") 

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

Типо 1248-02

Модель именно модель логично выводить в карточке товара

также логично выводить SKU

А кода при такой комбинации вообще нет, а если даже он и есть то выводить его не надо, если только не используется какая нибудь CRM например для быстрого поиска менеджером товара, но это вообще отдельное значение создавать надо и оно не может заменять SKU или Модель.

SKU не опция, это должно быть отдельное значение, в модуле Связанные опции именно так!

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


 

хотя зашел в локализацию и ОП.

$_['text_model']        = 'Product Code:';

значит наши перенесли правильно. 

Под продукт кодом понимают уникальный код товара в ИМ. А артикулу отдают второстепенную роль. Наверное с соображений - код товара есть всегда, а артикула может и не быть.

наверное как то так. 

Короче как я и говорил с этим все очень сложно  :oops:

 

Если есть такое понятие то надо для него задавать отдельное значение, но ни в коем случае ему не присваивать SKU или Модель!!! Это 3 (три) разных ЭЛЕМЕНТА!!!!!!!

Кому писать чтоб порядок навели!? 

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


Хотя в сборке порядок можно и не наводить. Для более менее нормальных магазинов с правильной структурой все равно понадобиться установка связанных опций. А обработку этих трех элементов может взять на себя модуль Usergio, альтернативы пока ему нет, возможно при интеграции с 1С нечто подобное реализуется.

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


Если есть такое понятие то надо для него задавать отдельное значение, но ни в коем случае ему не присваивать SKU или Модель!!! Это 3 (три) разных ЭЛЕМЕНТА!!!!!!!

Кому писать чтоб порядок навели!? 

 

Если есть такое понятие то надо для него задавать отдельное значение, но ни в коем случае ему не присваивать SKU или Модель!!! Это 3 (три) разных ЭЛЕМЕНТА!!!!!!!

Кому писать чтоб порядок навели!? 

Возможно вариант подставлять значение в Модель из значения кода, если поле не заполнено или наоборот, и даже может быть в SKU. Тут надо подумать кого и куда можно подставлять если поле не заполнено. И всем будет счастье!

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


Судя по всему изначально opencart создавался 1 карточка товара - 1 SKU. Из этого вырос "УЖАС" когда в одной ячейке прописывается дико несколько значений опций и также дико связываются, и эти связи не имеют идентификаторов. Будем исходить из того что есть!
Есть все ну или почти все для реализации правильной БД.
Вариант: логика, а соответственно и порядок приоритетов для товаров в БД должна быть такой:
0. Модель значение обязательное в любом случае, потому как может объединять вариации товара по различиям на одной карточке товаров.
Значение получается также должно быть уникальным.
Если значения нет то сформировать его можно автоматически из задаваемого
в ручную значения (префикс) + SKU или UPC или Код товара Поставщика или Наименование.
Модель необязательно отображать на странице товара, в прочем как и код, разве что только SKU, UPC и другие международные
1. SKU если нет то 2
2. UPC если нет то 3
3. Другие международные коды. если нет то 4
4. Код товара Поставщика. если нет то 5
5. Наименование (Обязательный)
при парсинге и импорте прицепиться за 1 или 2 или 3 или 4 или 5!
Обязательно наличие "0" и "5" и 1 или 2 или 3 или 4
Я понял что Opencart гибкая и можно даже если этого нет, задать именно такой набор полей для каждого SKU.
В результате снова подчеркну избавляемся от дикого представления опций, артикулов в опциях, связанных опций, количества и прочих комбинационных значений в одной ячейке!!!
Я не программист но уверен на все 100000000000000000000000% что так правильно, и это реализуемо даже в пределах модуля Usergio!

Змінено користувачем Kosteus
Надіслати
Поділитися на інших сайтах


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

 

Если я правильно понимаю (после просмотра видео) есть 2 варианты загрузки опций

1-й через указание значений через точку-запятую 

2-й при указании 1-го артикула, и указания столбика с переменными для данной опции и основного артикула. 

 

Используя 2-й вариант (опции без артикула) - подключал опции, очень понравилось - СПАСИБО, залил с первого раза 

Теперь стоит задача, подключить к товару опции со своими Артикулами. Арт. основному товару - придумал сам

 

Как я понимаю (почитав предыдущие посты), надо заливать тоже 2-м способом. Но не понятно, как именно, какой в таком случае получается "признак повторения товара (для артикула в опциях):" 

 

Если у меня из 100 товаров, только 2 имеют опции - как, что и куда писать? 

Помогите плиз 

Новое руководство еще не готово, пишу тут:

Стандартный Опенкарт предполагает, что товары с разными артикулами - это разные товары.

Модуль тоже, ищет товар по артикулу (поле SKU) и, если такой товар находит, то может его обновить (включая опции, атрибуты,

фото, описание, цену и все, что вы укажете).

1.Если в прайсе есть несколько строк с одинаковым артикулом, то модуль будет обновлять товар несколько раз.

Например, если в разных строках прайса указаны разные опции товара, то модуль будет последовательно добавлять эти опции в

товар, при каждом обновлении товара (включите кнопку http://prntscr.com/8iw7v2

Если эти строки, в прайсе смежные, то модуль может подсчитать общее количество товара (последовательно накапливая количества в каждой опции).

Но повторяю, артикулы в строках прайса должны повторяться.

Как только артикул в прайсе изменился, модуль понимает, что начался новый товар и прекращает накопление количеств опций и записывает результат в товар.

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

Модуль не сможет понять: это уже новый товар начался или продолжается старый.

Поэтому, если вы включили кнопку: http://prntscr.com/8iwftt

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

В ней вы ставите единицы в строках, которые являются продолжением товара и ничего не ставите (пусто), если эта строка - начало нового товара.

Обратите внимание, что в конце прайса нужно добавить строку с бредовым товаром

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

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

Для обновления товаров с артикулами в опциях, признак повторения - не нужен.

Вот пример: http://prntscr.com/8n31to

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

1. Нет не скачал.

2 .Проверьте ссылку из еррорса, она открывается в браузере? - нет не открывается потому что попал в "бан" от сайта донора. Блокировка очень хитрая (я так догадываюсь) помимо моего IP сайт донора еще отслеживает и частоту запросов/обращений к своим материалам, настройка в модуле - "пауза парсинга" не помогает. Наверное буду искать другого "донора"

Погодите пока, вот вам:

 

                                                                                  Как парсить сайты, защищенные от парсинга.  

                                                                                                (инструкция на примере Яндекс Маркета)

                                                                                                                                :ugeek:

В форме поставщика, включаем кнопку: http://prntscr.com/8df77c

Собираем ссылки на товары с Яндекса в наш прайс.

Делаем их активными, быстрым, двойным нажатием ЛКМ на каждой ссылке.

Идем по прайсу по ссылкам:

Открываем стр. Яндекса с товаром, отмечаем в ссылке от знака ? до конца ссылки или до точки: http://prntscr.com/7kfnwg

или, если знака ? нет, то от слэша: http://prntscr.com/7kfou7

 

Нажимаем  ctrl+C  ctrl+S  ctrl+V  Enter

Собираем файлы страниц нашего защищенного донора (сохранить только HTML) на своем компе, удаляем из названий .html или .htm  (групповое переименование).

Закачиваем все эти файлы в admin/uploads

Прогоняем наш прайс со ссылками на Яндекс.

Проскакивает очень быстро :)

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

Итого, сутки проб и ошибок - получилось прописать артикул в опциях. 

 

Возможно понадобится

1. прописал название опций руками 

2. "Номер колонки содержащий признакповторения товара (для артикула в опциях):" оставил пустым 

3. "Артикул в опциях:" Нет 

4. во вкладке "Опции" указал № столбика с Артикулами, а их в файле прописал через точку с запятой (как показано в видео для 1-го случая) 

Совершенно верно.

Поле для артикула во вкладке Опции, подразумевает, что в прайсе артикулы записаны через точку с запятой.

Как это можно видеть в экспортном прайсе.

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

Если связанные опции имеют свой SKU (не путать с SKU для опций), есть вариант решения обновлять значения например остатков по SKU связанных?

Модуль ищет артикул или в товаре или в опциях товаров.

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

Он обновит этот товар (все его части, которые вы указали) и цену и количество в этом, конкретном, значении опции (например, "красный" станет по цене 55.20 руб. и количество 23 шт.)

Если у этого значения есть связанное значение: ХL, то понятно, что у него будет та же цена и то же количество, потому, что эти значения опций находятся в одной строке прайса и

ссылаются на одни и те же колонки с ценой и количеством.

Т.е. у Размера XL и Цвета "красный" один и тот же артикул, например: http://prntscr.com/98ekk6

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

 

 

Итак продолжим:

Сейчас насколько я понимаю у модуля есть возможность обрабатывать опции вида:

цвет: черный;черный;черный;синий;красный

размер: 44;48;46;48;46

количество : 5;6;7;3;10

И все.

Вероятно единицы поставщиков, готовы поставлять данные в таком виде. А самостоятельно можно только в ручную и то для небольшого количества. 

Модуль и здесь помогает, связывает опции, но не присваивает значение каждой из связок, а значений может быть несколько как в модуле связанный опции от 19th19th:

Модель, SKU (в данном случае дочерний), UPC, Расположение, Вес, Цена, Скидки, Акции, Описание

может еще какие. Это и есть значения комбинаций опций, которыми весьма вероятно могут делиться поставщики, например штрих кодом - UPC.

 

Прописывать значение артикула в опциях, страшновато если их хотя бы больше 10.

 

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

А теперь ответьте пожалуйста, кто, что думает по этому поводу.

Или я не изучил модуль и ничего не понял или понял частично.

Или такой возможности в модуле нет и благодаря труду Usergio она появится в новой версии.

 

И еще СКУ: RB00456;RB00556;RB00658;RB00442

 

Для каждой связки свой СКУ.

 

В СО от 19th19th модуль записывает:

 

                                 $mas_opt[$jj][$l][4] = $data_option['ko'];               количество             

                                $mas_opt[$jj][$l][5] = $data_option['pr'];                цена             

                                $mas_opt[$jj][$l][6] = $data_option['we_prefix'];    префикс веса                        

                                $mas_opt[$jj][$l][7] = $data_option['we'];               вес

                                $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки

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

И еще СКУ: RB00456;RB00556;RB00658;RB00442

 

Для каждой связки свой СКУ.

 

В СО от 19th19th модуль записывает:

 

                                 $mas_opt[$jj][$l][4] = $data_option['ko'];               количество             

                                $mas_opt[$jj][$l][5] = $data_option['pr'];                цена             

                                $mas_opt[$jj][$l][6] = $data_option['we_prefix'];    префикс веса                        

                                $mas_opt[$jj][$l][7] = $data_option['we'];               вес

                                $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки

значит корректное решение проблемы не в компетенции вашего модуля:

сейчас 1 строка модель (код товара) - содержат все опции включая SKU и все прочее

надо 1 строка товара - 1 SKU и далее все тоже самое что и в случае когда модель (код товара) главный и модуль от 19th19th вообще не нужен

Змінено користувачем Kosteus
Надіслати
Поділитися на інших сайтах


в тестов режиме создал 2 товара с одним и тем же кодом, с разными и опциями, резeльтат ожидаемый т.к. два ID - а если объединить ID, то это переписывать ядро! Сложно, но можно, страшно, глаза боятся руки делают! кто самый рукастый?

значит корректное решение проблемы не в компетенции вашего модуля:

сейчас 1 строка модель (код товара) - содержат все опции включая SKU и все прочее

надо 1 строка товара - 1 SKU и далее все тоже самое что и в случае когда модель (код товара) главный и модуль от 19th19th вообще не нужен

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


Вы имеете в виду: два товара с одинаковым текстом в поле Модель?

Но это поле не участвует в поиске товара, участвует поле SKU - и только оно.

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

Вы имеете в виду: два товара с одинаковым текстом в поле Модель?

Но это поле не участвует в поиске товара, участвует поле SKU - и только оно.

Ладно не будем пока трогать ядро, это уже будет opencart 3.0

Но уверен что описанную выше логику можно реализовать в вашем модуле, на базе "кривых" связанных опций, брать значение из $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки

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


Вы имеете в виду: два товара с одинаковым текстом в поле Модель?

Но это поле не участвует в поиске товара, участвует поле SKU - и только оно.

присвоить поиску товара значение $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки

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


если нет значения $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки  то присвоить (подставить) ему значение из "Модель"

присвоить поиску товара значение $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки

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


Подскажите в чем проблема, при нажатии "поставщики"  выдается ошибка Fatal error: Cannot redeclare class ControllerCatalogSuppler in /home/xxxx.xx/docs/opencart/admin/model/catalog/suppler.php on line 2549

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


присвоить поиску товара значение $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки

Так и сделано.

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

если нет значения $mas_opt[$jj][$l][8] = $data_option['optsku'];         артикул связки  то присвоить (подставить) ему значение из "Модель"

Если нет артикула в значениях опций, то используется артикул товара SKU, а значение находится по названию.

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

Подскажите в чем проблема, при нажатии "поставщики"  выдается ошибка Fatal error: Cannot redeclare class ControllerCatalogSuppler in /home/xxxx.xx/docs/opencart/admin/model/catalog/suppler.php on line 2549

А что это за строка в вашем варианте модуля admin/model/catalog/suppler.php on line 2549

Покажите ее тут

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

	private function getAllCategories($categories, $parent_id = 0, $parent_name = '') {
		$output = array();

		if (array_key_exists($parent_id, $categories)) {
			if ($parent_name != '') {
				$parent_name .= $this->language->get('text_separator');
			}

			foreach ($categories[$parent_id] as $category) {
				$output[$category['category_id']] = array(
					'category_id' => $category['category_id'],
					'name'        => $parent_name . $category['name']
				);

				$output += $this->getAllCategories($categories, $category['category_id'], $parent_name . $category['name']);
			}
		}

		return $output;
    
    }
	
}
?>

В строке 2549  находится знак "}"

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


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

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