Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.
Импорт товаров csv по расписанию cron
-
- Андрей (R4W)
- 140
-
29 сентября 2014 г.
-
Добрый день коллеги!
Стала передо мной не совсем тривиальная задача синхронизации каталога с XML поставщика.
Думаю правильнее сделать парсер XML,ки в csv, а в Диафане импортировать данную CSV через модуль импорта экспорта.
Вот думаю как к этому модулю как-то подать CSVшку в кач-ве артумента и засунуть все это дело в CRON
В какую сторону копнуть даже не знаю. Кто что посоветует? -
-
-
-
29 сентября 2014 г.
-
Содайте в папке shop файлик shop.crone.php , опишите в нём ваши действия, а затем его можно вызвать http://site.ru/shop/crone ( если псевдассылка у вашего магазина shop) и потом соответственно добавить в задания крон на сервере, что то наподобии /usr/bin/wget -O /dev/null http://site.ru/shop/crone
-
-
-
-
- Андрей (R4W)
- 140
-
29 сентября 2014 г.
-
Как в крон повесить я знаю :)
Мне бы скормить csv модулю импорта диафана как-то не из под графического интерфейса, так скажем :) -
-
-
-
29 сентября 2014 г.
-
ответил в вашей второй теме, не видели? )
-
-
-
-
29 сентября 2014 г.
-
а там тему удалили видать. Сообщения ваши болтаются не привязанные ни к чему.
-
-
-
-
29 сентября 2014 г.
-
о как...
-
-
-
-
29 сентября 2014 г.
-
Из тех, кто может удалить тему есть два человека, я и автор темы.
Я темы на форуме в принципе не удалял очень давно. Так что это автор сам её убил, если Вы на меня намекаете. -
-
-
-
29 сентября 2014 г.
-
создаете файл в каталоге shop, с именем например shop.imp.php
внутриКод
include dirname(dirname(dirname(__FILE__))).'/modules/shop/admin/shop.admin.import.php';
imp($res_csv, $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 1; // категория импорта в админке
$shop_admin_import->upload(dirname(dirname(dirname(__FILE__))).$fl);
}
потом
Код/usr/bin/wget http://site.com/shop/imp/ >/dev/null 2>&1
-
-
-
-
- Андрей (R4W)
- 140
-
30 сентября 2014 г.
-
Благодарствую! Попробуем.
-
-
-
-
- Андрей (R4W)
- 140
-
10 ноября 2014 г.
-
Подскажите пожалуйста:
имя csv файла соответственно в переменную $res_csv?
в кукую директорию нужно класть csv?
категория импорта в админке указывается просто по ID или писать cat1 например?
Я сделал вот так:
Код<?php
include dirname(dirname(dirname(__FILE__))).'/modules/shop/admin/shop.admin.import.php';
imp('import_cat_test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 2; // категория импорта в админке
$shop_admin_import->upload($fl);}
?>
Вызывал из браузера. Файл клал как в папку со скриптом, так и в корень сайта.
Спасибо! -
-
-
-
- Андрей (R4W)
- 140
-
11 ноября 2014 г.
-
up
-
-
-
-
-
-
-
- Андрей (R4W)
- 140
-
30 сентября 2014 г.
-
А текущая версия модуля импорта CSV умеет тянуть картинки с url других сайтов?
В документации не написано, а проверять лень -
-
-
-
30 сентября 2014 г.
-
картинки тянет не импорт,а модуль images, насколько помню.
-
-
-
-
01 октября 2014 г.
-
Умеет
-
-
-
-
- Андрей (R4W)
- 140
-
28 ноября 2014 г.
-
Виталий, поясните пожалуйста как. URL картинок в CSV выгрузке ставить нельзя. Может есть незадокументрованная ф-ия?
-
-
-
-
28 ноября 2014 г.
-
Почему нельзя-то? Буквально вчера делал импорт на одном сайте, там вообще url левого сайта-поставщика были, все картинки вытянулись.
-
-
-
-
- Андрей (R4W)
- 140
-
29 ноября 2014 г. , редакция: 29 ноября 2014 г.
-
А в какое поле импорта?
"имена изображений"? Кроме него там ничего для картинок нету. При указании полного URL он все равно в файловую систему хостинга долбится.
Код
Ошибка в строке 1: "temp";"logo.png";
p, images: Файл /home/c/citygiftru/public_html/https://userdiafanru/img/top/logo.png не найден -
-
-
-
29 ноября 2014 г.
-
Ну как же "нету"? Если долбится в файловую систему хостинга, то кладете изображения всей жменей в папку
/home/c/citygiftru/public_html/img-for-import/
Вот здесь:
http://joxi.ru/Dr8Nen6ho7OE26
пишете img-for-import/
И затем в CSV только имена файлов -
-
-
-
- Андрей (R4W)
- 140
-
30 ноября 2014 г. , редакция: 30 ноября 2014 г.
-
Я имел виду, что у меня сайт на одном домене, а картинки я хочу тянуть с другого домена, указывая в csv полный url картинки на другом домене.
Вот мне приходится парсить xml поставщика и тянуть картинки к себе на хостинг, а картинок полтора гига только с одного поставщика. Очень неудобно. Хотелось бы тянуть прямо с поставщика при импорте. -
-
-
-
-
-
-
15 августа 2018 г. , редакция: 15 августа 2018 г.
-
Добрый день,
подскажите, пытаюсь реализовать импорт товаров из csv файла который лежит на хостинге в корне сайта https://mik-zap.ru
Создал в папке 'https://mik-zap.ru/modules/shop/ файл shop.imp.php
Код
<?php
include dirname(dirname(dirname(__FILE__))).'/modules/shop/admin/shop.admin.import.php';
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке$shop_admin_import->upload($fl);
}
?>
Пытаюсь запустить файл
https://mik-zap.ru/modules/shop/shop.imp.php
https://mik-zap.ru/shop/shop.imp.php
https://mik-zap.ru/shop/imp
в ответ 404
возможно дело в том, что псевдоссылка у моего "shop" у меня "katalog"
https://mik-zap.ru/modules/katalog/shop.imp.php
https://mik-zap.ru/katalog/shop.imp.php
https://mik-zap.ru/katalog/imp
снова 404
Правильно ли я понимаю, что "категория импорта в админке" это id описания файла импорта?
Положил файл shop.imp.php в корень - вызвал - выдал ошибку что не может найти shop.admin.import.php
заменил путь к нему на полныйКод
include 'https://mik-zap.ru/modules/shop/admin/shop.admin.import.php';
запускаю https://mik-zap.ru/shop.imp.php - снова 404
-
-
-
-
15 августа 2018 г.
-
-
-
-
15 августа 2018 г.
-
https://mik-zap.ru/shop/imp/ - также выдает ошибку 404
-
-
-
-
15 августа 2018 г.
-
Посоветовали добавить define('DIAFAN', 1);
Не помогло, один фиг 404
код сейчас такой
Код<?php
define('DIAFAN', 1);
include dirname(dirname(dirname(__FILE__))).'/modules/shop/admin/shop.admin.import.php';
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке
$shop_admin_import->upload($fl);}
?> -
-
-
-
15 августа 2018 г. , редакция: 15 августа 2018 г.
-
У Вас при обращении получается ответ:ЦитатаClass 'Shop_admin_import' not found
/home/users/m/mik-zapchast/domains/mik-zap.ru/modules/shop/shop.imp.php:11
Вместо вот этого:Кодinclude dirname(dirname(dirname(__FILE__))).'/modules/shop/admin/shop.admin.import.php';
Вот такКодCustom::inc('modules/shop/admin/shop.admin.import.php');
Вот это:не нужноКодdefine('DIAFAN', 1);
-
-
-
-
15 августа 2018 г.
-
Вот так?Код
<?php
include 'https://mik-zap.ru/modules/shop/admin/shop.admin.import.php';
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке
$shop_admin_import->upload($fl);}
?> -
-
-
-
15 августа 2018 г.
-
Цитатаinclude 'https://mik-zap.ru/modules/shop/admin/shop.admin.import.php';ЦитатаВот так: Custom::inc('modules/shop/admin/shop.admin.import.php');
-
-
-
-
15 августа 2018 г. , редакция: 15 августа 2018 г.
-
Код<?php
Custom::inc('modules/shop/admin/shop.admin.import.php');
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке
$shop_admin_import->upload($fl);}
?>
В результате снова 404 -
-
-
-
15 августа 2018 г.
-
Да, верно. Теперь разберитесь с редиректом.
-
-
-
-
15 августа 2018 г.
-
Ситуация такая
Вариант 1Код
<?php
Custom::inc('modules/shop/admin/shop.admin.import.php');
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке
$shop_admin_import->upload($fl);}
?>
После запуска жалуется на класс 'Custom'
Fatal error: Class 'Custom' not found in /home/users/m/mik-zapchast/domains/mik-zap.ru/modules/shop/shop.imp.php on line 2
Вариант 2Код
<?php
define('DIAFAN', 1);
include dirname(dirname(dirname(__FILE__))).'/modules/shop/admin/shop.admin.import.php';
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке$shop_admin_import->upload($fl);
}
?>
После запуска жалуется на класс 'Diafan'
Fatal error: Class 'Diafan' not found in /home/users/m/mik-zapchast/domains/mik-zap.ru/modules/shop/admin/shop.admin.import.php on line 27
Квест продолжается ))) -
-
-
-
17 августа 2018 г.
-
Нет ни какого квеста.
И так, нет времени вникать в Вашу цель, поэтому дам набросок.
Создаем файл modules/shop/shop.imp.php и пишем в нем следующее:Код<?php
if (! defined('DIAFAN'))
{
$path = __FILE__;
while(! file_exists($path.'/includes/404.php'))
{
$parent = dirname($path);
if($parent == $path) exit;
$path = $parent;}
include $path.'/includes/404.php';
}
Custom::inc('modules/shop/admin/shop.admin.import.php');
$class = new Shop_admin_import($this->diafan);
echo 'Создан класс Shop_admin_import';
exit;
Для того, чтобы запустить созданный файл, в адресной строке браузера пишите: https://mik-zap.ru/shop/imp/
Да, я не знаю что у Вас там в .htaccess. Оставьте его дефолтным. Если что-то меняли в нем, то после возврата его в дефолтное состояние сбросьте кэш браузера, иначе браузер не воспримет новое содержание. -
-
-
-
10 октября 2018 г. , редакция: 16 октября 2018 г.
-
Приветствую,
цель сделать импорт товаров из внешнего файла который лежит тут https://mik-zap.ru/test.csv
Ваш код работает выводит 'Создан класс Shop_admin_import'
но если добавляю к нему кусок для импорта, то снова не работаетКод
<?php
if (! defined('DIAFAN'))
{
$path = __FILE__;
while(! file_exists($path.'/includes/404.php'))
{
$parent = dirname($path);
if($parent == $path) exit;
$path = $parent;}
include $path.'/includes/404.php';
}
Custom::inc('modules/shop/admin/shop.admin.import.php');
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке
$shop_admin_import->upload($fl);
} -
-
-
-
17 октября 2018 г.
-
Если назвали файлик "modules/shop/shop.imp.php"
Добавьте перед imp('https://mik-zap.ru/test.csv', $this->diafan); объявление переменной URL:
define('URL', 'imp'); -
-
-
-
17 октября 2018 г.
-
Правильно я понимаю, что должно получиться так?Код<?php
if (! defined('DIAFAN'))
{
$path = __FILE__;
while(! file_exists($path.'/includes/404.php'))
{
$parent = dirname($path);
if($parent == $path) exit;
$path = $parent;}
include $path.'/includes/404.php';
}
Custom::inc('modules/shop/admin/shop.admin.import.php');
$class = new Shop_admin_import($this->diafan);
echo 'Создан класс Shop_admin_import';
Custom::inc('modules/shop/admin/shop.admin.import.php');
define('URL', 'imp');
imp('https://mik-zap.ru/test.csv', $this->diafan);
function imp($fl, $df){
$shop_admin_import = new Shop_admin_import($df);
$df->_route->cat = 5; // категория импорта в админке $shop_admin_import->upload($fl);
} -
-
-
Новости
-
18 июня
-
В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
-
24 апреля
-
В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
-
12 января
-
После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке.
Блоги
-
24.04.2024
-
Выпустили новую сборку DIAFAN.CMS 7.1.4.
Блоги
-
12.01.2024
-
В данном руководстве познакомим вас с панелью управления DIAFAN.CMS