Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

usergio

Users
  • Posts

    6,006
  • Joined

  • Last visited

Everything posted by usergio

  1. Проблема в том, что у вас стоял модуль старой версии. С тех пор, много времени утекло и много добавилось полей в БД ) Вам нужно аккуратно прогнать этот список команд создания новых полей в БД (вижу, у вас многих не хватает): 6. Добавьте в таблицы БД поля, для этого: - в тексте, который вы видите ниже, исправьте везде, префикс БД (у меня в БД это "oc_", у вас может быть другой), если вы, вообще, используете префикс. Скопируйте исправленный текст: ALTER TABLE `oc_suppler` ADD `parsq` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `qu_discount` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler_sku_description` ADD `store_id` INT( 2 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `bonus` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ddesc` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `pointq` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `placeq` VARCHAR( 5 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `bprice` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `kmenu` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ratep` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ratek` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `bmin` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `bav` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `bmax` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_seo` ADD `prod_keyword` VARCHAR( 1000 ) NOT NULL ; ALTER TABLE `oc_suppler_seo` ADD `prod_h1` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` ADD `prod_photo` TEXT NOT NULL ; ALTER TABLE `oc_suppler` ADD `plusopt` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `idcat` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `optimal` DECIMAL( 12,4 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `market_percent_to_price` DECIMAL( 6,3 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `market_percent_to_bprice` DECIMAL( 6,3 ) NOT NULL ; ALTER TABLE `oc_suppler_base_price` ADD `market_percent_to_bdprice` DECIMAL( 6,3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `t_ref` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `termin` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `t_status` VARCHAR( 255 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `onoff` varchar( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `zero` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `metka` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `jopt` varchar( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `optsku` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `newproduct` VARCHAR( 5 ) NOT NULL ; ALTER TABLE `oc_suppler_options` ADD `art` varchar( 3 ) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `price` DECIMAL( 15,4 ) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `model` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `defaultselect` tinyint(1) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `defaultselectpriority` int(11) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `weight` decimal(15,8) NOT NULL ; ALTER TABLE `oc_relatedoptions` ADD `weight_prefix` varchar(1) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `noprice` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `paramnp` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `pointnp` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_price` ADD `baseprice` INT( 1 ); ALTER TABLE `oc_suppler` ADD `main` INT( 1 ); ALTER TABLE `oc_suppler_sku_description` MODIFY `sku` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_options` ADD `foto` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `opt_prices` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `opt_fotos` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler_attributes` ADD `filter_group_id` INT( 11 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ref1` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `t_ref1` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `usd` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `serie` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `sleep` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler` ADD `ffile` VARCHAR( 1 ) NOT NULL ; ALTER TABLE `oc_suppler_options` ADD `opt_point` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_ref` ADD `price` DECIMAL( 15,4 ) NOT NULL ; ALTER TABLE `oc_suppler_attributes` ADD `filter_group_id` INT( 11 ) NOT NULL ; ALTER TABLE `oc_product_option_value` ADD `optsku` VARCHAR( 64 ); ALTER TABLE `oc_order_product` ADD `bprice` DECIMAL( 15,4 ); ALTER TABLE `oc_suppler` MODIFY `pic_ext` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler` MODIFY `warranty` VARCHAR( 512 ) NOT NULL ; ALTER TABLE `oc_suppler` MODIFY `cheap` VARCHAR( 3 ) NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `prod_title` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `prod_meta_desc` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `cat_title` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `cat_meta_desc` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `manuf_title` TEXT NOT NULL ; ALTER TABLE `oc_suppler_seo` MODIFY `manuf_meta_desc` TEXT NOT NULL; ALTER TABLE `oc_suppler` MODIFY `ad` VARCHAR( 2 ) NOT NULL ; ALTER TABLE `oc_suppler` MODIFY `spec` VARCHAR( 128 ) NOT NULL ; ALTER TABLE `oc_suppler_options` MODIFY `opt` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_options` MODIFY `pr` VARCHAR( 64 ) NOT NULL ; ALTER TABLE `oc_suppler_options` MODIFY `pr` VARCHAR( 64 ) NOT NULL ; - зайдите через phpMyAdmin в БД магазина, вставьте этот текст в закладку SQL и нажмите OK. Если выдалась ошибка в какой-то строке: "Dublicate...", удалите эту строку из вставленного текста и нажмите ОК еще раз. Делайте так, пока все не удалите или пока SQL не скажет готово. Потом, удалите suppler.xml из вкюмода и запустите inst.php Вкюмод больше модулю не нужен. В последних версиях модуля, фото нужно закачивать не в image/data, а в image/data/temp Потом удобнее удалять.
  2. И еще СКУ: 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']; артикул связки
  3. Модуль ищет артикул или в товаре или в опциях товаров. Допустим, что у вас артикулы - в опциях и модуль нашел товар, у которого в одной из опций есть такой артикул. Он обновит этот товар (все его части, которые вы указали) и цену и количество в этом, конкретном, значении опции (например, "красный" станет по цене 55.20 руб. и количество 23 шт.) Если у этого значения есть связанное значение: ХL, то понятно, что у него будет та же цена и то же количество, потому, что эти значения опций находятся в одной строке прайса и ссылаются на одни и те же колонки с ценой и количеством. Т.е. у Размера XL и Цвета "красный" один и тот же артикул, например: http://prntscr.com/98ekk6
  4. Погодите пока, вот вам: Как парсить сайты, защищенные от парсинга. (инструкция на примере Яндекс Маркета) :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 Прогоняем наш прайс со ссылками на Яндекс. Проскакивает очень быстро :)
  5. Новое руководство еще не готово, пишу тут: Стандартный Опенкарт предполагает, что товары с разными артикулами - это разные товары. Модуль тоже, ищет товар по артикулу (поле SKU) и, если такой товар находит, то может его обновить (включая опции, атрибуты, фото, описание, цену и все, что вы укажете). 1.Если в прайсе есть несколько строк с одинаковым артикулом, то модуль будет обновлять товар несколько раз. Например, если в разных строках прайса указаны разные опции товара, то модуль будет последовательно добавлять эти опции в товар, при каждом обновлении товара (включите кнопку http://prntscr.com/8iw7v2 Если эти строки, в прайсе смежные, то модуль может подсчитать общее количество товара (последовательно накапливая количества в каждой опции). Но повторяю, артикулы в строках прайса должны повторяться. Как только артикул в прайсе изменился, модуль понимает, что начался новый товар и прекращает накопление количеств опций и записывает результат в товар. 2.Если в прайсе у поставщика, каждая опция имеет свой артикул, то в каждой строке такого прайса артикулы будут разными. Модуль не сможет понять: это уже новый товар начался или продолжается старый. Поэтому, если вы включили кнопку: http://prntscr.com/8iwftt то, для добавления новых товаров с артикулами в опциях, должны выделить новую колонку в прайсе. В ней вы ставите единицы в строках, которые являются продолжением товара и ничего не ставите (пусто), если эта строка - начало нового товара. Обратите внимание, что в конце прайса нужно добавить строку с бредовым товаром (с левым артикулом, ненулевой ценой, пустым признаком повторения товара и без фото, чтобу он не дай Бог не создался в магазине). Модуль должен видеть, что начался новый товар, и подбить итоги по предыдущему. Для обновления товаров с артикулами в опциях, признак повторения - не нужен. Вот пример: http://prntscr.com/8n31to
  6. Хороший вопрос. Поле для номера колонки, которое вы видите тут: http://prntscr.com/97r7yo предназначено для артикула в опции. Имеется в виду этот артикул: http://prntscr.com/97r8sp а не этот: http://prntscr.com/97r909 Не путайте артикул Товара и артикулы Опций: у товара артикул - один, а в каждой опции товара - артикулов много. Если вы вводите артикулы в опциях вручную и не знаете, какой артикул прописать в товаре, то пропишите артикул первой опции. Товар без артикула оставлять нельзя! Рассмотрим ситуацию "артикулы в опциях", т.е. каждое значение опции имеет свой уникальный артикул. Возможны два варианта прайса: 1. Товар занимает несколько смежных строк. Артикул Цвет Кол-во Цена А1234С Синий 12 1234.50 А1288А Желтый 5 1068 В этом случае, вы сообщаете модулю, что артикул соответствует опциям (не товарам) и находится в колонке №1: http://prntscr.com/97rdq3 http://prntscr.com/97re3k Этого достаточно. 2. Товар занимает одну строку (если заметили, именно в таком формате модуль экспортирует товары) Артикул Цвет Кол-во Цена А1234С;А1288А Синий; Желтый 12;5 1234.50;1068 В этом случае, в колонке №1 находятся несколько артикулов и назвать это "Артикулом", как-то язык не поворачивается) Поэтому номер колонки 1 нужно прописать тут: http://prntscr.com/97ridg и модуль разберется, к какому значению опции, какой артикул относится. А номер колонки для артикула товара, можете указать любой другой, где содержится любой артикул из колонки №1
  7. В очередной раз прошу, НЕ УДАЛЯЙТЕ ТОВАРЫ РУКАМИ! Для этого есть Инструменты. Теперь вам придется зайти в БД и трункетировать (очистить) все таблицы, связанные с товарами. product - все. suppler_sku suppler_sku_description suppler_ref suppler_base_price
  8. Можно заподозрить, что у вас на хостинге закончилась память. Если белый экран, значит случилась какая-то серьезная ошибка. Сайт не может сообщить подробности об ошибке потому, что вы запретили выдачу ошибок на экран пользователя. И правильно сделали, ведь у вас магазин, клиенты, адреса и прочая радость для всякого хакера. А тут, бац! На экране: "Ошибка в БД такой-то, в поле таком-то" Как орал пьяный военный телеграфист Ходоунский: "Все секреты выдам!" :) Зайдите в system/logs посмотрите последнюю ошибку. Или в error_log если у вас такой есть. Почистите, кстати, logs.
  9. Проблема вот в чем. Если опция имеет артикулы, т.е. каждый цвет имеет свой уникальный артикул, то модуль, как мне кажется, совершенно справедливо отдает приоритет артикулу. Это значит, что в опции может быть два цвета "Черный", если у них разные артикулы. У вас так и получилось. Если бы в значениях опции артикулов не было, то модуль сверялся бы по названию, и никогда бы не добавил второй "nero", если один "nero" уже в опции есть.
  10. Опции парсятся с этой страницы http://prntscr.com/96i8ec Принцип тот же: - модуль вырезает из страницы кусок текста, в данном случае, от <tbody> до </tb - в этом куске ищет opt_id="aa"> и забирает все, что написано между opt_id="aa"> и </div - также ищет цену - связывает в пару опцию с ценой. - ищет следующий opt_id="aa"> и т.д. Таких пар может быть сколько угодно на доноре. Парсить цену не обязательно
  11. Друзья, ну зачем я для вас делал отчеты о загрузке в папке uploads? Упорно не хотите их читать, там же все подробно написано по каждой строке прайса. errors - отчет о не обработаных товарах report - отчет об успешно обработанных товарах Каждый товар попадет: либо туда, либо туда.
  12. Ага) Если бы я не пахал в личке, как п.Карло, вы бы тут зашились :ugeek: Вот сегодня (честно) 136 писем в личку. Из них 4 захода на хостинги. 4 разбора прайсов. И обновление успел сделать. Сегодня был анекдотический случай. Инсталятор не может сделать вставку в движок для артикулов в опциях (выдает ошибку). Попросил прислать файл, прислали. Смотрю и не узнаю Опенкарт, вежливо спрашиваю: "Скажите, пож, а что это у вас текст программы Опенкарта, как-то по-дебильному написан"? Отвечают: "Это мой программист пытался сделать артикулы в опциях" :) Пришлось все исправлять - 20 минут потеряно.
  13. Сначала модулю нужно найти главное фото (без него товар не создастся),. Он пытается скачать/найти первое в вашем списке, если первое - пустое, берет второе....третье... и тд. Если главного фото не найдено, товар пропускается. Если найдено, модуль пытается скачать все остальные фото, как дополнительные. Поэтому не удивляйтесь, если главным фото стало фото по второй ссылке: значит первая ссылка оказалась слепой.
  14. Обновление 8.4-6 По совету друзей, решил нумеровать обновления, а то, действительно, какой-то бардак получается. Теперь более четко можно сказать, что наценка, указанная в колонке прайса имеет приоритет перед всеми другими наценками, и если она равна 0, то никакая наценка не прибавляется. Теперь, в названии Категорий, регистр не имеет значения. Наконец-то :) Если модуль не знает куда положить фото из Описания (пусто в поле "Номер колонки..категория"), то он положит его в image/data/photo Обновите только 1 файл: admin/model/catalog/suppler Больше ничего не делайте!
  15. При добавлении новых товаров - нет проблем: если категория не указана на стр. "Категории и наценки", то товар 100% не добавится (модуль не знает, в какую категорию положить этот товар). А при обновлении, колонку Категория можно не указывать вообще http://prntscr.com/937yxj ведь модуль и так знает в какой категории находится, существующий в магазине, товар. Если артикулы (в прайсе и в магазине) совпадут и в прайсе у товара не 0 на остатке, он будет неумолимо обновлен. Есть в модуле старая-забытая функция "Исключение" ( exception ) - если в admin/uploads поместить файл с названием exception.xml и в этом файле, в первой колонке перечислить СКУ товаров, которые не должны обновляться, то они обновляться не будут.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.