2016-04-08 16 views

Antwort

0
// To get the TEXT value of the custom variable: 
Mage::getModel('core/variable')->setStoreId(Mage::app()->getStore()->getId())->loadByCode('custom_variable_code')->getValue('text'); 

// To get the HTML value of the custom variable: 
Mage::getModel('core/variable')->setStoreId(Mage::app()->getStore()->getId())->loadByCode('custom_variable_code')->getValue('html'); 
+0

Vielen Dank für ur Antwort. Ich habe es versucht und den folgenden Fehler erhalten. Uncaught Fehler: Klasse "Magier" nicht gefunden in ... –

+0

Ich denke, dass Sie in externen Datei tun. füge bitte folgenden Code oben in die Datei ein. 'require_once ('app/Mage.php'); umask (0); Mage :: app(); ' –

+1

Diese Antwort ist für Magento1, nicht Magento2 wie angefordert. – Maddy

5

für dieses Objekt Sie Manager und Lastmodell mit seinem variablen Code

Danach muss man kann seinen Normalwert, html-Wert und seinen Namen erhalten verwenden.

<?php 
$model = $this->_objectManager->get('Magento\Variable\Model\Variable')->loadByCode('test_var'); 
$plain_value = $model->getPlainValue(); 
$html_value = $model->getHtmlValue(); 
$name = $model->getName(); 
?> 
+1

Die Verwendung eines Objektmanagers ist in der Regel verpönt. Sie sollten dies wahrscheinlich in die Blocklogik schreiben und eine Abhängigkeitsinjektion mit einem Getter durchführen. Hier ist eine Beschreibung, wie das geht. http://devdocs.magento.com/guides/v2.0/extension-dev-guide/depend-inj.html#injection-types-used-in-magento – espradley

+0

Um zu espradleys Kommentar hinzuzufügen, verweisen Sie Hier finden Sie weitere Informationen: http://magento.stackexchange.com/questions/117098/magento-2-in-use-or-not-use-the-objectmanager-directly – 10basetom

0

Der "saubere" Weg ist dies mit Abhängigkeitsinjektion zu tun.

Erstellen Sie Ihre eigenen Block:

namespace MyCompany\MyBlockName\Block; 

class MyBlock extends \Magento\Framework\View\Element\Template { 

    protected $_varFactory; 

    public function __construct(
     \Magento\Variable\Model\VariableFactory $varFactory, 
     \Magento\Framework\View\Element\Template\Context $context) 
    { 
     $this->_varFactory = $varFactory; 
     parent::__construct($context); 
    } 

    public function getVariableValue() { 
     $var = $this->_varFactory->create(); 
     $var->loadByCode('test_var'); 
     return $var->getValue('text'); 
    } 

} 

und verwenden Sie es in Ihrem .phtml Datei:

<?php echo $this->getVariableValue() ?> 
1

Bitte verwenden Sie diesen Code:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); 
    $variable = $objectManager->create('Magento\Variable\Model\Variable'); 

    $value = $variable->loadByCode('variableCode')->getPlainValue(); 
    echo $value;