function createMaterials($con) { echo "start creating materials feature\n"; $feature = null; $features = array(); if (($handle = fopen(THELIA_ROOT . '/setup/import/materials.csv', "r")) !== FALSE) { $row = 0; $feature = new \Thelia\Model\Feature(); $feature->setPosition(1)->setLocale('fr_FR')->setTitle('Matière')->setLocale('en_US')->setTitle('Material'); while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) { $row++; $featureAv = new \Thelia\Model\FeatureAv(); $featureAv->setPosition($row)->setLocale('fr_FR')->setTitle($data[0])->setLocale('en_US')->setTitle($data[1]); //$featureAv->setFeature($feature); $feature->addFeatureAv($featureAv); } $feature->save($con); fclose($handle); } echo "materials feature created successfully\n"; return $feature; }
$forceEcotaxId = $options['e']; if (null !== $forceEcotaxId && !filter_var($forceEcotaxId, FILTER_VALIDATE_INT)) { exit('[ERROR] bad value for e option\\n'); } echo "Adding Ecotax feature\n"; $feature = null; if (null !== $forceEcotaxFeatureId) { $feature = \Thelia\Model\FeatureQuery::create()->findPk($forceEcotaxFeatureId); if (null === $feature) { echo "Feature `{$forceEcotaxFeatureId}` not found\n"; } } if (null === $feature) { $feature = new \Thelia\Model\Feature(); $feature->setVisible(1); $feature->save(); echo sprintf("Ecotax feature added with ID \n", $feature->getId()); } $fr = \Thelia\Model\Base\FeatureI18nQuery::create()->filterByLocale('fr_FR')->filterByFeature($feature)->findOne(); if (null === $fr) { $fr = new \Thelia\Model\FeatureI18n(); $fr->setLocale('fr_FR')->setFeature($feature); } $fr->setTitle('Ecotaxe'); $fr->save($con); $us = \Thelia\Model\Base\FeatureI18nQuery::create()->filterByLocale('en_US')->filterByFeature($feature)->findOne(); if (null === $us) { $us = new \Thelia\Model\FeatureI18n(); $us->setLocale('en_US')->setFeature($feature); } $us->setTitle('Ecotax');