日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

magento php 所需模块,magento博客 - Magento2 创建基本模块

發布時間:2024/9/27 php 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 magento php 所需模块,magento博客 - Magento2 创建基本模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們將在Magento 2中創建一個簡單的模塊,完成后,模塊將在自定義前端路由的內容中顯示“Hello world!”。

先決條件

毋庸置疑,您需要最新的Magento 2版本

在我們開始Magento 2模塊開發之前,有兩件事是人們經常忘記的,我們建議你們去做:

1.禁用Magento緩存

在開發期間禁用Magento緩存將節省您一些時間,因為每次更改代碼時都不需要手動刷新緩存。

禁用緩存的最簡單方法是轉到?Admin → System → Cache Management → select all cache types禁用它們。

2.將Magento設為開發者模式

您應該將Magento設為開發者模式,以確保您能看到出現的所有錯誤。

所以請打開終端并轉到Magento 2根目錄,然后運行以下命令:

php bin/magento deploy:mode:set developer

創建模塊文件和文件夾

模塊設置

如果您已經使用了Magento 1版本,那么您已經習慣了術語代碼池——位于app/code文件夾中的社區、核心和本地文件夾。在MaGeto 2中,沒有更多的代碼池。模塊按命名空間分組,直接放置在App/code文件夾中。

如果您使用過Magento 1版本,那么您已經習慣了代碼池 - 位于app/code文件夾中的community,core和local文件夾。在Magento 2中,沒有更多的代碼池。模塊按命名空間分組,并直接放在app/code文件夾中。

因此,我們的第一步是創建注冊Magento模塊所需的模塊文件夾和必要文件。

1.創建以下文件夾:

app/code/Magease

app/code/Magease/Helloworld

Magease文件夾是模塊的命名空間,Helloworld是模塊的名稱。

注意:如果您的app目錄中沒有代碼文件夾,請手動創建它。

2.現在我們有了一個模塊文件夾,我們需要使用以下代碼在app/code/Magease/Helloworld/etc文件夾中創建一個module.xml文件:

3.要注冊模塊,在app/code/Magease/Helloworld文件夾中創建registration.php文件并添加以下代碼:

\Magento\Framework\Component\ComponentRegistrar::register(

\Magento\Framework\Component\ComponentRegistrar::MODULE,

'Magease_Helloworld',

__DIR__

);

4.打開終端并轉到Magento 2根目錄,運行以下命令:

php bin/magento setup:upgrade

如果要確保模塊已安裝,可以轉到Admin_Stores_Configuration_Advanced_Advanced并檢查模塊是否存在于列表中,或者可以打開app/etc/config.php并檢查數組中的“Magease_Helloworld”鍵,該鍵的值應該設置為1。

創建一個控制器

1.首先我們需要定義路由,在app/code/Magease/Helloworld/etc/frontend文件夾中創建routes.xml文件并添加以下代碼:

在這里,我們使用id為“helloworld”定義我們的前端路由器和路由。

該frontName屬性將是我們的URL的第一部分。

在Magento 2中,URL以這種方式構造:

//

因此在我們的示例中,最終的URL將如下所示:

helloworld/index/index

2.現在我們在app/code/Magease/Helloworld/Controller/Index文件夾下創建的index.php文件并添加以下代碼:

namespace Magease\Helloworld\Controller\Index;

use Magento\Framework\App\Action\Context;

class Index extends \Magento\Framework\App\Action\Action

{

protected $_resultPageFactory;

public function __construct(Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory)

{

$this->_resultPageFactory = $resultPageFactory;

parent::__construct($context);

}

public function execute()

{

$resultPage = $this->_resultPageFactory->create();

return $resultPage;

}

}

在Magento 1中,每個控制器可以有多個action,但在Magento 2中并非如此。在Magento 2中,每個action都有自己的類,它執行了execute()方法。

創建一個塊

我們將使用getHelloWorldTxt()方法創建一個簡單的塊類,該方法返回“Hello world”字符串。

1.在app/code/Magease/Helloworld/Block文件夾中創建Helloworld.php文件并添加以下代碼:

namespace Magease\Helloworld\Block;

class Helloworld extends \Magento\Framework\View\Element\Template

{

public function getHelloWorldTxt()

{

return 'Hello world!';

}

}

創建布局和模板文件

在Magento 2中,布局文件和模板放置在模塊內的視圖文件夾中。在視圖文件夾中,我們可以有三個子文件夾:adminhtml,base和frontend。

adminhtml文件夾用于admin,frontend文件夾用于前端,base文件夾用于admin和frontend文件。

1.首先,我們將在app/code/Magease/Helloworld/view/frontend/layout文件夾中創建helloworld_index_index.xml文件,添加以下代碼:

每個頁面都有一個布局,對于我們的控制器action,布局句柄是helloworld_index_index。您可以為每個布局句柄創建布局配置文件

在我們的布局文件中,我們向content容器中添加了一個塊,并將塊的模板設置為helloworld.phtml,我們將在下一步中創建它。

2.在app/code/Magease/Helloworld/view/frontend/templates文件夾中創建helloworld.phtml文件并添加以下內容:

<?php echo $this->getHelloWorldTxt(); ?>

$this變量正在對block類進行重新設置,執行getHelloWorldTxt()方法將返回字符串“Hello world!”。

在瀏覽器中打開/helloworld/index/indexURL,您會看到以下內容:

總結

以上是生活随笔為你收集整理的magento php 所需模块,magento博客 - Magento2 创建基本模块的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。