/** * Get messages * * @return array */ public static function getMessages() { return parent::getMessages() + array('RELATED-PRODUCT-SKU-FMT' => 'Product with SKU "{{value}}" does not exist and relation will not be created'); }
/** * Define columns * * @return array */ protected function defineColumns() { $columns = parent::defineColumns(); $columns['wholesalePrices'] = array(static::COLUMN_IS_MULTIPLE => true); return $columns; }
/** * Define columns * * @return array */ protected function defineColumns() { $columns = parent::defineColumns(); $columns['attachmentsPrivate'] = array(static::COLUMN_IS_MULTIPLE => true); return $columns; }
/** * Define columns * * @return array */ protected function defineColumns() { $columns = parent::defineColumns(); $columns[static::VARIANT_PREFIX . 'WholesalePrices'] = array(static::COLUMN_IS_MULTIPLE => true, static::COLUMN_IS_MULTIROW => true); return $columns; }
/** * Get messages * * @return array */ public static function getMessages() { return parent::getMessages() + array('PRODUCT-SALE-FMT' => 'Wrong sale format'); }
/** * Get messages * * @return array */ public static function getMessages() { return parent::getMessages() + array('PRODUCT-ATTACH-FMT' => 'The "{{value}}" file is not created'); }
/** * Import 'stock level' value * * @param \XLite\Model\Product $model Product * @param mixed $value Value * @param array $column Column info * * @return void */ protected function importStockLevelColumn(\XLite\Model\Product $model, $value, array $column) { if (!$this->hasManualPinCodes()) { parent::importStockLevelColumn($model, $value, $column); } }
/** * Get messages * * @return array */ public static function getMessages() { return parent::getMessages() + array('USER-USE-OG-META-FMT' => 'Wrong format of UseCustomOpenGraphMeta value'); }
/** * Import 'attributes' value * * @param \XLite\Model\Product $model Product * @param array $value Value * @param array $column Column info * * @return void */ protected function importAttributesColumn(\XLite\Model\Product $model, array $value, array $column) { parent::importAttributesColumn($model, $value, $column); if ($this->multAttributes) { \XLite\Core\Database::getEM()->flush(); $variantsAttributes = array(); foreach ($this->multAttributes as $id => $values) { foreach ($values as $k => $v) { if (1 === count($v)) { $variantsAttributes[$k][$id] = array_shift($v); } else { unset($this->multAttributes[$id]); break; } } } if ($variantsAttributes) { $tmp = array(); foreach ($variantsAttributes as $k => $v) { $tmp[$k] = implode('::', $v); } if (count($tmp) === count($variantsAttributes)) { foreach ($variantsAttributes as $rowIndex => $values) { foreach ($values as $id => $value) { if (!isset($this->variantsAttributes[$id])) { $this->variantsAttributes[$id] = \XLite\Core\Database::getRepo('XLite\\Model\\Attribute')->find($id); } $attribute = $this->variantsAttributes[$id]; $repo = \XLite\Core\Database::getRepo($attribute->getAttributeValueClass($attribute->getType())); if ($attribute::TYPE_CHECKBOX == $attribute->getType()) { $values[$id] = $repo->findOneBy(array('attribute' => $attribute, 'product' => $model, 'value' => $this->normalizeValueAsBoolean($value))); } else { $attributeOption = \XLite\Core\Database::getRepo('XLite\\Model\\AttributeOption')->findOneByNameAndAttribute($value, $attribute); $values[$id] = $repo->findOneBy(array('attribute' => $attribute, 'product' => $model, 'attribute_option' => $attributeOption)); } } $variant = $model->getVariantByAttributeValues($values); if (!$variant) { $variant = new \XLite\Module\XC\ProductVariants\Model\ProductVariant(); foreach ($values as $attributeValue) { $method = 'addAttributeValue' . $attributeValue->getAttribute()->getType(); $variant->{$method}($attributeValue); $attributeValue->addVariants($variant); } $variant->setProduct($model); $model->addVariants($variant); \XLite\Core\Database::getEM()->persist($variant); } $this->variants[$rowIndex] = $variant; } } foreach ($model->getVariantsAttributes() as $va) { $model->getVariantsAttributes()->removeElement($va); $va->getVariantsProducts()->removeElement($model); } foreach ($this->variantsAttributes as $va) { $model->addVariantsAttributes($va); $va->addVariantsProducts($model); } } $model->assignDefaultVariant(); } }
/** * Get messages * * @return array */ public static function getMessages() { return parent::getMessages() + array('PRODUCT-FREE-SHIPPING-FMT' => 'Wrong free shipping format', 'PRODUCT-FREIGHT-FIXED-FEE-FMT' => 'Wrong freight fixed fee format'); }