Ответы:
Добавьте новый блок, создав новый модуль. например :
Создайте новый каталог в 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>
Удалите кеш и проверьте свой блок, перезагрузив страницу входа.
В панели администратора: перейдите к содержанию> виджеты> Добавить виджет> затем
нажмите на кнопку продолжить
и выберите блок, который вы хотите добавить.
Добавьте его через виджет, добавьте новый виджет типа статического блока CMS, а затем в настройках виджета выберите свою конкретную страницу.