Magento 2 এ গ্রাহক অ্যাকাউন্ট নেভিগেশনে কাস্টম সক্রিয় লিঙ্কগুলি যুক্ত করুন


10

আমি গ্রাহক অ্যাকাউন্ট নেভিগেশনে একটি কাস্টম লিঙ্ক যুক্ত করার চেষ্টা করছি। আমার কাস্টম লিঙ্কটি অ্যাকাউন্ট নেভিগেশনে প্রদর্শিত হচ্ছে এবং খুব বেশি কাজ করছে, তবে এটি ক্লিকে সক্রিয় / বর্তমান হিসাবে প্রদর্শিত হচ্ছে না।

এখানে চিত্র বর্ণনা লিখুন

নীচে আমার কাছে কোডটি রয়েছে:

/app/code/Namespace/Support/view/frontend/layout/customer_account.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceBlock name="customer_account_navigation">
            <block class="Magento\Framework\View\Element\Html\Link\Current" name="customer-account-navigation-suppport-ticket-link" after="-">
                <arguments>
                    <argument name="path" xsi:type="string">support/customer/index</argument>
                    <argument name="label" xsi:type="string">Support Ticket</argument>
                </arguments>
            </block>
        </referenceBlock>
    </body>
</page>

/app/code/Namespace/Support/Controller/Customer/Index.php

<?php
namespace Namespace\Support\Controller\Customer;

use Magento\Framework\App\Action;
use Magento\Framework\Exception\NotFoundException;
use Magento\Framework\Controller\ResultFactory;

class Index extends \Namespace\Support\Controller\Index
{
    /**
     * Show customer tickets
     *
     * @return \Magento\Framework\View\Result\Page
     * @throws NotFoundException
     */
    public function execute()
    {
        /** @var \Magento\Framework\View\Result\Page resultPage */
        $resultPage = $this->resultFactory->create(ResultFactory::TYPE_PAGE);
        return $resultPage;
    }
}

/app/code/Namespace/Support/view/frontend/layout/support_customer_index.xml

<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <update handle="customer_account"/>
    <head>
        <title>Support Ticket</title>
        <css src="Namespace_Support::css/styles.css"/>
    </head>
    <body>
        <referenceContainer name="content">
            <block class="Namespace\Support\Block\TicketList" name="ticketViewList" template="Namespace_Support::list.phtml" />
        </referenceContainer>
    </body>
</page>

6
থেকে পথ পরিবর্তন <argument name="path" xsi:type="string">support/customer/index</argument> করতে<argument name="path" xsi:type="string">support/customer</argument>
Codrain Technolabs প্রাঃ লিঃ

যদি এটি সাহায্য করে তবে আমাকে জানান
কোড্রেন টেকনোলবস প্রাইভেট লিমিটেড

@YagneshPonkiya। আপনার দ্রুত উত্তর দেওয়ার জন্য ধন্যবাদ। হ্যাঁ, এটি কাজ করছে। আপনার মন্তব্যটিকে উত্তর হিসাবে রাখুন যাতে আমি গ্রহণ করতে পারি।
শ্যাম

@YagneshPonkiya। এছাড়াও, আপনি কি দয়া করে বলতে পারেন সমস্যাটি কী ছিল? আমাদের কেন এটি পরিবর্তন করার দরকার ছিল? আগাম ধন্যবাদ.
শ্যাম

@ শ্যাম, আপনি কি এই মডিউলটি শেষ করেছেন? আমি আমার এম 2 প্রকল্পে একই কার্যকারিতা তৈরি করছি। সুতরাং, আপনি দয়া করে আমাকে গাইড করতে পারেন আমি কীভাবে এই কার্যকারিতা তৈরি করতে পারি? ধন্যবাদ
mageDev0688

উত্তর:


23

কাজগুলি সম্পন্ন করতে দয়া করে নীচের মতো আপনার লেআউট ফাইলের পথ পরিবর্তন করুন।

<argument name="path" xsi:type="string">support/customer</argument>

দয়া করে মনে রাখবেন, আমি পথের স্ট্রিং থেকে ক্রিয়াকলাপটি সরিয়েছি।

আরও তথ্যের জন্য, আপনাকে কেন এটি করতে হবে দয়া করে ফাইলের নীচে অধ্যয়ন করুন।

Magento \ ফ্রেমওয়ার্ক \ দেখুন \ উপাদান \ এইচটিএমএল \ লিংক \ Current.php

আশা করি এটা তোমাকে সাহায্য করবে.


যদি সূচকের পরিবর্তে আমার কাছে অন্য ক্রিয়াকলাপের নাম থাকে, তবে তাকে কল করা হয় না ....
মণীশ

যদি আপনার "সূচক" ব্যতীত অন্য ক্রিয়া থাকে। আপনার "সাপোর্ট / গ্রাহক / এবিসি" এর মতো পুরো পথ ব্যবহার করা উচিত। আপনার সামনের নাম এবং রুট আইডি একই রয়েছে তা নিশ্চিত করুন।
কোডারন টেকনোলবস প্রাইভেট লিমিটেড

@ যজ্ঞেশ পনকিয়া, আমি এই মুহূর্তে একই সমস্যার মুখোমুখি হয়েছি এবং আমি এখানে প্রশ্ন রেখেছি উপরের কোডটি দিয়ে চেষ্টা করেছি তবে আমি ৪০৪ পৃষ্ঠার ইস্যু পাচ্ছি।
mageDev0688

@ যজ্ঞেশ যদি আমি গ্রাহক / অ্যাকাউন্ট / পৃষ্ঠায় আছি তবে মেনুতে "কারেন্ট" শ্রেণি রয়েছে। তবে আমি গ্রাহক / অ্যাকাউন্ট / সম্পাদনা পৃষ্ঠায় থাকলে "বর্তমান" শ্রেণি উপস্থিত নেই। তুমি কি সাহায্য করতে পারো? আমি অভ্যন্তরীণ পৃষ্ঠাগুলির জন্য মেনুতে "বর্তমান" ক্লাস রাখতে চাই।
সেজল শাহ

@ ইয়াগনেশপোনকিয়া সিমি পৃষ্ঠা সম্পর্কে কী?
নীতেশ

2

আপনি আপনার কাস্টম বিন্যাসে লিখতে পারেন

<referenceBlock name="customer-account-navigation-suppport-ticket-link">
                <arguments>
                    <argument name="current" xsi:type="boolean">true</argument>
                </arguments>
    </referenceBlock>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.