Создайте новый блок и добавьте его в шаблон - PullRequest
0 голосов
/ 22 мая 2018

Я новичок в Magento и мне нужна помощь в создании нового пользовательского блока.По сути, я просто хочу, чтобы блок показывал «привет», если он вызывается.

  1. XML-файл установки модуля, app / etc / modules / MyExtensions_HelloBlock.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <config>
        <modules>
            <MyExtensions_HelloBlock>
                <active>true</active>
                <codePool>local</codePool>
            </MyExtensions_HelloBlock>
        </modules>
    </config>
    
  2. XML-файл конфигурации модуля, app / code / local / MyExtensions / HelloBlock / etc / config.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <config>
        <modules>
            <MyExtensions_HelloBlock>
                <version>0.0.1</version>
            </MyExtensions_HelloBlock>
        </modules>
        <global>
            <blocks>
                <helloblock>
                    <class>MyExtensions_HelloBlock_Block</class>
                </helloblock>
            </blocks> 
        </global>
    </config>
    
  3. Класс блока, app / code / local / MyExtensions / HelloBlock / Hello.php

    <?php
    class MyExtensions_HelloBlock_Block_Hello extends Mage_Core_Block_Template 
    {    
        public function hello()
        {
            echo "hello";
        }
    }
    ?>
    
  4. Файл шаблона для блока, app / design / frontend / default / default / template / helloblock / hello.phtml

    <?php
        $this->hello();
    ?>
    

Затем я называю свой новый блок, как этот, в шаблоне "app / design/frontend/venedor/default/template/page/1column.phtml":

echo $this->getLayout()->createBlock('helloblock/hello')->setTemplate('helloblock/hello.phtml')->toHtml();

Результат:

Неустранимая ошибка: вызов функции-членаsetTemplate () для логического значения в /app/design/frontend/venedor/default/template/page/1column.phtml в строке 58

Я следовал этому учебнику .

1 Ответ

0 голосов
/ 23 мая 2018

Блок папка отсутствует

Путь вашего блока должен быть app / code / local / MyExtensions / HelloBlock / Block / Hello.php

...