Note that there are some explanatory texts on larger screens.

plurals
  1. POMagento image upload filename doesn't save in database
    primarykey
    data
    text
    <p>I am trying to add an additional image upload field to a gallery extension. The code for the extension controller is below. I've added an extra column to the database called galpic_popup_image with the same values as the existing galpic_image column.</p> <p>I've managed to get the upload working, so images are saved on the server, however it isn't saving the filename in the database and therefore I can't call it on the frontend.</p> <pre><code>class ParadoxLabs_Gallery_Adminhtml_GalleryController extends Mage_Adminhtml_Controller_Action { public function indexAction() { $this-&gt;loadLayout(); $this-&gt;_setActiveMenu('cms/gallery'); $this-&gt;_addBreadcrumb(Mage::helper('adminhtml')-&gt;__('Gallery'), Mage::helper('adminhtml')-&gt;__('Gallery')); $this-&gt;renderLayout(); } public function editAction() { $this-&gt;loadLayout(); $this-&gt;_setActiveMenu('cms/gallery'); $this-&gt;_addBreadcrumb(Mage::helper('adminhtml')-&gt;__('Gallery'), Mage::helper('adminhtml')-&gt;__('Gallery')); $this-&gt;_addContent($this-&gt;getLayout()-&gt;createBlock('gallery/adminhtml_gallery_edit')); $this-&gt;renderLayout(); } public function newAction() { $this-&gt;editAction(); } public function saveAction() { if ( $this-&gt;getRequest()-&gt;getPost() ) { // Image uploading code modified from https://magento2.atlassian.net/wiki/spaces/m1wiki/pages/14024884/How+to+create+an+image+or+video+uploader+for+the+Magento+Admin+Panel if(isset($_FILES['image']['name']) &amp;&amp; (file_exists($_FILES['image']['tmp_name']))) { try{ $uploader = new Varien_File_Uploader('image'); $uploader-&gt;setAllowedExtensions(array('jpg','jpeg','gif','png')); $uploader-&gt;setAllowRenameFiles(false); $uploader-&gt;setFilesDispersion(false); $path = Mage::getBaseDir('media') . DS . 'p_gallery' . DS ; $uploader-&gt;save($path, $_FILES['image']['name']); $data['image'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'p_gallery/'. $_FILES['image']['name']; }catch(Exception $e){} } else { if(isset($data['fileinputname']['delete']) &amp;&amp; $data['fileinputname']['delete'] == 1){ $data['image_main'] = ''; } else{ unset($data['image']); } } if(isset($_FILES['popup_image']['name']) &amp;&amp; (file_exists($_FILES['popup_image']['tmp_name']))) { try{ $uploader = new Varien_File_Uploader('popup_image'); $uploader-&gt;setAllowedExtensions(array('jpg','jpeg','gif','png')); $uploader-&gt;setAllowRenameFiles(false); $uploader-&gt;setFilesDispersion(false); $path = Mage::getBaseDir('media') . DS . 'p_gallery' . DS ; $uploader-&gt;save($path, $_FILES['popup_image']['name']); $popupdata['popup_image'] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'p_gallery/'. $_FILES['popup_image']['name']; }catch(Exception $e){} } else { if(isset($popupdata['fileinputname']['delete']) &amp;&amp; $popupdata['fileinputname']['delete'] == 1){ $popupdata['popup_image_main'] = ''; } else{ unset($popupdata['popup_image']); } } try { if( intval($this-&gt;getRequest()-&gt;getParam('id')) == 0 ) { // New $model = Mage::getModel('gallery/gallery') -&gt;setGalpicId ( $this-&gt;getRequest()-&gt;getParam('id') ) -&gt;setGalpicStore( $this-&gt;getRequest()-&gt;getParam('store') ) -&gt;setGalpicDate ( date('Y-m-d', time()) ) -&gt;setGalpicName ( $this-&gt;getRequest()-&gt;getParam('name') ) -&gt;setGalpicImage( $data['image'] ) -&gt;setGalpicPopupImage( $popupdata['popup_image'] ) -&gt;save(); } else { // Edit $model = Mage::getModel('gallery/gallery') -&gt;setGalpicId ( $this-&gt;getRequest()-&gt;getParam('id') ) -&gt;setGalpicStore( $this-&gt;getRequest()-&gt;getParam('store') ) -&gt;setGalpicName ( $this-&gt;getRequest()-&gt;getParam('name') ) -&gt;setGalpicImage( $data['image'] ) -&gt;setGalpicPopupImage( $popupdata['popup_image'] ) -&gt;save(); } Mage::getSingleton('adminhtml/session')-&gt;addSuccess(Mage::helper('adminhtml')-&gt;__('Galpic was successfully saved')); $this-&gt;_redirect('*/*/'); return; } catch (Exception $e) { Mage::getSingleton('adminhtml/session')-&gt;addError($e-&gt;getMessage()); $this-&gt;_redirect('*/*/edit', array('id' =&gt; $this-&gt;getRequest()-&gt;getParam('id'))); return; } } $this-&gt;_redirect('*/*/'); } public function deleteAction() { if( $this-&gt;getRequest()-&gt;getParam('id') &gt; 0 ) { try { $model = Mage::getModel('gallery/gallery'); $model-&gt;setGalpicId($this-&gt;getRequest()-&gt;getParam('id')) -&gt;delete(); Mage::getSingleton('adminhtml/session')-&gt;addSuccess(Mage::helper('adminhtml')-&gt;__('Galpic was successfully deleted')); $this-&gt;_redirect('*/*/'); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')-&gt;addError($e-&gt;getMessage()); $this-&gt;_redirect('*/*/edit', array('id' =&gt; $this-&gt;getRequest()-&gt;getParam('id'))); } } $this-&gt;_redirect('*/*/'); } protected function _isAllowed() { return Mage::getSingleton('admin/session')-&gt;isAllowed('cms/gallery'); } } </code></pre> <p>And here is the form used to capture the data:</p> <pre><code>class ParadoxLabs_Gallery_Block_Adminhtml_Gallery_Edit_Form extends Mage_Adminhtml_Block_Widget_Form { protected function _prepareLayout() { parent::_prepareLayout(); if (Mage::getSingleton('cms/wysiwyg_config')-&gt;isEnabled()) { $this-&gt;getLayout()-&gt;getBlock('head')-&gt;setCanLoadTinyMce(true); } } protected function _prepareForm() { $form = new Varien_Data_Form(array( 'enctype' =&gt; 'multipart/form-data', 'id' =&gt; 'edit_form', 'action' =&gt; $this-&gt;getUrl('*/*/save', array('id' =&gt; $this-&gt;getRequest()-&gt;getParam('id'))), 'method' =&gt; 'post', )); $fieldset = $form-&gt;addFieldset('gallery_form', array( 'legend' =&gt; Mage::helper('gallery')-&gt;__('Galpic'), 'class' =&gt; 'fieldset-wide' ) ); $fieldset-&gt;addField('galpic_name', 'text', array( 'name' =&gt; 'name', 'label' =&gt; Mage::helper('gallery')-&gt;__('Name'), 'class' =&gt; 'required-entry', 'required' =&gt; true, )); $fieldset-&gt;addField('galpic_image', 'image', array( 'name' =&gt; 'image', 'label' =&gt; Mage::helper('gallery')-&gt;__('Image'), 'class' =&gt; 'required-entry', 'required' =&gt; true, )); $fieldset-&gt;addField('galpic_popup_image', 'image', array( 'name' =&gt; 'popup_image', 'label' =&gt; Mage::helper('gallery')-&gt;__('Popup Image'), 'class' =&gt; 'required-entry', 'required' =&gt; true, )); $fieldset-&gt;addField('galpic_store', 'select', array( 'name' =&gt; 'store', 'label' =&gt; Mage::helper('core')-&gt;__('Store View'), 'title' =&gt; Mage::helper('core')-&gt;__('Store View'), 'required' =&gt; true, 'values' =&gt; Mage::getSingleton('adminhtml/system_store')-&gt;getStoreValuesForForm(false, true), )); if (Mage::registry('gallery')) { $form-&gt;setValues(Mage::registry('gallery')-&gt;getData()); } $form-&gt;setUseContainer(true); $this-&gt;setForm($form); return parent::_prepareForm(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload