3 i created custom module how can I insert data from my form to database
app/code/kamar/slider/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="kamar_slider" setup_version="1.0.0">
</module>
</config>
app/code/kamar/slider/registration.php
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'kamar_slider',
__DIR__
);
app/code/kamar/slider/Setup/InstallSchema.php
<?php
namespace kamar\slider\Setup;
use Magento\Framework\Setup\InstallSchemaInterface;
use Magento\Framework\Setup\ModuleContextInterface;
use Magento\Framework\Setup\SchemaSetupInterface;
class InstallSchema implements InstallSchemaInterface
{
/**
* Function install
* @param SchemaSetupInterface $setup
* @param ModuleContextInterface $context
* @return void
*/
public function install(SchemaSetupInterface $setup, ModuleContextInterface $context)
{
$installer = $setup;
$installer->startSetup();
//START table setup
$table = $installer->getConnection()->newTable(
$installer->getTable('kavinga')
)
->addColumn(
'kid',
\Magento\Framework\DB\Ddl\Table::TYPE_INTEGER,
null,
['identity' => true, 'nullable' => false, 'primary' => true, 'unsigned' => true,],
'Entity ID'
)->addColumn(
'title',
\Magento\Framework\DB\Ddl\Table::TYPE_TEXT,
255,
['nullable' => false,],
'Demo Title'
);
$installer->getConnection()->createTable($table);
// //END table setup
}
}
app/code/kamar/slider/etc/adminhtml/menu.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
<menu>
<add
id="kamar_slider::menu"
title="hassan kamar slider new module"
module="kamar_slider"
sortOrder="11"
resource="Magento_Backend::content"
/>
<add
id="kamar_slider::addimage"
title="add slider "
module="kamar_slider"
sortOrder="10"
parent="kamar_slider::menu"
action="slider/slider/index"
resource="Magento_Backend::content"
/>
</menu>
</config>
app/code/kamar/slider/etc/adminhtml/routes.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="admin">
<route id="slider" frontName="slider">
<module name="kamar_slider"/>
</route>
</router>
</config>
app/code/kamar/slider/Controller/Adminhtml/Slider/Index.php
<?php
namespace kamar\slider\Controller\Adminhtml\Slider;
use Magento\Framework\App\Action\Context;
use Magento\Framework\View\Result\PageFactory;
use Magento\Backend\App\Action;
/**
* Class Index
* @package kamar\slider\Controller\Adminhtml\Slider\Index
*/
class Index extends Action
{
/**
* Index resultPageFactory
* @var PageFactory
*/
protected $resultPageFactory;
protected $_pageFactory;
protected $_slider;
/**
* Index constructor.
* @param Context $context
* @param PageFactory $resultPageFactory
*/
public function __construct(Context $context,
PageFactory $resultPageFactory)
{
$this->resultPageFactory = $resultPageFactory;
return parent::__construct($context);
}
/**
* Function execute
* @return \Magento\Framework\View\Result\Page
*/
public function execute()
{
return $this->resultPageFactory->create();
}
}
app/code/kamar/slider/view/adminhtml/layout/slider_slider_index.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">
<body>
<referenceContainer name="content">
<block class="Magento\Backend\Block\Template"
template="kamar_slider::slider.phtml"/>
</referenceContainer>
</body>
</page>
**app/code/kamar/slider/view/adminhtml/templates/slider.phtml**
<form class="" action="<?php echo $this->getUrl("slider/index/index")?>" id="form1" method="get" enctype='multipart/form-data'>
<fieldset class="fieldset">
<legend class="legend"><span>Test Form For add image </span></legend><br>
<div class="field note no-label">Write here anything you want.</div>
<div class="field title">
<label class="label" for="title"><span>Title</span></label>
<div class="control">
<input name="title" id="title" title="title" value="" class="input-text" type="text">
</div>
<div></div>
</div>
<div class="field content">
<label class="label" for="content"><span>Content</span></label>
</div>
<div class="field image">
<label class="label" for="image"><span>Image</span></label>
<div class="control">
<input name="image" id="image" title="Image" value="" class="input-file" type="file">
</div>
</div-->
</fieldset>
<div class="actions-toolbar">
<div class="primary">
<button type="submit" title="Submit" class="action submit primary" >
<span>Submit</span>
</button>
<div>
<input name="form1" id="form1" type="hidden" value="true" >
</div>
</div>
</div>
</form>
app/code/kamar/slider/Model/slider.php
<?php
namespace kamar\slider\Model;
use \Magento\Framework\Model\AbstractModel;
class slider extends AbstractModel
{
/**
* Initialize resource model
* @return void
*/
public function _construct()
{
$this->_init('kamar\slider\Model\ResourceModel\slider');
}
public function getIdentities()
{
return [self::CACHE_TAG . '_' . $this->getId()];
}
public function getDefaultValues()
{
$values = [];
return $values;
}
}
app/code/kamar/slider/Model/ResourceModel/slider.php
<?php
namespace kamar\slider\Model\ResourceModel;
use \Magento\Framework\Model\ResourceModel\Db\AbstractDb;
class slider extends AbstractDb
{
public function __construct(
\Magento\Framework\Model\ResourceModel\Db\Context $context
)
{
parent::__construct($context);
}
/**
* Initialize resource
*
* @return void
*/
public function _construct()
{
$this->_init('kavinga', 'kid');
}
}
app/code/kamar/slider/Model/ResourceModel/slider/Collection.php
<?php
namespace kamar\slider\Model\ResourceModel\slider;
use \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection;
class Collection extends AbstractCollection
{
/**
* Initialize resource collection
*
* @return void
*/
public function _construct()
{
$this->_init('kamar\slider\Model\slider', 'kamar\slider\Model\ResourceModel\slider');
}
}