Magento 2 product custom attribute source_model outerset attribute not showing in product collection and not...
How would an AI self awareness kill switch work?
A starship is travelling at 0.9c and collides with a small rock. Will it leave a clean hole through, or will more happen?
Is there any risk in sharing info about technologies and products we use with a supplier?
How to read 火日参拾月参
Why do neural networks need so many training examples to perform?
What does it mean for a caliber to be flat shooting?
Is it a fallacy if someone claims they need an explanation for every word of your argument to the point where they don't understand common terms?
Difference between i++ and (i)++ in C
Gear reduction on large turbofans
Is boss over stepping boundary/micromanaging?
Is using an 'empty' metaphor considered bad style?
Finding a logistic regression model which can achieve zero error on a training set training data for a binary classification problem with two features
Nested word series [humans only]
Consequences of lack of rigour
Is it possible to grant users sftp access without shell access? If yes, how is it implemented?
Graph with overlapping labels
Calculate the number of points of an elliptic curve in medium Weierstrass form over finite field
What are "industrial chops"?
Which one of these password policies are more secure?
How can my powered armor quickly replace its ceramic plates?
Salesforce package error error “You can't specify version for namespace sf_com_apps because this namespace is not installed to your organization.”
Why is working on the same position for more than 15 years not a red flag?
How to change a n value for a value like X
Why exactly do action photographers need high fps burst cameras?
Magento 2 product custom attribute source_model outerset attribute not showing in product collection and not working in addAttributeToFilter()
Magento model extension experiment, return: “class does not exist”main.CRITICAL: Plugin class doesn't existMagento 2 add custom product attribute validation from install scriptMagento 2.1 Create a filter in the product grid by new attributeI have created an extension to show Customer Company Name in Order grid. But when creating new order, order is not showing in order gridMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2 get custom attribute of a single product inside a pluginMagento2 REST API get all customers detailsMagento 2 plugin change price of products that have a custom attribute withMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?
I am creating a custom product attribute in Magento 2 by custom module InstallData.php code following
<?php
namespace AwaBrand\Setup;
use MagentoEavSetupEavSetupFactory;
use MagentoFrameworkSetupInstallDataInterface;
use MagentoFrameworkSetupModuleContextInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
class InstallData implements InstallDataInterface
{
/**
* EAV setup factory
*
* @var MagentoEavSetupEavSetupFactory
*/
private $eavSetupFactory;
/**
* Constructor
*
* @param EavSetupFactory $eavSetupFactory
*/
public function __construct(
EavSetupFactory $eavSetupFactory
) {
$this->eavSetupFactory = $eavSetupFactory;
}
/**
* {@inheritdoc}
*/
public function install(
ModuleDataSetupInterface $setup,
ModuleContextInterface $context
) {
$setup->startSetup();
$eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
$eavSetup->addAttribute(
MagentoCatalogModelProduct::ENTITY,
'awa_brand',
[
'type' => 'int',
'backend' => '',
'frontend' => '',
'label' => 'Attribute Select',
'input' => 'select',
'class' => '',
'source' => 'AwaBrandModelConfigSourceOptions',
'global' => MagentoEavModelEntityAttributeScopedAttributeInterface::SCOPE_STORE,
'visible' => true,
'required' => true,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'used_in_product_listing' => true,
'unique' => false,
'apply_to' => ''
]
);
$setup->endSetup();
}
}
and source Module is bellow
<?php
namespace AwaBrandModelConfigSource;
class Options extends MagentoEavModelEntityAttributeSourceAbstractSource
{
/**
* to option array
*
* @return array
*/
public function getAllOptions()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
public function toOptionArray()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
}
This attribute created successfull
When I try to get product collection by this attribute its not working
and this attribute not showing product collection
MY get product collection code following
<?php
$_product = $block->getProduct();
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$productCollection = $objectManager->get('MagentoCatalogModelResourceModelProductCollectionFactory');
$collection = $productCollection->create()
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
foreach($collection as $product):
echo '<pre/>'; print_r($product->getData());exit;
endforeach;
?>
What am I am missing?
Anyone Help me!
magento2 product-collection custom-attributes
New contributor
add a comment |
I am creating a custom product attribute in Magento 2 by custom module InstallData.php code following
<?php
namespace AwaBrand\Setup;
use MagentoEavSetupEavSetupFactory;
use MagentoFrameworkSetupInstallDataInterface;
use MagentoFrameworkSetupModuleContextInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
class InstallData implements InstallDataInterface
{
/**
* EAV setup factory
*
* @var MagentoEavSetupEavSetupFactory
*/
private $eavSetupFactory;
/**
* Constructor
*
* @param EavSetupFactory $eavSetupFactory
*/
public function __construct(
EavSetupFactory $eavSetupFactory
) {
$this->eavSetupFactory = $eavSetupFactory;
}
/**
* {@inheritdoc}
*/
public function install(
ModuleDataSetupInterface $setup,
ModuleContextInterface $context
) {
$setup->startSetup();
$eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
$eavSetup->addAttribute(
MagentoCatalogModelProduct::ENTITY,
'awa_brand',
[
'type' => 'int',
'backend' => '',
'frontend' => '',
'label' => 'Attribute Select',
'input' => 'select',
'class' => '',
'source' => 'AwaBrandModelConfigSourceOptions',
'global' => MagentoEavModelEntityAttributeScopedAttributeInterface::SCOPE_STORE,
'visible' => true,
'required' => true,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'used_in_product_listing' => true,
'unique' => false,
'apply_to' => ''
]
);
$setup->endSetup();
}
}
and source Module is bellow
<?php
namespace AwaBrandModelConfigSource;
class Options extends MagentoEavModelEntityAttributeSourceAbstractSource
{
/**
* to option array
*
* @return array
*/
public function getAllOptions()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
public function toOptionArray()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
}
This attribute created successfull
When I try to get product collection by this attribute its not working
and this attribute not showing product collection
MY get product collection code following
<?php
$_product = $block->getProduct();
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$productCollection = $objectManager->get('MagentoCatalogModelResourceModelProductCollectionFactory');
$collection = $productCollection->create()
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
foreach($collection as $product):
echo '<pre/>'; print_r($product->getData());exit;
endforeach;
?>
What am I am missing?
Anyone Help me!
magento2 product-collection custom-attributes
New contributor
add a comment |
I am creating a custom product attribute in Magento 2 by custom module InstallData.php code following
<?php
namespace AwaBrand\Setup;
use MagentoEavSetupEavSetupFactory;
use MagentoFrameworkSetupInstallDataInterface;
use MagentoFrameworkSetupModuleContextInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
class InstallData implements InstallDataInterface
{
/**
* EAV setup factory
*
* @var MagentoEavSetupEavSetupFactory
*/
private $eavSetupFactory;
/**
* Constructor
*
* @param EavSetupFactory $eavSetupFactory
*/
public function __construct(
EavSetupFactory $eavSetupFactory
) {
$this->eavSetupFactory = $eavSetupFactory;
}
/**
* {@inheritdoc}
*/
public function install(
ModuleDataSetupInterface $setup,
ModuleContextInterface $context
) {
$setup->startSetup();
$eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
$eavSetup->addAttribute(
MagentoCatalogModelProduct::ENTITY,
'awa_brand',
[
'type' => 'int',
'backend' => '',
'frontend' => '',
'label' => 'Attribute Select',
'input' => 'select',
'class' => '',
'source' => 'AwaBrandModelConfigSourceOptions',
'global' => MagentoEavModelEntityAttributeScopedAttributeInterface::SCOPE_STORE,
'visible' => true,
'required' => true,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'used_in_product_listing' => true,
'unique' => false,
'apply_to' => ''
]
);
$setup->endSetup();
}
}
and source Module is bellow
<?php
namespace AwaBrandModelConfigSource;
class Options extends MagentoEavModelEntityAttributeSourceAbstractSource
{
/**
* to option array
*
* @return array
*/
public function getAllOptions()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
public function toOptionArray()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
}
This attribute created successfull
When I try to get product collection by this attribute its not working
and this attribute not showing product collection
MY get product collection code following
<?php
$_product = $block->getProduct();
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$productCollection = $objectManager->get('MagentoCatalogModelResourceModelProductCollectionFactory');
$collection = $productCollection->create()
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
foreach($collection as $product):
echo '<pre/>'; print_r($product->getData());exit;
endforeach;
?>
What am I am missing?
Anyone Help me!
magento2 product-collection custom-attributes
New contributor
I am creating a custom product attribute in Magento 2 by custom module InstallData.php code following
<?php
namespace AwaBrand\Setup;
use MagentoEavSetupEavSetupFactory;
use MagentoFrameworkSetupInstallDataInterface;
use MagentoFrameworkSetupModuleContextInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;
class InstallData implements InstallDataInterface
{
/**
* EAV setup factory
*
* @var MagentoEavSetupEavSetupFactory
*/
private $eavSetupFactory;
/**
* Constructor
*
* @param EavSetupFactory $eavSetupFactory
*/
public function __construct(
EavSetupFactory $eavSetupFactory
) {
$this->eavSetupFactory = $eavSetupFactory;
}
/**
* {@inheritdoc}
*/
public function install(
ModuleDataSetupInterface $setup,
ModuleContextInterface $context
) {
$setup->startSetup();
$eavSetup = $this->eavSetupFactory->create(['setup' => $setup]);
$eavSetup->addAttribute(
MagentoCatalogModelProduct::ENTITY,
'awa_brand',
[
'type' => 'int',
'backend' => '',
'frontend' => '',
'label' => 'Attribute Select',
'input' => 'select',
'class' => '',
'source' => 'AwaBrandModelConfigSourceOptions',
'global' => MagentoEavModelEntityAttributeScopedAttributeInterface::SCOPE_STORE,
'visible' => true,
'required' => true,
'user_defined' => false,
'default' => '',
'searchable' => false,
'filterable' => false,
'comparable' => false,
'visible_on_front' => false,
'used_in_product_listing' => true,
'unique' => false,
'apply_to' => ''
]
);
$setup->endSetup();
}
}
and source Module is bellow
<?php
namespace AwaBrandModelConfigSource;
class Options extends MagentoEavModelEntityAttributeSourceAbstractSource
{
/**
* to option array
*
* @return array
*/
public function getAllOptions()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
public function toOptionArray()
{
$_objManager = MagentoFrameworkAppObjectManager::getInstance();
$brandData = $_objManager->create('AwaBrandModelBrand')->getCollection();
$options = array();
$options[] =[
'value' => '',
'label' => __('-- Please Select --')
];
foreach($brandData as $_brand){
$options[] = [
'value' => $_brand->getBrandId(),
'label' => __($_brand->getTitle())
];
}
return $options;
}
}
This attribute created successfull
When I try to get product collection by this attribute its not working
and this attribute not showing product collection
MY get product collection code following
<?php
$_product = $block->getProduct();
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$productCollection = $objectManager->get('MagentoCatalogModelResourceModelProductCollectionFactory');
$collection = $productCollection->create()
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
foreach($collection as $product):
echo '<pre/>'; print_r($product->getData());exit;
endforeach;
?>
What am I am missing?
Anyone Help me!
magento2 product-collection custom-attributes
magento2 product-collection custom-attributes
New contributor
New contributor
edited 40 mins ago
Amrit Pal Singh
769523
769523
New contributor
asked 1 hour ago
prakash saranprakash saran
12
12
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
Before addAttributeToFilter
Function You Must Select All Attribute Using addAttributeToSelect
Function
$collection = $productCollection->create()
->addAttributeToSelect('*')
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
New contributor
add a comment |
Use of objectmanager directly is not a good practice.
See the below code may help you:
protected $_productloader;
public function __construct(
MagentoCatalogModelProductFactory $productloader
)
{
$this->_productloader = $productloader;
}
// function in which you want to access
function abc()
{
$productId = 10;
$_product = $this->_productloader->create()->load($productId);
$awa_brand = $_product->getData('awa_brand');
}
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "479"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
prakash saran is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f263791%2fmagento-2-product-custom-attribute-source-model-outerset-attribute-not-showing-i%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Before addAttributeToFilter
Function You Must Select All Attribute Using addAttributeToSelect
Function
$collection = $productCollection->create()
->addAttributeToSelect('*')
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
New contributor
add a comment |
Before addAttributeToFilter
Function You Must Select All Attribute Using addAttributeToSelect
Function
$collection = $productCollection->create()
->addAttributeToSelect('*')
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
New contributor
add a comment |
Before addAttributeToFilter
Function You Must Select All Attribute Using addAttributeToSelect
Function
$collection = $productCollection->create()
->addAttributeToSelect('*')
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
New contributor
Before addAttributeToFilter
Function You Must Select All Attribute Using addAttributeToSelect
Function
$collection = $productCollection->create()
->addAttributeToSelect('*')
->addAttributeToFilter('awa_brand',array('eq' => $_product->getAwaBrand()))
->setPageSize(3);
New contributor
New contributor
answered 1 hour ago
Ronak RathodRonak Rathod
762
762
New contributor
New contributor
add a comment |
add a comment |
Use of objectmanager directly is not a good practice.
See the below code may help you:
protected $_productloader;
public function __construct(
MagentoCatalogModelProductFactory $productloader
)
{
$this->_productloader = $productloader;
}
// function in which you want to access
function abc()
{
$productId = 10;
$_product = $this->_productloader->create()->load($productId);
$awa_brand = $_product->getData('awa_brand');
}
add a comment |
Use of objectmanager directly is not a good practice.
See the below code may help you:
protected $_productloader;
public function __construct(
MagentoCatalogModelProductFactory $productloader
)
{
$this->_productloader = $productloader;
}
// function in which you want to access
function abc()
{
$productId = 10;
$_product = $this->_productloader->create()->load($productId);
$awa_brand = $_product->getData('awa_brand');
}
add a comment |
Use of objectmanager directly is not a good practice.
See the below code may help you:
protected $_productloader;
public function __construct(
MagentoCatalogModelProductFactory $productloader
)
{
$this->_productloader = $productloader;
}
// function in which you want to access
function abc()
{
$productId = 10;
$_product = $this->_productloader->create()->load($productId);
$awa_brand = $_product->getData('awa_brand');
}
Use of objectmanager directly is not a good practice.
See the below code may help you:
protected $_productloader;
public function __construct(
MagentoCatalogModelProductFactory $productloader
)
{
$this->_productloader = $productloader;
}
// function in which you want to access
function abc()
{
$productId = 10;
$_product = $this->_productloader->create()->load($productId);
$awa_brand = $_product->getData('awa_brand');
}
answered 1 hour ago
iqbal malikiqbal malik
10412
10412
add a comment |
add a comment |
prakash saran is a new contributor. Be nice, and check out our Code of Conduct.
prakash saran is a new contributor. Be nice, and check out our Code of Conduct.
prakash saran is a new contributor. Be nice, and check out our Code of Conduct.
prakash saran is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Magento Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmagento.stackexchange.com%2fquestions%2f263791%2fmagento-2-product-custom-attribute-source-model-outerset-attribute-not-showing-i%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown