创建layout布局文件 布局文件的命名规则为:<Router Name>_<Controller Name>_<Action Name>
这里我们的布局文件名称test_hello_world.xml
代码内容如下:
<?xml version="1.0"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd" layout="2columns-right">
<body>
<referenceContainer name="content">
<block class="Silk\Test\Block\Hello" name="hello" template="helloworld.phtml">
</block>
</referenceContainer>
</body>
</page>
这里我们又定义了一个helloworld.phtml文件,继续来新建这个模板文件。 创建模板文件
helloworld.phtml代码内容如下: <h2>HelloWorld</h2> <p>Congratulations ! You have created your first Magento Module !</p> <p>The block classname is : <?php echo get_class($block) ?></p>
现在重新刷新我们的网页URL:local.magento2.com/test/hello/world 创建Model模型
-Model
|--Job.php
|--ResourceModel
|--Job.php
|--Job
|--Collection.php
接着我们依次来创建这几个文件
代码内容如下:
<?php
namespace Silk\Test\Model;
use \Magento\Framework\Model\AbstractModel;
class Job extends AbstractModel
{
const JOB_ID = 'entity_id'; // We define the id fieldname
/**
* Prefix of model events names
*
* @var string
*/
protected $_eventPrefix = 'test';
/**
* Name of the event object
*
* @var string
*/
protected $_eventObject = 'job';
/**
* Name of object id field
*
* @var string
*/
protected $_idFieldName = self::JOB_ID;
/**
* Initialize resource model
*
* @return void
*/
protected function _construct()
{
$this->_init('Silk\Test\Model\ResourceModel\Job');
}
}
代码内容如下:
<?php
namespace Silk\Test\Model\ResourceModel;
use \Magento\Framework\Model\ResourceModel\Db\AbstractDb;
class Job extends AbstractDb
{
/**
* Initialize resource model
*
* @return void
*/
protected function _construct()
{
// Table Name and Primary Key column
$this->_init('silk_job', 'entity_id');
}
}
代码内容如下:
<?php
namespace Silk\Test\Model\ResourceModel\Job;
use \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
class Collection extends AbstractCollection
{
protected $_idFieldName = \Silk\Test\Model\Job::JOB_ID;
/**
* Define resource model
*
* @return void
*/
protected function _construct()
{
$this->_init('Silk\Test\Model\Job', 'Silk\Test\Model\ResourceModel\Job');
}
}
到此,我们就创建了一个Model模型.接下来,我们来创建脚本文件,即Setup/目录下的文件
创建表结构InstallSchema.php
代码内容如下:
<?php
namespace Silk\Test\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
/**
* @codeCoverageIgnore
*/
class InstallSchema implements InstallSchemaInterface
{
/**
* {@inheritdoc}
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
$table = $installer->getConnection()->newTable(
$installer->getTable('silk_test')
)->addColumn(
'e_id',
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
null,
array('identity' => true, 'nullable' => false, 'primary' => true),
'Employee ID'
)->addColumn(
'e_name',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
array('nullable' => false),
'Employee Name'
)->addColumn(
'e_address',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
'2M',
array('nullable' => false),
'Employee Address'
)->addColumn(
'is_active',
\Magento\Framework\DB\Ddl\Table::TYPE_SMALLINT,
null,
array(),
'Active Status'
)->addColumn(
'created_at',
\Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
null,
array(),
'Creation Time'
)->addColumn(
'update_time',
\Magento\Framework\DB\Ddl\Table::TYPE_TIMESTAMP,
null,
array(),
'Modification Time'
)->setComment(
'Employee Table'
);
$installer->getConnection()->createTable($table);
$installer->endSetup();
}
}
(责任编辑:好模板) |


ecshop仿寺库中国奢侈品网
人气:923
ecshop紫色化妆品模板
人气:664
ecshop仿米奇化妆品商城程
人气:1349
Ecmall仿亚马逊英文外贸多
人气:1755
ecshop抽奖插件免费送出
人气:5881
一号店模板|ecshop综合模板
人气:514