當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Product::retrieveMessageTemplate方法代碼示例

本文整理匯總了PHP中Magento\CatalogImportExport\Model\Import\Product::retrieveMessageTemplate方法的典型用法代碼示例。如果您正苦於以下問題:PHP Product::retrieveMessageTemplate方法的具體用法?PHP Product::retrieveMessageTemplate怎麽用?PHP Product::retrieveMessageTemplate使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Magento\CatalogImportExport\Model\Import\Product的用法示例。


在下文中一共展示了Product::retrieveMessageTemplate方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: isAttributeValid

 /**
  * @param string $attrCode
  * @param array $attrParams
  * @param array $rowData
  * @return bool
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  * @SuppressWarnings(PHPMD.NPathComplexity)
  */
 public function isAttributeValid($attrCode, array $attrParams, array $rowData)
 {
     $this->_rowData = $rowData;
     if (isset($rowData['product_type']) && !empty($attrParams['apply_to']) && !in_array($rowData['product_type'], $attrParams['apply_to'])) {
         return true;
     }
     if (!$this->isRequiredAttributeValid($attrCode, $attrParams, $rowData)) {
         $valid = false;
         $this->_addMessages([sprintf($this->context->retrieveMessageTemplate(RowValidatorInterface::ERROR_VALUE_IS_REQUIRED), $attrCode)]);
         return $valid;
     }
     if (!strlen(trim($rowData[$attrCode]))) {
         return true;
     }
     switch ($attrParams['type']) {
         case 'varchar':
         case 'text':
             $valid = $this->textValidation($attrCode, $attrParams['type']);
             break;
         case 'decimal':
         case 'int':
             $valid = $this->numericValidation($attrCode, $attrParams['type']);
             break;
         case 'select':
         case 'boolean':
         case 'multiselect':
             $values = explode(Product::PSEUDO_MULTI_LINE_SEPARATOR, $rowData[$attrCode]);
             $valid = true;
             foreach ($values as $value) {
                 $valid = $valid && isset($attrParams['options'][strtolower($value)]);
             }
             if (!$valid) {
                 $this->_addMessages([sprintf($this->context->retrieveMessageTemplate(RowValidatorInterface::ERROR_INVALID_ATTRIBUTE_OPTION), $attrCode)]);
             }
             break;
         case 'datetime':
             $val = trim($rowData[$attrCode]);
             $valid = strtotime($val) !== false;
             if (!$valid) {
                 $this->_addMessages([RowValidatorInterface::ERROR_INVALID_ATTRIBUTE_TYPE]);
             }
             break;
         default:
             $valid = true;
             break;
     }
     if ($valid && !empty($attrParams['is_unique'])) {
         if (isset($this->_uniqueAttributes[$attrCode][$rowData[$attrCode]]) && $this->_uniqueAttributes[$attrCode][$rowData[$attrCode]] != $rowData[Product::COL_SKU]) {
             $this->_addMessages([RowValidatorInterface::ERROR_DUPLICATE_UNIQUE_ATTRIBUTE]);
             return false;
         }
         $this->_uniqueAttributes[$attrCode][$rowData[$attrCode]] = $rowData[Product::COL_SKU];
     }
     if (!$valid) {
         $this->setInvalidAttribute($attrCode);
     }
     return (bool) $valid;
 }
開發者ID:Doability,項目名稱:magento2dev,代碼行數:66,代碼來源:Validator.php


注:本文中的Magento\CatalogImportExport\Model\Import\Product::retrieveMessageTemplate方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。