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

usergio

Users
  • Posts

    6,005
  • Joined

  • Last visited

Everything posted by usergio

  1. Ребята-программисты с того сайта, который вы парсите подсунули нам свинью: чтобы мы не таскали у них фото, они поставили защиту... и вместо фото выдают вам текст, типа: "Это фото находится на сайте (имя сайта) ... и т.д." Пришлось это дело хакнуть. Получилось :) Смотрите: http://ann.spywatcher.com.ua/index.php?route=product/product&path=4&product_id=1761 Прошу всех, кто раньше обращался с таким же вопросом вчитаться! (извините, сразу не отреагировал) Теперь, Ваш вопрос решен. Замените две функции в программе admin/model/catalog/suppler ( function getRef и function curl_get_contents ): function getRef($head, $url) { $new_url = 0; $p = strpos($head, "Location:"); if (!$p) { $p = strpos($head, "src"); if (!$p) $p = strpos($head, "href"); if (!$p) return 0; $a = strpos($head, '"', $p)+1; $b = strpos($head, '"', $p+9); $p = $b - $a; $new_url = substr($head, $a, $p); } else { $pb = $p + 10; $pe = strpos($head, "\r\n", $pb); if (!$pe) return 0; $p = $pe - $pb; $new_url = substr($head, $pb, $p); } if ($new_url) { if (!substr_count($new_url, "http://")) { $pe = strpos($url, "//"); if ($pe) $pe = $pe + 2; $pe = strpos($url, "/", $pe); $a = substr($url, 0, $pe); if (substr($new_url, 0 ,1) != "/") $new_url = '/'.$new_url; $new_url = $a.$new_url; $new_url = str_replace ("../", "", $new_url); $new_url = str_replace ("./", "", $new_url); } else { $pe = strpos($new_url, "//"); if ($pe) $pe = $pe + 2; $pe = strpos($new_url, "/", $pe); if (substr($new_url, $pe+1, 1) == ".") { $new_url = str_replace ("../", "", $new_url); $new_url = str_replace ("./", "", $new_url); } } } return $new_url; } И вторая: function curl_get_contents(&$url) { for ($r=0; $r<5; $r++) { $head = $this->getHead($url); if ($head === false) { $body = $this->getContents($url); break; } $code = $this->getCode($head); if ($code == "dupa") { $body = $this->getContents($url); break; } if ($code == "OK") { $body = $this->getBody($url); $yes = $this->isPicture($body); if ($yes) break; $head = $body; } $ref = $this->getRef($head, $url); if (!$ref) { $body = $this->getContents($url); break; } if ($ref) $url = $ref; } return $body; }
  2. Доступ к папке uploads должен быть установлен 755 или 777 Но мне показалось, что у вас проблеме не в этом (не только в этом). Прайс, который вы загружаете остался "неправильным", хоть вы и пытались обмануть модуль - вставляли руками нужную строку :) На самом деле все можно сделать проще и будет работать: откройте ваш исходный прайс Экселем (от майкрософт, соглашайтесь со всем, что он вам скажет), сохраните файл как: Другие форматы - Таблица xml 2003 Такой прайс пройдет
  3. Закончил "Бомбу" :) - версию 5.0 Полностью переписываю Руководство. Пытаюсь все разложить по пунктам: по каждому полю Формы Поставщика пишу отдельный раздел!!! Цель: мечтаю получать в ЛС, хотя бы меньше 10 писем в день :oops: Версия отлажена на реальной загрузке моего собств. магазина - сбоев быть не должно. Решил проблемы с установкой (спасибо Lomleer, предоставила мне хостинг для экспериментов) - многое понял. Предупреждаю, версия 5.0 будет стоить дороже. Не потому, что мне просто стукнуло в голову поднять цену, а потому, что у нее функционал в несколько раз выше, чем у четверки. Это не касается тех, кто уже купил любую из предыдущих версий.
  4. Уже сделал. Когда тестировал, понял, что придется отказаться от конструкции: 1=0 или 0=0 Все же, число должно приниматься, как число: если в колонке встретилось 0 или 1, то интерпретировать это, как-то иначе, чем "количество на складе" - затруднительно.
  5. Такое бывает, пока не могу точно назвать причину, почему это происходит. Файл sos содержит номер последней загруженной строки прайса. И когда прайс заканчивается, этот файл, как бы должен удаляться. Я подаю команду "удалить sos", но хостинг не всегда на нее (почему-то) реагирует. Попробуйте поставить доступ у uploads 777, возможно поможет. А если не поможет, то и фиг с ним :) Если вы заметили, что загрузка идет по кругу - грохните sos и можете отдыхать: дубли товаров все равно не создадутся, ведь артикулы загруженных товаров уже есть в БД, а значит, повторная их загрузка приведет только к обновлению цен и остатков существующих товаров. Перпетуум мобиле, так скааать :)
  6. То ли еще будет :) Сегодня 5.0 закончил, мог бы уже выложить, но руководства пока не написал. Вашу идею понял, понравилась. Не возражаете, если я просуммирую количество во всех колонках, которые вы укажете через запятую? С учетом интерпретации, естественно (Есть=10,Много=50,Нет=0..... и т.д.). П.С. У меня поставщик, вообще, плюсы пишет :) + - 10 ++ - 20 .... Каждый извращается, как может.
  7. Попросите теперь у вашего поставщика прайс-лист. Но обязательно, чтобы в нем был артикул у каждого товара. Если в нем будут еще и ссылки на фотографии товаров или (еще лучше) на страницы их сайта с этими товарами, то считайте, что через неделю вы откроетесь:)
  8. К понедельнику будет 5.0 - она парсит одновременно с разных сайтов. Но сейчас вы можете несколько раз прогнать прайс, каждый раз перенастраивая номер колонки для парсинга Включайте кнопки "Заменить описание", Заменить название, заменить атрибуты.....
  9. Не только к названиям (даже, на столько к названиям) сколько к артикулу вашего поставщика! Уже советовал: в прайс поставщика с артикулами товаров, добавляете колонку со ссылками на страницы какого-либо хорошего сайта (с описаниями, характеристиками и фото). За пару дней, 1000 ссылок - не проблема. И заливаете в магазин. В своем параноидальном стремлении к качеству, я дошел до того, что вставляю в прайс поставщика (в разные колонки) ссылки на разные сайты. И парсю: атрибуты - с одного, описания с другого, а название и фото - с третьего :) Где лучше - там и беру.
  10. Значит модуль не нашел товаров для экспорта. Вы же понимаете, что экспортируете товары из формы поставщика ? А у поставщика есть префикс - хх Если товаров с префиксом хх не найдено в магазине, то и файл пустой. Включите кнопку "Поставщики - Все.
  11. Верните файлы Опенкарта на место (восстановите). Ставить модуль руками - задача не простая, как кто-то тут на форуме высказался "Чувствую себя минером на минном поле". Пусть у вас на сайте заработает голый Опенкарт, а я вам сам внесу изменения, посмотрите :) Только предупреждаю, 2-3 дня буду занят - доделываю 5.0 версию
×
×
  • 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.