本文整理汇总了PHP中Magento\Framework\DataObject::setError方法的典型用法代码示例。如果您正苦于以下问题:PHP DataObject::setError方法的具体用法?PHP DataObject::setError怎么用?PHP DataObject::setError使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Framework\DataObject
的用法示例。
在下文中一共展示了DataObject::setError方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: execute
/**
* @return \Magento\Framework\Controller\ResultInterface
*/
public function execute()
{
$response = new DataObject();
$response->setError(false);
$attributeCode = $this->getRequest()->getParam('attribute_code');
$frontendLabel = $this->getRequest()->getParam('frontend_label');
$attributeCode = $attributeCode ?: $this->generateCode($frontendLabel[0]);
$attributeId = $this->getRequest()->getParam('attribute_id');
$attribute = $this->_objectManager->create('Magento\\Catalog\\Model\\ResourceModel\\Eav\\Attribute')->loadByCode($this->_entityTypeId, $attributeCode);
if ($attribute->getId() && !$attributeId) {
$message = strlen($this->getRequest()->getParam('attribute_code')) ? __('An attribute with this code already exists.') : __('An attribute with the same code (%1) already exists.', $attributeCode);
$this->setMessageToResponse($response, [$message]);
$response->setError(true);
$response->setProductAttribute($attribute->toArray());
}
if ($this->getRequest()->has('new_attribute_set_name')) {
$setName = $this->getRequest()->getParam('new_attribute_set_name');
/** @var $attributeSet \Magento\Eav\Model\Entity\Attribute\Set */
$attributeSet = $this->_objectManager->create('Magento\\Eav\\Model\\Entity\\Attribute\\Set');
$attributeSet->setEntityTypeId($this->_entityTypeId)->load($setName, 'attribute_set_name');
if ($attributeSet->getId()) {
$setName = $this->_objectManager->get('Magento\\Framework\\Escaper')->escapeHtml($setName);
$this->messageManager->addError(__('An attribute set named \'%1\' already exists.', $setName));
$layout = $this->layoutFactory->create();
$layout->initMessages();
$response->setError(true);
$response->setHtmlMessage($layout->getMessagesBlock()->getGroupedHtml());
}
}
return $this->resultJsonFactory->create()->setJsonData($response->toJson());
}
示例2: execute
/**
* @return \Magento\Framework\Controller\Result\Json
*/
public function execute()
{
$response = new DataObject();
$id = $this->getRequest()->getParam('id');
if (intval($id) > 0) {
$product = $this->productRepository->getById($id);
$response->setId($id);
$response->addData($product->getData());
$response->setError(0);
} else {
$response->setError(1);
$response->setMessage(__('We can\'t retrieve the product ID.'));
}
/** @var \Magento\Framework\Controller\Result\Json $resultJson */
$resultJson = $this->resultFactory->create(ResultFactory::TYPE_JSON);
$resultJson->setData($response->toArray());
return $resultJson;
}
示例3: _validateCustomerAddress
/**
* Customer address validation.
*
* @param \Magento\Framework\DataObject $response
* @return void
*/
protected function _validateCustomerAddress($response)
{
$addresses = $this->getRequest()->getPost('address');
if (!is_array($addresses)) {
return;
}
foreach (array_keys($addresses) as $index) {
if ($index == '_template_') {
continue;
}
$addressForm = $this->_formFactory->create('customer_address', 'adminhtml_customer_address');
$requestScope = sprintf('address/%s', $index);
$formData = $addressForm->extractData($this->getRequest(), $requestScope);
$errors = $addressForm->validateData($formData);
if ($errors !== true) {
$messages = $response->hasMessages() ? $response->getMessages() : [];
foreach ($errors as $error) {
$messages[] = $error;
}
$response->setMessages($messages);
$response->setError(1);
}
}
}