I just wanted to add data in the database from this page. Wanted to add just two filed in a database table that I created so I want to know how can I add these data in table any reference or code appreciated. Here's my code:
<?php
/**
* @category Mr
* @package Mr_Dukaaniatest
* @author jhondoe17@protonmail.com
* @copyright This file was generated by using Module Creator(http://code.vky.co.in/magento-2-module-creator/) provided by VKY <viky.031290@gmail.com>
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
*/
namespace Mr\Dukaaniatest\Block\Adminhtml\Items\Edit\Tab;
use Magento\Backend\Block\Widget\Form\Generic;
use Magento\Backend\Block\Widget\Tab\TabInterface;
class Main extends Generic implements TabInterface
{
protected $_wysiwygConfig;
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\Registry $registry,
\Magento\Framework\Data\FormFactory $formFactory,
\Magento\Cms\Model\Wysiwyg\Config $wysiwygConfig,
array $data = []
)
{
$this->_wysiwygConfig = $wysiwygConfig;
parent::__construct($context, $registry, $formFactory, $data);
}
/**
* {@inheritdoc}
*/
public function getTabLabel()
{
return __('Item Information');
}
/**
* {@inheritdoc}
*/
public function getTabTitle()
{
return __('Item Information');
}
/**
* {@inheritdoc}
*/
public function canShowTab()
{
return true;
}
/**
* {@inheritdoc}
*/
public function isHidden()
{
return false;
}
/**
* Prepare form before rendering HTML
*
* @return $this
* @SuppressWarnings(PHPMD.NPathComplexity)
* @SuppressWarnings(PHPMD.ExcessiveMethodLength)
*/
protected function _prepareForm()
{
$model = $this->_coreRegistry->registry('current_mr_dukaaniatest_items');
/** @var \Magento\Framework\Data\Form $form */
$form = $this->_formFactory->create();
$form->setHtmlIdPrefix('item_');
$fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Item Information')]);
if ($model->getId()) {
$fieldset->addField('dukaaniatest_id', 'hidden', ['name' => 'dukaaniatest_id']);
}
$fieldset->addField(
'title',
'text',
['name' => 'title', 'label' => __('Vendor 1'), 'title' => __('Vendor 1'), 'required' => true]
);
$fieldset->addField(
'author',
'text',
['name' => 'author', 'label' => __('Vendor 2'), 'title' => __('Vendor 2'), 'required' => true]
);
$form->setValues($model->getData());
$this->setForm($form);
return parent::_prepareForm();
}
}
this is the code of save page (controller)
/home1/dukaania/public_html/testing2/app/code/Mr/Dukaaniatest/Controller/Adminhtml/Items/Save.php
<?php
namespace Mr\Dukaaniatest\Controller\Adminhtml\Items;
class Save extends \Mr\Dukaaniatest\Controller\Adminhtml\Items
{
public function execute()
{
if ($this->getRequest()->getPostValue()) {
try {
$model = $this->_objectManager->create('Mr\Dukaaniatest\Model\Dukaaniatest');
$data = $this->getRequest()->getPostValue();
if(isset($_FILES['image']['name']) && $_FILES['image']['name'] != '') {
try{
$uploaderFactory = $this->uploaderFactory->create(['fileId' => 'image']);
$uploaderFactory->setAllowedExtensions(['jpg', 'jpeg', 'gif', 'png']);
$imageAdapter = $this->adapterFactory->create();
$uploaderFactory->addValidateCallback('custom_image_upload',$imageAdapter,'validateUploadFile');
$uploaderFactory->setAllowRenameFiles(true);
$uploaderFactory->setFilesDispersion(true);
$mediaDirectory = $this->filesystem->getDirectoryRead($this->directoryList::MEDIA);
$destinationPath = $mediaDirectory->getAbsolutePath('mr/dukaaniatest');
$result = $uploaderFactory->save($destinationPath);
if (!$result) {
throw new LocalizedException(
__('File cannot be saved to path: $1', $destinationPath)
);
}
$imagePath = 'mr/dukaaniatest'.$result['file'];
$data['image'] = $imagePath;
} catch (\Exception $e) {
}
}
if(isset($data['image']['delete']) && $data['image']['delete'] == 1) {
$mediaDirectory = $this->filesystem->getDirectoryRead($this->directoryList::MEDIA)->getAbsolutePath();
$file = $data['image']['value'];
$imgPath = $mediaDirectory.$file;
if ($this->_file->isExists($imgPath)) {
$this->_file->deleteFile($imgPath);
}
$data['image'] = NULL;
}
if (isset($data['image']['value'])){
$data['image'] = $data['image']['value'];
}
$inputFilter = new \Zend_Filter_Input(
[],
[],
$data
);
$data = $inputFilter->getUnescaped();
$id = $this->getRequest()->getParam('id');
if ($id) {
$model->load($id);
if ($id != $model->getId()) {
throw new \Magento\Framework\Exception\LocalizedException(__('The wrong item is specified.'));
}
}
$model->setData($data);
$session = $this->_objectManager->get('Magento\Backend\Model\Session');
$session->setPageData($model->getData());
$model->save();
$this->messageManager->addSuccess(__('You saved the item.'));
$session->setPageData(false);
if ($this->getRequest()->getParam('back')) {
$this->_redirect('mr_dukaaniatest/*/edit', ['id' => $model->getId()]);
return;
}
$this->_redirect('mr_dukaaniatest/*/');
return;
} catch (\Magento\Framework\Exception\LocalizedException $e) {
$this->messageManager->addError($e->getMessage());
$id = (int)$this->getRequest()->getParam('id');
if (!empty($id)) {
$this->_redirect('mr_dukaaniatest/*/edit', ['id' => $id]);
} else {
$this->_redirect('mr_dukaaniatest/*/new');
}
return;
} catch (\Exception $e) {
$this->messageManager->addError(
__('Something went wrong while saving the item data. Please review the error log.')
);
$this->_objectManager->get('Psr\Log\LoggerInterface')->critical($e);
$this->_objectManager->get('Magento\Backend\Model\Session')->setPageData($data);
$this->_redirect('mr_dukaaniatest/*/edit', ['id' => $this->getRequest()->getParam('id')]);
return;
}
}
$this->_redirect('mr_dukaaniatest/*/');
}
}