Linux konsolu yoluyla içe aktarma yapmanın varsayılan yolu yoktur. Ancak basit bir konsol betiği oluşturabilir ve cron ile çalıştırabilirsiniz. kod (sadece konsept, dava için değil solüsyon)
Örnek:
#!/usr/bin/env php
<?php
if ('cli' != PHP_SAPI) {
exit (1);
}
require_once __DIR__ . DIRECTORY_SEPARATOR . 'top.inc.php';
XLite::getInstance()->run(true);
// Initialize importer
// See all possible options in classes/XLite/Logic/Import/Importer.php __construct()
$importer = new \XLite\Logic\Import\Importer(
array(
'warningsAccepted' => true,
'delimiter' => ',',
'ignoreFileChecking' => true,
'files' => array(
'/full/path/to/xcart/var/import/products.csv',
'/full/path/to/xcart/var/import/categories.csv'
)
)
);
// Verifiaction step
while ($importer->getStep()->valid()) {
$importer->getStep()->current()->process();
$importer->getStep()->next();
}
// Check warnings & errors after verification and save to log file
if($importer->hasWarnings()) {
$warnings = \XLite\Core\Database::getRepo('XLite\Model\ImportLog')
->findBy(array('type' => \XLite\Model\ImportLog::TYPE_WARNING));
\XLite\Logger::logCustom('import_warnings', var_export($warnings, true));
//Clear warning messages
\XLite\Core\Database::getRepo('XLite\Model\ImportLog')
->deleteByType(\XLite\Model\ImportLog::TYPE_WARNING);
}
if($importer->hasErrors()) {
$errors = \XLite\Core\Database::getRepo('XLite\Model\ImportLog')
->findBy(array('type' => \XLite\Model\ImportLog::TYPE_ERROR));
\XLite\Logger::logCustom('import_errors', var_export($errors, true));
}
// Import/proccess quick data for products/resize images
// This loop wont'b executed if ($importer->hasWarnings() == true && warningsAccepted == false)
// or ($importer->hasErrors() == true)
while ($importer->isNextStepAllowed()) {
$importer->getOptions()->step = $importer->getOptions()->step + 1;
$importer->getOptions()->position = 0;
while ($importer->getStep()->valid()) {
$importer->getStep()->current()->process();
$importer->getStep()->next();
}
}
Ayrıca sınıf cadı ile kendi modül oluşturmak gerekir 5. Kullanmak için X-Cart planlanan görev kullanabilirsiniz olacak soyut sınıf sınıfları/Xlite/Çekirdek/Görev/Taban/Periodic.php
dosya sınıflarında kod örneği bulabilirsiniz/Xlite/Modül/cdev/XMLSitemap/Çekirdek/Görev/GenerateSitemap.php
Çalıştır uzanır X-Cart 5'te kayıtlı görevler: php console.php --target = cron
Farklı dağıtımlar, cron işlerini çağırmak için farklı kayıtlar kullanır. Bu soruda oldukça önemli bazı veriler eksik. – Xorifelse