Произошло то, о чем вы, наши уважаемые партнеры, нас так давно и настойчиво просили. Мы адаптировали-таки одну из наиболее известных, простых и эффективных E-Commerce тем под наш плагин.
Мы адаптации мы выбрали тему Begi. Вот ее Live Demo. Тему можно скачать по этому адресу:
Опыт адаптации тем мы получили и в дальшейшем сможем адаптировать другие темы быстрее.
Кроме того вышла версия 1.4.2 нашего плагина в которой исправлено несколько небольших багов в импорте и привязке товаров к категориям при импорте.
UPDATE1: Выпустили версию 1.4.3 с исправлениями. Говорим спасибо Евгению!
UPDATE2: Выпустили версию 1.4.4 с исправлениями темы и небольшими исправлениями по плагину.
UPDATE3: Уважаемые партнеры! Вопросы по плагину просьба задавать здесь: https://github.com/GdeSlon/wp-affiliate-shop/issues Так вы быстрее получите ответ на вам вопрос.
Нашел у вас ошибки в коде, из-за чего не добавлялись разделы:
вы передаете функцию обработки категорий только путь до каталога загрузки (стр.117 файл cron.php):
$content = loadFilePart($f, », $path);
а нужно полный путь с именем файла:
$content = loadFilePart($f, », $path.’/’.$xmlfile);
и вторая ошибка — в самой функции не правильно размещены аргументы в функции получения данных (стр.94 файл cron.php):
у вас stripos($delimiter, file_get_contents($path))
, а нужно stripos(file_get_contents($path),$delimiter)
После этого все работает.
Еще, нельзя получать весь файл с помощью file_get_contents — представьте, что выгрузка 60Мб (вполне себе нормальный файл) и этот ужас весь грузить в память??? Так не хватит памяти, т.к. действуют ограничения на размер.
Нужно использовать другую функцию или ограничиваться загрузкой первого мегабайта (это в пределе, если разделов много). А так скрипт отличный.
Еще бы грузил альтернативные фотографии, если отсутствует основная и, возможно, делал пережимку для превьюшек.
Да, еще, чуть не забыл — при удалении товаров остаются старые картинки, не удаляются со старыми товарами, хотя, если не удалять товары, а загружать поверх новые, то картинки не дублируются.
Еще, вижу, что у товаров используется индекс. Можно как то использовать этот индекс, чтобы определять порядок вывода товаров на страницу?
Еще как рекомендации — добавить в теги свойства «ТИП» и «Производитель». Тогда можно легко отбирать, например, все товары Adidas
Так что вот, что нужно для доработки:
— исправить текущую ошибку с добавлением категорий (разделов)
— добавлять картинку из резервного списка, если основная картинка отсутсвует
— добавить теги Тип и Производитель
— сделать возможность сортировки, скажем, в сортировку поставить цену. Тогда можно будет выводить в порядке убывания цены, или наоборот, в порядке возрастания цены (в порядке убывания/возрастания индекса)
Евгений, ошибки исправили, спасибо что обратили внимание.
По file_get_contents есть 3 соображения которые заставили наших программистов сделать нас именно так:
1. Использование любой сторонней бибилиотеки для парсинга XML снижает переносимость плагина. На шаред хостингах, которые больше всего страдают от лимитов памяти библиотек может не быть, вызов shell-команд (grep) так же скорее всего будет запрещен.
2. Большие выгрузки — это плохо — http://blog.gdeslon.ru/2012/02/rekomendacii-dlya-novichkov-chast-1/
3. К сожалению, PHP не всегда оптимально работает с памятью и может ее не отдавать даже в случае считывания файла по кускам. Рассчитывать на сборщик мусора в условиях абсолютно разных версий PHP на разных хостингах сложно.
Мы подумаем что можно сделать в этом моменте, чтобы не снизить скорость парсинга, не снизить переносимость, но экономнее расходовать память.
По остальным доработкам — обязательно займемся — следите за обновлениями.
Спасибо:)
Для обработки первой части большого файла можно ведь с php 5.1 использовать расширенную file_get_contents(имя_файл,FILE_TEXT,NULL,0,200000) — читаем первые 200Кб (для ровного счета) — на файлах 10-40Мб это уже здорово поможет.
Подскажите, пожалуйста, когда у вас будет следующий цикл обновлений плагина (интересуют прежде всего теги(или дополнительные таксономии))?
Еще, можно как-то прятать внешнюю ссылку, чтобы на кнопке «Купить» не светилось /wp-content/plugins/wp-affiliate-shop/go.php?url=http://www.gdeslon.ru/r/bd6254b65a2d5355812e4a92dc696307a5fcd18b/14470414/?sub_id=sapato-kid-shoes, а было что-то вроде:
/wp-content/plugins/wp-affiliate-shop/go.php?url=e09xclksdfslsdfg
Евгений, по file_get_contents повторю:
> 3. К сожалению, PHP не всегда оптимально работает с памятью и может ее не отдавать даже в случае считывания файла по кускам. Рассчитывать на сборщик мусора в условиях абсолютно разных версий PHP на разных хостингах сложно.
По доработкам — сейчас собираем фидбек, работаем в рекламодателя на тему хороших фидов. Доработки будут в течении месяца-полутора
Добрый день!
А вам не нужны случайно люди, занимающиеся доработкой и адаптацией ваших тем?
Уведомление: Новая версия плагина для создания партнерского магазина на WordPress + WooCommerce | Блог партнерской сети Где Слон?