ログインページmagento2に新しいブロックを追加する方法


8

magento 2のログインページに新しいブロックを挿入したいのですが、ログインページに新しいブロックを追加する方法を教えてください。


ブロックとは何ですか?CMSブロックまたはブロック?
アミットベラ

CMS Blockです。
MaYaNk 2016年

回答:


9

新しいモジュールを作成して、新しいブロックを追加します。例えば ​​:

に新しいディレクトリを作成します app/code/

これで別のフォルダを作成します Foo/Bar

モジュールを作成するには、でmodule.xmlを作成しFoo/Bar/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="Foo_Bar" setup_version="2.0.1"/>
</config>

php bin/magento setup:upgrade作成モジュールのCLIでこれを実行します。

作成する Foo/Bar/Block/Baz.php

このコードを貼り付けます

 <?php 
   namespace Foo\Bar\Block; 
 class Baz
    extends \Magento\Framework\View\Element\Template
 {
    public function getTitle()
 {
    return "New Block";
  }
}

つくる Foo/Bar/view/frontend/layout/customer_account_login.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>
    <referenceContainer name="content">
        <block class="Foo\Bar\Block\Baz" template="Foo_Bar::default/baz.phtml"/>
    </referenceContainer>
</body>
</page>

つくる Foo/Bar/view/frontend/templates/default/baz.phtml

このコードを貼り付けます

<?php
?>
  <h1tag><?php echo $block->getTitle(); ?></h1tag>

キャッシュを削除し、ログインページを再読み込みしてブロックを確認します。


8

管理パネルで:に行く>ウィジェットを追加>ウィジェット>コンテンツ その後、

ここに画像の説明を入力してください

続行ボタンをクリックします

ここに画像の説明を入力してください

追加するブロックを選択します。


2

ウィジェット経由で追加し、CMS静的ブロックタイプの新しいウィジェットを追加し、ウィジェットオプションで特定のページを選択します。


物理的にどういう意味ですか?XMLまたはPHPコード経由。ブロック内にあるコードと達成したいこと。
Sourabh Modi

1
物理的には、プログラム的に意味します。PHPコード経由
MaYaNk
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.