খোয়া তার ব্যাখ্যার জন্য ধন্যবাদ যা আমি অর্জন করতে চেয়েছিলাম তা আমার অ্যাডমিন আকারে আমি এজ্যাক্স সহ একটি বাহ্যিক url কল করছি। আমি একটি স্থির পথ ব্যবহার করছিলাম তাই আমি এটি গতিশীলরূপে চেয়েছিলাম। সুতরাং আমি এখানে কি করেছি।
আমার লেআউট এক্সএমএল ফাইল
<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>
লেআউটটি পিএইচটিএমএল ফাইলটি আমি বেস ইউআরএল সংজ্ঞায়িত করেছি।
<script>
require([
'mage/url'
], function(url) {
return url.setBaseUrl('<?php /* @escapeNotVerified */ echo $block->getAdminBaseUrl();?>');
})
</script>
আমার ব্লক ফাইল যা বেস url দেয়
<?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 . '/';
}
}
এখন আমার জেএস ফাইলগুলিতে আমি এটি ব্যবহার করতে পারি।
define([
'Magento_Ui/js/form/element/abstract',
'mage/url'
], function (Abstract, url) {
'use strict';
return Abstract.extend({
url.build('namespace_module/controllername/action/');
});
});