16 abstract class Collection extends \Magento\Eav\Model\ResourceModel\Entity\Attribute\Collection
57 \
Magento\Framework\Event\ManagerInterface $eventManager,
102 if ($this->_entityType ===
null) {
116 $this->_website = $this->_storeManager->getWebsite(
$website);
117 $this->
addBindParam(
'scope_website_id', $this->_website->getId());
128 if ($this->_website ===
null) {
129 $this->_website = $this->_storeManager->getStore()->getWebsite();
144 $extraTable =
$entityType->getAdditionalAttributeTable();
148 foreach (array_keys($mainDescribe) as $columnName) {
149 $mainColumns[$columnName] = $columnName;
157 foreach (array_keys($extraDescribe) as $columnName) {
158 if (isset($mainColumns[$columnName])) {
161 $extraColumns[$columnName] = $columnName;
166 [
'additional_table' => $this->
getTable($extraTable)],
167 'additional_table.attribute_id = main_table.attribute_id',
170 'main_table.entity_type_id = :mt_entity_type_id' 176 unset($scopeDescribe[
'attribute_id']);
178 foreach (array_keys($scopeDescribe) as $columnName) {
179 if ($columnName ==
'website_id') {
180 $scopeColumns[
'scope_website_id'] = $columnName;
182 if (isset($mainColumns[$columnName])) {
183 $alias =
'scope_' . $columnName;
184 $condition =
'main_table.' . $columnName .
' IS NULL';
185 $true =
'scope_table.' . $columnName;
186 $false =
'main_table.' . $columnName;
187 $expression =
$connection->getCheckSql($condition, $true, $false);
189 $scopeColumns[
$alias] = $columnName;
190 }
elseif (isset($extraColumns[$columnName])) {
191 $alias =
'scope_' . $columnName;
192 $condition =
'additional_table.' . $columnName .
' IS NULL';
193 $true =
'scope_table.' . $columnName;
194 $false =
'additional_table.' . $columnName;
195 $expression =
$connection->getCheckSql($condition, $true, $false);
197 $scopeColumns[
$alias] = $columnName;
204 'scope_table.attribute_id = main_table.attribute_id AND scope_table.website_id = :scope_website_id',
247 'additional_table.is_system = 1 AND additional_table.is_visible = 0',
265 'additional_table.is_system = 1 AND additional_table.is_visible = 0 AND main_table.attribute_code != ?',
266 self::EAV_CODE_PASSWORD_HASH
283 return $this->
addFieldToFilter(
'main_table.frontend_input', [
'neq' =>
'hidden']);
setEntityTypeFilter($type)
addFilterToMap($filter, $alias, $group='fields')
addBindParam($name, $value)
elseif(isset( $params[ 'redirect_parent']))
addFieldToFilter($attribute, $condition=null)
addExcludeHiddenFrontendFilter()
const EAV_CODE_PASSWORD_HASH
__construct(\Magento\Framework\Data\Collection\EntityFactory $entityFactory, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Eav\Model\Config $eavConfig, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\DB\Adapter\AdapterInterface $connection=null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource=null)
addSystemHiddenFilterWithPasswordHash()