জেএস বা এইচটিএমএল ফাইলগুলি দেখার জন্য বেস অর্ল বা গতিশীল url পান


16

সামনের প্রান্তে ডায়নামিক ইউআরএল পেতে আমি এটি বের করেছিলাম যদি আমার প্রয়োজন হয় তবে আমি কেবল সংজ্ঞায়িত করতে পারি mage/urlএবং এটি হিসাবে ব্যবহার করতে পারিurl.build('<Modulename>/<controllername>/<action>/')

আমি যখন ব্যাকএন্ডের জন্য একই জিনিসটি চেষ্টা করেছি তখন তা আমাকে প্রত্যাশিত ফলাফল দেয়নি।

এটি বর্তমান url দিয়েছে এবং আমি যে পথটি দিয়েছি তা সংযোজন করে।

এটি কীভাবে কার্যকর হয় কেউ ব্যাখ্যা করতে পারেন। আমার কোথাও বেসল সংজ্ঞা দেওয়া দরকার?

উত্তর:


9

খোয়া তার ব্যাখ্যার জন্য ধন্যবাদ যা আমি অর্জন করতে চেয়েছিলাম তা আমার অ্যাডমিন আকারে আমি এজ্যাক্স সহ একটি বাহ্যিক 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/');
    });
});

8

জাস্ট ফাইলের মধ্যে কেবলমাত্র তা করুন s

define(['mage/url'], 
  function (url) {
   'use strict';
    var url = url.build('<modulename>/<controllername>/<actionname>');
});

ফলাফলগুলি হ'ল:

http://ip_address/<modulename>/<controllername>/<actionname>

এটি আমাকে ব্যাকএন্ডে একই ফলাফল দেবে না। সুতরাং প্রথমে ব্লকের ইউআরএলটি সংজ্ঞায়িত করতে হবে
প্রিয়ঙ্ক

তবে আপনার প্রশ্নে আপনি উল্লেখ করেছেন যে আপনি ইউএসএল-তে URL চান তাই এটি সহায়ক হবে helpful এখন আপনি আমাকে কোন ফাইলটিতে ইউআরএল চান তা বলুন । আপনার সমস্যা কি সমাধান হয়েছে?
নীতেশ

আমরা কীভাবে url.build () ফাংশনটি ব্যবহার করে সাইটের বেস url পাই?
যুবরাজ প্যাটেল 13

এটি ব্যবহার করে -> সংজ্ঞায়িত করুন (['mage / url']
নীতেশ

6

আমাদের জানা সবচেয়ে গুরুত্বপূর্ণ: আমাদের জন্য বেস url নির্ধারণ করতে হবেurl.build('<Modulename>/<controllername>/<action>/') :

liberal এর সংক্ষিপ্ত রূপ / ওয়েব / পুরোনো যাদুকর / url.js

        setBaseUrl: function (url) {
            baseUrl = url;
        },
        build: function(path) {
            if (path.indexOf(baseUrl) != -1) {
                return path;
            }
            return baseUrl + path;
        }

মূলত, দুটি url যেখানে বেস url সেট করতে হবে:

vendor/magento/module-checkout/view/frontend/templates/onepage.phtml vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml

return url.setBaseUrl('<?php /* @escapeNotVerified */ echo $block->getBaseUrl();?>');

সুতরাং, আপনার প্রশাসনে, আপনাকে অ্যাডমিন বেস url সেট করতে হবে।


1
ঠিক আছে আমি তা পেয়েছি তবে অ্যাডমিন ফর্মগুলির বিষয়ে কথা বলছি, যেখানে এটি প্রয়োগ করার দরকার আমার। আমার ফর্মটি ইউআই উপাদান ব্যবহার করে তৈরি করা হয়েছে যাতে ইউআরএলকে অনপেজ বা শিপিংয়ে সংজ্ঞায়িত করা হয়েছে আমি কীভাবে সেট করতে পারি?
প্রিয়ঙ্ক 4'16

হ্যালো, আপনি আপনার সমস্যা সম্পর্কে আরও বিশদ ব্যাখ্যা করতে পারেন। ইউআই উপাদান সম্পর্কে: magento.stackexchange.com
খোয়া ট্রুংডিনহ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.