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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

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

發(fā)布時(shí)間:2024/9/27 php 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 magento php 所需模块,magento博客 - Magento2 创建基本模块 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我們將在Magento 2中創(chuàng)建一個(gè)簡(jiǎn)單的模塊,完成后,模塊將在自定義前端路由的內(nèi)容中顯示“Hello world!”。

先決條件

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

在我們開始Magento 2模塊開發(fā)之前,有兩件事是人們經(jīng)常忘記的,我們建議你們?nèi)プ?#xff1a;

1.禁用Magento緩存

在開發(fā)期間禁用Magento緩存將節(jié)省您一些時(shí)間,因?yàn)槊看胃拇a時(shí)都不需要手動(dòng)刷新緩存。

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

2.將Magento設(shè)為開發(fā)者模式

您應(yīng)該將Magento設(shè)為開發(fā)者模式,以確保您能看到出現(xiàn)的所有錯(cuò)誤。

所以請(qǐng)打開終端并轉(zhuǎn)到Magento 2根目錄,然后運(yùn)行以下命令:

php bin/magento deploy:mode:set developer

創(chuàng)建模塊文件和文件夾

模塊設(shè)置

如果您已經(jīng)使用了Magento 1版本,那么您已經(jīng)習(xí)慣了術(shù)語(yǔ)代碼池——位于app/code文件夾中的社區(qū)、核心和本地文件夾。在MaGeto 2中,沒(méi)有更多的代碼池。模塊按命名空間分組,直接放置在App/code文件夾中。

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

因此,我們的第一步是創(chuàng)建注冊(cè)Magento模塊所需的模塊文件夾和必要文件。

1.創(chuàng)建以下文件夾:

app/code/Magease

app/code/Magease/Helloworld

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

注意:如果您的app目錄中沒(méi)有代碼文件夾,請(qǐng)手動(dòng)創(chuàng)建它。

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

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

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

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

'Magease_Helloworld',

__DIR__

);

4.打開終端并轉(zhuǎn)到Magento 2根目錄,運(yùn)行以下命令:

php bin/magento setup:upgrade

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

創(chuàng)建一個(gè)控制器

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

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

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

在Magento 2中,URL以這種方式構(gòu)造:

//

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

helloworld/index/index

2.現(xiàn)在我們?cè)赼pp/code/Magease/Helloworld/Controller/Index文件夾下創(chuàng)建的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中,每個(gè)控制器可以有多個(gè)action,但在Magento 2中并非如此。在Magento 2中,每個(gè)action都有自己的類,它執(zhí)行了execute()方法。

創(chuàng)建一個(gè)塊

我們將使用getHelloWorldTxt()方法創(chuàng)建一個(gè)簡(jiǎn)單的塊類,該方法返回“Hello world”字符串。

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

namespace Magease\Helloworld\Block;

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

{

public function getHelloWorldTxt()

{

return 'Hello world!';

}

}

創(chuàng)建布局和模板文件

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

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

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

每個(gè)頁(yè)面都有一個(gè)布局,對(duì)于我們的控制器action,布局句柄是helloworld_index_index。您可以為每個(gè)布局句柄創(chuàng)建布局配置文件

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

2.在app/code/Magease/Helloworld/view/frontend/templates文件夾中創(chuàng)建helloworld.phtml文件并添加以下內(nèi)容:

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

$this變量正在對(duì)block類進(jìn)行重新設(shè)置,執(zhí)行g(shù)etHelloWorldTxt()方法將返回字符串“Hello world!”。

在瀏覽器中打開/helloworld/index/indexURL,您會(huì)看到以下內(nèi)容:

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。