本文整理汇总了PHP中Magento\Eav\Model\Entity\Attribute\AbstractAttribute::isScopeGlobal方法的典型用法代码示例。如果您正苦于以下问题:PHP AbstractAttribute::isScopeGlobal方法的具体用法?PHP AbstractAttribute::isScopeGlobal怎么用?PHP AbstractAttribute::isScopeGlobal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Magento\Eav\Model\Entity\Attribute\AbstractAttribute
的用法示例。
在下文中一共展示了AbstractAttribute::isScopeGlobal方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getScopeValue
/**
* @param ScopeInterface $scope
* @param AbstractAttribute $attribute
* @param bool $useDefault
* @return string
*/
protected function getScopeValue(ScopeInterface $scope, AbstractAttribute $attribute, $useDefault = false)
{
if ($attribute instanceof CatalogEavAttribute) {
$useDefault = $useDefault || $attribute->isScopeGlobal();
}
return parent::getScopeValue($scope, $attribute, $useDefault);
}
示例2: deleteProductData
/**
* Delete product data
*
* @param \Magento\Catalog\Model\Product $product
* @param \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $attribute
* @return $this
*/
public function deleteProductData($product, $attribute)
{
$where = ['entity_id = ?' => (int) $product->getId(), 'attribute_id = ?' => (int) $attribute->getId()];
$connection = $this->getConnection();
if (!$attribute->isScopeGlobal()) {
$storeId = $product->getStoreId();
if ($storeId) {
$where['website_id IN(?)'] = [0, $this->_storeManager->getStore($storeId)->getWebsiteId()];
}
}
$connection->delete($this->getMainTable(), $where);
return $this;
}
示例3: createMetadataAttribute
/**
* @param AbstractAttribute $attribute
* @return Data\Eav\AttributeMetadata
*/
private function createMetadataAttribute($attribute)
{
$data = $this->booleanPrefixMapper($attribute->getData());
// fill options and validate rules
$data[AttributeMetadata::OPTIONS] = $attribute->usesSource() ? $attribute->getSource()->getAllOptions() : array();
$data[AttributeMetadata::VALIDATION_RULES] = $attribute->getValidateRules();
// fill scope
$data[AttributeMetadata::SCOPE] = $attribute->isScopeGlobal() ? 'global' : ($attribute->isScopeWebsite() ? 'website' : 'store');
$data[AttributeMetadata::FRONTEND_LABEL] = [];
$data[AttributeMetadata::FRONTEND_LABEL][0] = array(FrontendLabel::STORE_ID => 0, FrontendLabel::LABEL => $attribute->getFrontendLabel());
if (is_array($attribute->getStoreLabels())) {
foreach ($attribute->getStoreLabels() as $storeId => $label) {
$data[AttributeMetadata::FRONTEND_LABEL][$storeId] = array(FrontendLabel::STORE_ID => $storeId, FrontendLabel::LABEL => $label);
}
}
return $this->attributeMetadataBuilder->populateWithArray($data)->create();
}
示例4: deleteProductData
/**
* Delete product data
*
* @param \Magento\Catalog\Model\Product $product
* @param \Magento\Eav\Model\Entity\Attribute\AbstractAttribute $attribute
* @return $this
*/
public function deleteProductData($product, $attribute)
{
$where = array('entity_id = ?' => (int) $product->getId(), 'attribute_id = ?' => (int) $attribute->getId());
$adapter = $this->_getWriteAdapter();
if (!$attribute->isScopeGlobal()) {
$storeId = $product->getStoreId();
if ($storeId) {
$where['website_id IN(?)'] = array(0, $this->_storeManager->getStore($storeId)->getWebsiteId());
}
}
$adapter->delete($this->getMainTable(), $where);
return $this;
}