Get plain value from custom variable in php with objectManager
I want to get a plain value from custom variable (defined on admin) in php with objectManager.
storeID is in $order->getStore()->getId()
Custom Variable Code is 'mycustomvar'
why does following code not work?
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
if ($var = $variables->getResource()->getVariableByCode('mycustomvar', true, $order->getStore()->getId())) {
$value = 'defined';
// $value = $variables->getData('plain_value');
} else {
$value = 'undefined';
}
It looks like $var
contains the array with the values of mycustomvar, but I'm not sure.
How can I pass $var
to getData('plain_value')
? Or is there a better way to get 'plain_value'
?
Classes I was looking into are
MagentoVariableModelVariable
MagentoVariableModelResourceModelVariable
PS I understood objectManager is not the preferred way, but I need to get this working here
PPS Magento 2.1
magento2 php object-manager custom-variable
bumped to the homepage by Community♦ yesterday
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
add a comment |
I want to get a plain value from custom variable (defined on admin) in php with objectManager.
storeID is in $order->getStore()->getId()
Custom Variable Code is 'mycustomvar'
why does following code not work?
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
if ($var = $variables->getResource()->getVariableByCode('mycustomvar', true, $order->getStore()->getId())) {
$value = 'defined';
// $value = $variables->getData('plain_value');
} else {
$value = 'undefined';
}
It looks like $var
contains the array with the values of mycustomvar, but I'm not sure.
How can I pass $var
to getData('plain_value')
? Or is there a better way to get 'plain_value'
?
Classes I was looking into are
MagentoVariableModelVariable
MagentoVariableModelResourceModelVariable
PS I understood objectManager is not the preferred way, but I need to get this working here
PPS Magento 2.1
magento2 php object-manager custom-variable
bumped to the homepage by Community♦ yesterday
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
1
You can use $model = $objectManager->get('MagentoVariableModelVariable')->loadByCode('myVariable'); $plain_value = $model->getPlainValue(); $html_value = $model->getHtmlValue(); But this method is not recommend by Magento to create instance.
– Vikas Verma
Jul 20 '17 at 10:52
1
@Vikas Sorry, I don't understand - how would I set the storeID then?
– rico
Jul 20 '17 at 11:18
This will automatically provide you the current store value. Did you use it ?
– Vikas Verma
Jul 20 '17 at 11:31
No - I need to get different values of this custom variable depending on which store the document was created.This is part of a modificaton of function insertOrder in MagentoSalesModelOrderPdfAbstractpdf.php and I checked the storeId is in $order->getStore()->getId(), for example storeId = 3.
– rico
Jul 20 '17 at 11:59
add a comment |
I want to get a plain value from custom variable (defined on admin) in php with objectManager.
storeID is in $order->getStore()->getId()
Custom Variable Code is 'mycustomvar'
why does following code not work?
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
if ($var = $variables->getResource()->getVariableByCode('mycustomvar', true, $order->getStore()->getId())) {
$value = 'defined';
// $value = $variables->getData('plain_value');
} else {
$value = 'undefined';
}
It looks like $var
contains the array with the values of mycustomvar, but I'm not sure.
How can I pass $var
to getData('plain_value')
? Or is there a better way to get 'plain_value'
?
Classes I was looking into are
MagentoVariableModelVariable
MagentoVariableModelResourceModelVariable
PS I understood objectManager is not the preferred way, but I need to get this working here
PPS Magento 2.1
magento2 php object-manager custom-variable
I want to get a plain value from custom variable (defined on admin) in php with objectManager.
storeID is in $order->getStore()->getId()
Custom Variable Code is 'mycustomvar'
why does following code not work?
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
if ($var = $variables->getResource()->getVariableByCode('mycustomvar', true, $order->getStore()->getId())) {
$value = 'defined';
// $value = $variables->getData('plain_value');
} else {
$value = 'undefined';
}
It looks like $var
contains the array with the values of mycustomvar, but I'm not sure.
How can I pass $var
to getData('plain_value')
? Or is there a better way to get 'plain_value'
?
Classes I was looking into are
MagentoVariableModelVariable
MagentoVariableModelResourceModelVariable
PS I understood objectManager is not the preferred way, but I need to get this working here
PPS Magento 2.1
magento2 php object-manager custom-variable
magento2 php object-manager custom-variable
edited Jul 21 '17 at 5:50
Teja Bhagavan Kollepara
2,93841847
2,93841847
asked Jul 20 '17 at 10:31
ricorico
63
63
bumped to the homepage by Community♦ yesterday
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
bumped to the homepage by Community♦ yesterday
This question has answers that may be good or bad; the system has marked it active so that they can be reviewed.
1
You can use $model = $objectManager->get('MagentoVariableModelVariable')->loadByCode('myVariable'); $plain_value = $model->getPlainValue(); $html_value = $model->getHtmlValue(); But this method is not recommend by Magento to create instance.
– Vikas Verma
Jul 20 '17 at 10:52
1
@Vikas Sorry, I don't understand - how would I set the storeID then?
– rico
Jul 20 '17 at 11:18
This will automatically provide you the current store value. Did you use it ?
– Vikas Verma
Jul 20 '17 at 11:31
No - I need to get different values of this custom variable depending on which store the document was created.This is part of a modificaton of function insertOrder in MagentoSalesModelOrderPdfAbstractpdf.php and I checked the storeId is in $order->getStore()->getId(), for example storeId = 3.
– rico
Jul 20 '17 at 11:59
add a comment |
1
You can use $model = $objectManager->get('MagentoVariableModelVariable')->loadByCode('myVariable'); $plain_value = $model->getPlainValue(); $html_value = $model->getHtmlValue(); But this method is not recommend by Magento to create instance.
– Vikas Verma
Jul 20 '17 at 10:52
1
@Vikas Sorry, I don't understand - how would I set the storeID then?
– rico
Jul 20 '17 at 11:18
This will automatically provide you the current store value. Did you use it ?
– Vikas Verma
Jul 20 '17 at 11:31
No - I need to get different values of this custom variable depending on which store the document was created.This is part of a modificaton of function insertOrder in MagentoSalesModelOrderPdfAbstractpdf.php and I checked the storeId is in $order->getStore()->getId(), for example storeId = 3.
– rico
Jul 20 '17 at 11:59
1
1
You can use $model = $objectManager->get('MagentoVariableModelVariable')->loadByCode('myVariable'); $plain_value = $model->getPlainValue(); $html_value = $model->getHtmlValue(); But this method is not recommend by Magento to create instance.
– Vikas Verma
Jul 20 '17 at 10:52
You can use $model = $objectManager->get('MagentoVariableModelVariable')->loadByCode('myVariable'); $plain_value = $model->getPlainValue(); $html_value = $model->getHtmlValue(); But this method is not recommend by Magento to create instance.
– Vikas Verma
Jul 20 '17 at 10:52
1
1
@Vikas Sorry, I don't understand - how would I set the storeID then?
– rico
Jul 20 '17 at 11:18
@Vikas Sorry, I don't understand - how would I set the storeID then?
– rico
Jul 20 '17 at 11:18
This will automatically provide you the current store value. Did you use it ?
– Vikas Verma
Jul 20 '17 at 11:31
This will automatically provide you the current store value. Did you use it ?
– Vikas Verma
Jul 20 '17 at 11:31
No - I need to get different values of this custom variable depending on which store the document was created.This is part of a modificaton of function insertOrder in MagentoSalesModelOrderPdfAbstractpdf.php and I checked the storeId is in $order->getStore()->getId(), for example storeId = 3.
– rico
Jul 20 '17 at 11:59
No - I need to get different values of this custom variable depending on which store the document was created.This is part of a modificaton of function insertOrder in MagentoSalesModelOrderPdfAbstractpdf.php and I checked the storeId is in $order->getStore()->getId(), for example storeId = 3.
– rico
Jul 20 '17 at 11:59
add a comment |
1 Answer
1
active
oldest
votes
Class MagentoVariableModelVariable
offers everything - such as setStoreId(StoreId), which needs to be set case by case for my application. There is no need to dig into MagentoVariableModelResourceModelVariable
.
The following code is working now. Replace myStoreID
and mycustomvar
with your needs. Remove code line with setStoreId(StoreId), if you need access to mycustomvar
in the current store.
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
$variables->setStoreId(myStoreID);
$value = $variables->loadByCode('mycustomvar')->getPlainValue();
Thanks to Vikas comments, it helped me find the solution.
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
});
}
});
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%2f184662%2fget-plain-value-from-custom-variable-in-php-with-objectmanager%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Class MagentoVariableModelVariable
offers everything - such as setStoreId(StoreId), which needs to be set case by case for my application. There is no need to dig into MagentoVariableModelResourceModelVariable
.
The following code is working now. Replace myStoreID
and mycustomvar
with your needs. Remove code line with setStoreId(StoreId), if you need access to mycustomvar
in the current store.
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
$variables->setStoreId(myStoreID);
$value = $variables->loadByCode('mycustomvar')->getPlainValue();
Thanks to Vikas comments, it helped me find the solution.
add a comment |
Class MagentoVariableModelVariable
offers everything - such as setStoreId(StoreId), which needs to be set case by case for my application. There is no need to dig into MagentoVariableModelResourceModelVariable
.
The following code is working now. Replace myStoreID
and mycustomvar
with your needs. Remove code line with setStoreId(StoreId), if you need access to mycustomvar
in the current store.
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
$variables->setStoreId(myStoreID);
$value = $variables->loadByCode('mycustomvar')->getPlainValue();
Thanks to Vikas comments, it helped me find the solution.
add a comment |
Class MagentoVariableModelVariable
offers everything - such as setStoreId(StoreId), which needs to be set case by case for my application. There is no need to dig into MagentoVariableModelResourceModelVariable
.
The following code is working now. Replace myStoreID
and mycustomvar
with your needs. Remove code line with setStoreId(StoreId), if you need access to mycustomvar
in the current store.
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
$variables->setStoreId(myStoreID);
$value = $variables->loadByCode('mycustomvar')->getPlainValue();
Thanks to Vikas comments, it helped me find the solution.
Class MagentoVariableModelVariable
offers everything - such as setStoreId(StoreId), which needs to be set case by case for my application. There is no need to dig into MagentoVariableModelResourceModelVariable
.
The following code is working now. Replace myStoreID
and mycustomvar
with your needs. Remove code line with setStoreId(StoreId), if you need access to mycustomvar
in the current store.
$objectManager = MagentoFrameworkAppObjectManager::getInstance();
$variables = $objectManager->create('MagentoVariableModelVariable');
$variables->setStoreId(myStoreID);
$value = $variables->loadByCode('mycustomvar')->getPlainValue();
Thanks to Vikas comments, it helped me find the solution.
edited Jul 21 '17 at 5:33
answered Jul 20 '17 at 18:41
ricorico
63
63
add a comment |
add a comment |
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f184662%2fget-plain-value-from-custom-variable-in-php-with-objectmanager%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
1
You can use $model = $objectManager->get('MagentoVariableModelVariable')->loadByCode('myVariable'); $plain_value = $model->getPlainValue(); $html_value = $model->getHtmlValue(); But this method is not recommend by Magento to create instance.
– Vikas Verma
Jul 20 '17 at 10:52
1
@Vikas Sorry, I don't understand - how would I set the storeID then?
– rico
Jul 20 '17 at 11:18
This will automatically provide you the current store value. Did you use it ?
– Vikas Verma
Jul 20 '17 at 11:31
No - I need to get different values of this custom variable depending on which store the document was created.This is part of a modificaton of function insertOrder in MagentoSalesModelOrderPdfAbstractpdf.php and I checked the storeId is in $order->getStore()->getId(), for example storeId = 3.
– rico
Jul 20 '17 at 11:59