खोआ को उनके स्पष्टीकरण के लिए धन्यवाद, जो मैं हासिल करना चाहता था वह मेरे व्यवस्थापक रूप में है, मैं एक बाहरी यूआरएल को अजाक्स के साथ बुला रहा हूं। मैं एक स्थिर पथ का उपयोग कर रहा था, इसलिए मैं इसे गतिशील रूप से चाहता था। तो यहां मैंने क्या किया है।
मेरा लेआउट XML फ़ाइल
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceContainer name="content">
<uiComponent name="namespace_modulename_form"/>
<block class="Namespace\Modulename\Block\Adminhtml\Edit" name="edit" template="Namespace_Modulename::edit.phtml" />
</referenceContainer>
</body>
</page>
लेआउट Phtml फ़ाइल मैंने बेस्यूल को परिभाषित किया।
<script>
require([
'mage/url'
], function(url) {
return url.setBaseUrl('<?php /* @escapeNotVerified */ echo $block->getAdminBaseUrl();?>');
})
</script>
मेरी ब्लॉक फाइल जो बेस यूआरएल लौटाती है
<?php
namespace Namespcae\Modulename\Block\Adminhtml;
class Edit extends \Magento\Framework\View\Element\Template
{
protected $_configReader;
public function __construct(
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\App\DeploymentConfig\Reader $configReader
) {
$this->_configReader = $configReader;
parent::__construct($context);
}
public function getAdminBaseUrl(){
$config = $this->_configReader->load();
$adminSuffix = $config['backend']['frontName'];
return $this->getBaseUrl() . $adminSuffix . '/';
}
}
अब मेरी js फाइलों में मैं इसका उपयोग कर सकता हूं।
define([
'Magento_Ui/js/form/element/abstract',
'mage/url'
], function (Abstract, url) {
'use strict';
return Abstract.extend({
url.build('namespace_module/controllername/action/');
});
});