Я нашел this решение онлайн и нашлось больше похожее на это. Мне нужно запустить такой же профиль. Это индивидуальный импорт продукта. Я хочу знать, как я могу выбрать правильный файл csv в этом скрипте?Запуск magento import import cron
-1
A
ответ
-1
Я получил это, создав внешний контроллер с помощью контроллера импорта продукта admin. Затем написал сценарий для вызова внешнего интерфейса с использованием php curl.
интерфейс Layout XML
<layout version="0.1.0">
<importproduct_cronimport_run>
<remove name="footer" />
<remove name="top.search" />
<remove name="cart_sidebar" />
<remove name="header" />
<remove name="top.menu" />
<remove name="root" />
<reference name="content">
<block type="importproduct/system_convert_run" name="system_convert_run" template="importproduct/cronimport.phtml" output="toHtml" />
</reference>
</importproduct_cronimport_run>
</layout>
фасадом PHTML файл
<?php
$this->getProfile()->run();
$array = array("batchId" => $this->getBatchModel()->getId(), "count" => $this->getBatchItemsCount());
$rows = [];
$importData = $this->getImportData();
$arrCounter = 0;
foreach ($importData as $importValue){
$rows[] = $importValue["rows[]"][0];
$arrCounter++;
}
$array["rows"] = $rows;
echo "<br>jsonDataStart{".$this->jsonEncode($array)."}jsonDataEnd";
?>
Вот основная часть скрипта.
function importcsv($baseurl,$csv,$logFile){
Mage::log('Start importproduct/cronImport/run',null,'prod_import.log');
$url = $baseurl."importproduct/cronImport/run/id/3/files/".$csv;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
$error = curl_error($curl)."\r\n";
curl_close ($curl);
Mage::log('Print errors if any',null,'prod_import.log');
file_put_contents($logFile, $error, FILE_APPEND | LOCK_EX);
Mage::log('End importproduct/cronImport/run',null,'prod_import.log');
/**** Extract Batch ID and Row IDs ***********/
$jsonDataStart = stripos($result,"jsonDataStart{") + 14;
$jsonDataEnd = stripos($result,"}jsonDataEnd");
$jsonLength = $jsonDataEnd - $jsonDataStart;
$jsonArray = substr($result, $jsonDataStart, $jsonLength);
$simpleArray = json_decode($jsonArray, true);
$batchId = $simpleArray["batchId"];
$totalRecords = $simpleArray["count"];
$rowIdList = $simpleArray["rows"];
for ($x = 0; $x < $totalRecords; $x++) {
/*** call batchRun ***/
Mage::log('Start importproduct/cronImport/batchRun/id/'.$batchId."/row/".$rowIdList[$x],null,'prod_import.log');
$url = $baseurl."importproduct/cronImport/batchRun/";
$post = "batch_id=".$batchId."&rows%5B%5D=".$rowIdList[$x];
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
$error = curl_error($curl)."\r\n";
curl_close ($curl);
Mage::log('Print errors if any',null,'prod_import.log');
file_put_contents($logFile, $error, FILE_APPEND | LOCK_EX);
Mage::log('End importproduct/cronImport/batchRun/id/'.$batchId."/row/".$rowIdList[$x],null,'prod_import.log');
}
/*** call batchFinish ***/
Mage::log('Start importproduct/cronImport/batchFinish/id/'.$batchId,null,'prod_import.log');
$url = $baseurl."importproduct/cronImport/batchFinish/id/".$batchId."/";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
$error = curl_error($curl)."\r\n";
curl_close ($curl);
Mage::log('Print errors if any',null,'prod_import.log');
file_put_contents($logFile, $error, FILE_APPEND | LOCK_EX);
Mage::log('End importproduct/cronImport/batchFinish/id/'.$batchId,null,'prod_import.log');
/**** Move imported file to directory Imported ****/
if (file_exists("var/import/".$csv)) {
$t=time();
$timestamp = date("Y-m-d-H-i-s",$t);
rename("var/import/".$csv, "var/import/imported/".$timestamp." - ".$csv);
}
}
Комментарий, если вам нужно больше деталей.
Смежные вопросы
- 1. Magento order import export
- 2. magento xml import mapping
- 3. ZenCart to Magento import
- 4. Magento categoty import
- 5. Magento Magmi Multiselect import
- 6. Magento Import Entity Type
- 7. Magento CSV import listing images
- 8. Howto export/import Magento отзывы
- 9. Magento 1.7 Import/Export Hanging
- 10. Magento import plain text password
- 11. magento image import in csv
- 12. magento database import синтаксическая ошибка
- 13. import import не работает
- 14. import pyroot import ImportError
- 15. import org.openqa.selenium.WebDriver *; import org.openqa.selenium.firefox.FirefoxDriver;
- 16. Magento - Import Products - getAdapter возвращает null
- 17. @import vs #import - iOS 7
- 18. import ._ или import. {ClassOne, classTwo}
- 19. import custom xml file to magento
- 20. Magento 1.7 - Prodcut Import - Изображения не загружены
- 21. Magento Magmi Import Продукт не отображается
- 22. Magento call event after import product
- 23. Консультации с Magento large productsfile csv import
- 24. magento import export csv error sku
- 25. Magento Import Product С изображением в CSV
- 26. mysql import/export
- 27. Python: 'import module' vs 'import module as'
- 28. Python Wildcard Import Vs Named Import
- 29. Как сделать LESS @import без @import буквально?
- 30. WP All Import Plugin Import XML - Ошибка
Я получаю ниже ошибки при попытке запуска. Неустранимая ошибка: вызов функции-члена run() на null в /opt/lampp/htdocs/magento/app/design/frontend/base/default/template/importproduct/cronimport.phtml в строке 2 – Indian
Что вы пишете в Блок system_convert_run? – Indian