Step 1:

Create a custom extension based on Magento 2 structure in the folder app/code.

Ex: Magento 2 root directory/app/code/vk/hd/

Step 2:

Create module.xml file in the below path to define your Magento 2 extension.

Magento 2 root directory/app/code/vk/hd/etc/module.xml

<?xml version=“1.0”?>

<config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd”>

<module name=”vk_hd” setup_version=”2.0.1″></module>

</config>

 Step 3:

Create routes.xml in the below path for your custom link. Magento 2 root directory/app/vk/hd/etc/frontend/routes.xml

<?xml version=”1.0″?>

<config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd”>

<router id=”standard”>

<route id=”hd” frontName=”hd”>

<module name=”vk_hd” />

</route>

</router>

</config>

Step 4:

Create layout file in the below path for a custom header. Magento2 root directory/app/vk/hd/view/frontend/layout/header.xml

<?xml version=”1.0″?>

<page xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” layout=”1column” xsi:noNamespaceSchemaLocation=”../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd”>

<body>

<referenceBlock name=”header.links”>

<move element=”test-last” destination=”header.links”/>

<block class=”vk\hd\Block\Header” name=”test-link” after=”my-account-link”/>

</referenceBlock>

</body>

</page>

Step 5:

Create block file that is referred in the layout file in the below path. Magento2 root directory/app/vk/hd/Block/Header.php

<?php

namespace vk\hd\Block;

class Header extends \Magento\Framework\View\Element\Html\Link

{

protected $_template = ‘vk_hd::link.phtml’;

public function getHref()

{

return__( ‘testing’);

}

public function getLabel()

{

return __(‘Test Linking’);

}

}

?>

Step 6:

Create template file that is referred to the block file in the below path. Magento2 root directory/app/vk/hd/frontend/templates/link.phtml

<li>

<a <?php echo $block->getLinkAttributes() ?>><?php echo $block->escapeHtml($block->getLabel())?>

<?php echo($block->getCounter()) ? ‘<span>’ . $block->escapeHtml($block->getCounter()) . ‘</span>’ : ”; ?>

</a>

</li>

Step 7:

After completing the above steps run the below Magento2 upgrade command in the command prompt:

php bin/magento setup:upgrade

Categories: BlogPHP

0 thoughts on “How to Add Custom Header Links in Magento 2”

Leave a Reply