Php 他写了一本小小说。稍后我可能会有时间讨论与模型/模板相关的主题,但目前我没有时间。不过,我将简要地谈谈您的SQL问题
Magento使用数据库体系结构。尽可能使用系统提供的模型对象来获取所需的信息。我知道这些都在SQL表中,但最好不要考虑使用原始SQL查询获取数据,否则你会发疯的 最后免责声明。我已经使用Magento大约两三周了,所以请注意emptor。这是一个让我头脑清醒的练习,也是一个帮助StackOverflow的练习 创建一个模块 对Magento的所有添加和自定义都是通过模块完成的。因此,您需要做的第一件事是创建一个新模块。在Php 他写了一本小小说。稍后我可能会有时间讨论与模型/模板相关的主题,但目前我没有时间。不过,我将简要地谈谈您的SQL问题,php,magento,controller,magento-1.9,Php,Magento,Controller,Magento 1.9,Magento使用数据库体系结构。尽可能使用系统提供的模型对象来获取所需的信息。我知道这些都在SQL表中,但最好不要考虑使用原始SQL查询获取数据,否则你会发疯的 最后免责声明。我已经使用Magento大约两三周了,所以请注意emptor。这是一个让我头脑清醒的练习,也是一个帮助StackOverflow的练习 创建一个模块 对Magento的所有添加和自定义都是通过模块完成的。因此,您需要做的第一件事是创建一个新模块。在app/modules中创建一个XML文件,命名如下 cd/path/to
app/modules
中创建一个XML文件,命名如下
cd/path/to/store/app
触摸etc/modules/MyCompanyName_HelloWorld.xml
真的
地方的
MyCompanyName是供您修改的唯一名称空间,它不必是您公司的名称,但推荐的约定是my magentoHelloWorld
是模块的名称
清除应用程序缓存
现在模块文件已经就位,我们需要让Magento知道它(并检查我们的工作)。在管理应用程序中
mkdir-p app/code/local/MyCompanyName/HelloWorld/Block
mkdir-p app/code/local/MyCompanyName/HelloWorld/controllers
mkdir-p app/code/local/MyCompanyName/HelloWorld/Model
mkdir-p app/code/local/MyCompanyName/HelloWorld/Helper
mkdir-p app/code/local/MyCompanyName/HelloWorld/etc
mkdir-p app/code/local/MyCompanyName/HelloWorld/sql
并添加一个配置文件
touch app/code/local/MyCompanyName/HelloWorld/etc/config.xml
在配置文件中,添加以下内容,这基本上是一个“空白”配置
0.1.0
过于简单化了,这个配置文件将让您告诉Magento您想要运行的代码
设置路由器
接下来,我们需要设置模块的路由器。这将让系统知道我们正在以
http://example.com/magento/index.php/helloworld
因此,在配置文件中,添加以下部分
标准
MyCompanyName\u HelloWorld
地狱世界
你在这里说的是“任何域名为helloworld的URL
http://example.com/magento/index.php/helloworld
应使用frontName控制器MyCompanyName_HelloWorld”
因此,有了上述配置,当您加载上面的helloworld页面时,您将得到一个404页面。这是因为我们还没有为控制器创建文件。我们现在就开始吧
touch app/code/local/MyCompanyName/HelloWorld/controllers/IndexController.php
现在尝试加载页面。进步!您将得到一个PHP/Magento异常,而不是404
已加载控制器文件,但类不存在
因此,打开我们刚刚创建的文件,并粘贴以下代码。类的名称需要基于您在路由器中提供的名称
我宁愿推荐,这将帮助您生成样板文件,您可以只关注核心业务逻辑。它只是有助于加快事情的发展 Magento模块是一组目录,其中包含创建特定存储功能所需的块、控制器、帮助程序和模型。它是Magento平台中的定制单元。可以创建Magento模块来执行多种功能,并支持逻辑来影响用户体验和店面外观。它有一个生命周期,允许安装、删除或禁用它们。从商家和扩展开发者的角度来看,模块是Magento平台的核心单元
模块声明
我们必须使用配置文件来声明模块。如Magento 2所示,在模块的etc目录中搜索配置模块。现在我们将创建配置文件module.xml
代码如下所示:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Cloudways_Mymodule" setup_version="1.0.0"></module> </config>
?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Cloudways_Mymodule',
__DIR__
);
代码如下所示:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Cloudways_Mymodule" setup_version="1.0.0"></module> </config>
?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Cloudways_Mymodule',
__DIR__
);
检查模块状态
在完成上述步骤之后,我们将创建一个简单的模块。现在,我们将使用以下命令行检查模块的状态以及它是启用还是禁用的:
php bin/magento module:status
php bin/magento module:enable Cloudways_Mymodule
完成整个过程后,请分享您的反馈我试图从magaplaza hello world教程制作模块,但出现了一些问题。我从github导入了这个模块的代码,它工作了。
从这个模块中,我创建了一个类别子类别ajax选择下拉列表模块。在magento2安装的aap/code目录中安装后,请遵循以下URL。。
您可以从此处下载其代码并将其放置在aap/code文件夹中。
然后运行这些命令
php bin/magento setup:update
php bin/magento setup:static-content:deploy -f
php bin/magento c:c