Magento 2 नियंत्रक या सहायक में छवि यूआरएल प्राप्त करें?


9

नियंत्रक या सहायक में छवि कैसे प्राप्त करें। उदाहरण के लिए, चित्र फ़ोल्डर का पथ:

 /app/code/Nitesh/Module/view/frontend/web/images
 /app/code/Nitesh/Module/view/frontend/web/images/image.png

जवाबों:


13

छवि यूआरएल प्राप्त करने के लिए नीचे दिए गए कोड का उपयोग करें view

<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />

अपडेट करें:

<?php echo $block->getViewFileUrl('images/demo.jpg'); ?>

1
यह उत्तर अच्छा और सरल है। मेरे लिए पहला विकल्प काम करता था।
मिलन सिमक

नियंत्रक फ़ाइल में कैसे प्राप्त करें?
जफ़र पिंजर

20

अपने हेल्पर या नियंत्रक में छवि पथ प्राप्त करने के लिए, आपको उपयोग करने की आवश्यकता है

use Magento\Framework\View\Asset\Repository;
use Magento\Framework\App\RequestInterface; // for $this->request

आपकी फ़ाइल में।
एक बार जब आप रिपॉजिटरी जोड़ते हैं और ऑब्जेक्ट बनाते हैं assetRepoऔर requestफ़ंक्शन के साथ इमेज पथ को कॉल करते हैं,

$params = array('_secure' => $this->request->isSecure());
$this->assetRepo->getUrlWithParams('Nitesh_Module::images/image.png', $params);

vendor\magento\module-payment\Model\CcConfig.php::getViewFileUrl($fileId, array $params = [])कार्य करना देखें

संपादित करें

सेटअप स्क्रिप्ट, एपीआई कॉल और क्रोनॉजर्स के लिए सही छवि पथ प्राप्त करने के लिए, आपको सही छवि पथ प्राप्त करने के लिए नीचे दिए गए अनुकरण को जोड़ना होगा।

public function __construct(
    \Magento\Framework\View\Asset\Repository $assetRepo,
    \Magento\Framework\App\RequestInterface $request,
    \Magento\Store\Model\App\Emulation $appEmulation
)
{
    $this->assetRepo = $assetRepo;
    $this->request = $request;
    $this->appEmulation = $appEmulation;
}

public FunctionName($param){
    $this->appEmulation->startEnvironmentEmulation($storeId, \Magento\Framework\App\Area::AREA_FRONTEND, true);

    $params = array('_secure' => $this->request->isSecure());
    $this->assetRepo->getUrlWithParams('Nitesh_Module::images/image.png', $params);

    $this->appEmulation->stopEnvironmentEmulation();
}

संदर्भ: https://magento.stackexchange.com/a/297121/2443


त्रुटि आती है -> सूचना: अपरिभाषित संपत्ति: ... :: $ अनुरोध में
नितेश

इसे आपके संदर्भ ty से मिला
नितेश

दोस्त बहुत - बहुत धन्यवाद। यह वास्तव में छवि url प्राप्त करने में सहायक है।
नितेश

@Jaimin, यह आवर्ती में काम नहीं कर रहा है।
जफ़र पिंजर

1
@JaiminSutariya, हाँ। मैं RecurringData.php में कोशिश कर रहा हूं, जहां मैंने Area_code को Global के रूप में सेट किया है, इसलिए Url _view / Global के साथ बन रहा है जो कि काम नहीं कर रहा है, आप RecurringData.php के साथ एक बार कोशिश कर सकते हैं, फिर आप इस मुद्दे के बारे में विचार प्राप्त करेंगे
जफ़र पिंजर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.