本文整理匯總了PHP中Magento\CatalogImportExport\Model\Import\Product::addRowError方法的典型用法代碼示例。如果您正苦於以下問題:PHP Product::addRowError方法的具體用法?PHP Product::addRowError怎麽用?PHP Product::addRowError使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Magento\CatalogImportExport\Model\Import\Product
的用法示例。
在下文中一共展示了Product::addRowError方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: isRowValid
/**
* Validate row attributes. Pass VALID row data ONLY as argument.
*
* @param array $rowData
* @param int $rowNum
* @param bool $isNewProduct Optional
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isRowValid(array $rowData, $rowNum, $isNewProduct = true)
{
$error = false;
$rowScope = $this->_entityModel->getRowScope($rowData);
if (\Magento\CatalogImportExport\Model\Import\Product::SCOPE_NULL != $rowScope) {
foreach ($this->_getProductAttributes($rowData) as $attrCode => $attrParams) {
// check value for non-empty in the case of required attribute?
if (isset($rowData[$attrCode]) && strlen($rowData[$attrCode])) {
$error |= !$this->_entityModel->isAttributeValid($attrCode, $attrParams, $rowData, $rowNum);
} elseif ($this->_isAttributeRequiredCheckNeeded($attrCode) && $attrParams['is_required']) {
// For the default scope - if this is a new product or
// for an old product, if the imported doc has the column present for the attrCode
if (\Magento\CatalogImportExport\Model\Import\Product::SCOPE_DEFAULT == $rowScope && ($isNewProduct || array_key_exists($attrCode, $rowData))) {
$this->_entityModel->addRowError(\Magento\CatalogImportExport\Model\Import\Product::ERROR_VALUE_IS_REQUIRED, $rowNum, $attrCode);
$error = true;
}
}
}
}
$error |= !$this->_isParticularAttributesValid($rowData, $rowNum);
return !$error;
}
示例2: _validateSpecificParameterData
/**
* Validate one specific parameter
*
* @param string $typeParameter
* @param array $rowData
* @param int $rowNumber
* @return bool
*/
protected function _validateSpecificParameterData($typeParameter, array $rowData, $rowNumber)
{
$fieldName = self::COLUMN_PREFIX . $typeParameter;
if ($typeParameter == 'price') {
if (!empty($rowData[$fieldName]) && !is_numeric(rtrim($rowData[$fieldName], '%'))) {
$this->_productEntity->addRowError(self::ERROR_INVALID_PRICE, $rowNumber);
return false;
}
} elseif ($typeParameter == 'max_characters') {
if (!empty($rowData[$fieldName]) && !ctype_digit((string) $rowData[$fieldName])) {
$this->_productEntity->addRowError(self::ERROR_INVALID_MAX_CHARACTERS, $rowNumber);
return false;
}
}
return true;
}