Wednesday, 5 September 2012
Magento : Add tabs in custom module in magento admin
/* Here, Created Multiple field for this module form */
A) This is a Form.php files Where you can create your Custom Field's as per Requirement
Path for your File is "app\code\local\[Namespace]\[Module Name]\Block\Adminhtml\[Modele Name]\Edit\Tab\Form.php"
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('beautygirl_form', array('legend'=>Mage::helper('beautygirl')->__('Item information')));
$fieldset->addField('title', 'text', array(
'label' => Mage::helper('beautygirl')->__('Title'),
'class' => 'required-entry',
'required' => true,
'name' => 'title',
));
$fieldset->addField('status', 'select', array(
'label' => Mage::helper('beautygirl')->__('Status'),
'name' => 'status',
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('beautygirl')->__('Enabled'),
),
array(
'value' => 2,
'label' => Mage::helper('beautygirl')->__('Disabled'),
),
),
));
$fieldset->addField('startdate', 'date', array(
'name' => 'startdate',
'title' => Mage::helper('beautygirl')->__('Start Date'),
'label' => Mage::helper('beautygirl')->__('Start Date'),
'image' => Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'/adminhtml/default/default/images/grid-cal.gif',
//'format' => Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT),
//'format' => 'dd-MM-yyyy',
'format' => 'yyyy-MM-dd',
//'format' => Varien_Date::DATE_INTERNAL_FORMAT,
'required' => true,
));
$fieldset->addField('enddate', 'date', array(
'name' => 'enddate',
'title' => Mage::helper('beautygirl')->__('End Date'),
'label' => Mage::helper('beautygirl')->__('End Date'),
'image' => Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'/adminhtml/default/default/images/grid-cal.gif',
//'format' => 'MM-dd-yyyy',
'format' => 'yyyy-MM-dd',
'required' => true,
));
$fieldset->addField('filename', 'file', array(
'label' => Mage::helper('beautygirl')->__('File'),
'required' => true,
'name' => 'filename',
));
$fieldset->addField('girlone', 'text', array(
'label' => Mage::helper('beautygirl')->__('Girl One'),
'class' => 'required-entry',
'required' => true,
'name' => 'girlone',
));
$fieldset->addField('girlonecontent', 'editor', array(
'name' => 'girlonecontent',
'label' => Mage::helper('beautygirl')->__('Content'),
'title' => Mage::helper('beautygirl')->__('Content'),
'style' => 'width:700px; height:500px;',
'wysiwyg' => false,
'required' => true,
));
if ( Mage::getSingleton('adminhtml/session')->getBeautygirlData() )
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getBeautygirlData());
Mage::getSingleton('adminhtml/session')->setBeautygirlData(null);
} elseif ( Mage::registry('beautygirl_data') ) {
$form->setValues(Mage::registry('beautygirl_data')->getData());
}
return parent::_prepareForm();
}
}
B) This is the Second Step ::: app\code\local\[Namespace] \[Module Name]\controller/Adminhtml/yourcontrollerfile.php
/* For save your Module Item open controller file of module */
/* path = controller/Adminhtml/yourcontrollerfile.php*/
/* Here change two functions ""editAction"" and ""SaveAction"" */
In EditAction
/* Here I Use Example for create 2 extra tabs Mean I have Tabs Like this */
/* 1. Form[Default] 2. Form1 3. Form2 */
public function editAction() {
$id = $this->getRequest()->getParam('id');
$model = Mage::getModel('beautygirl/beautygirl')->load($id);
if ($model->getId() || $id == 0) {
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
if (!empty($data)) {
$model->setData($data);
}
$data1 = Mage::getSingleton('adminhtml/session')->getForm1Data(true);
if (!empty($data1)) {
$model->setData($data1);
}
$data2 = Mage::getSingleton('adminhtml/session')->getForm2Data(true);
if (!empty($data2)) {
$model->setData($data2);
}
}
In SaveAction
/* Here I Use Example for create 2 extra tabs Mean I have Tabs Like this */
/* 1. Form[Default] 2. Form1 3. Form2 */
/* In Save Action, We Save Data of Forms Which are created By us */
public function saveAction() {
if ($data = $this->getRequest()->getPost()) {
if(isset($_FILES['filename']['name']) && ($_FILES['filename']['name'] != '') &&
(isset($_FILES['filename1']['name']) && ($_FILES['filename1']['name'] != '')) &&
(isset($_FILES['filename2']['name']) && ($_FILES['filename2']['name'] != ''))) {
try {
/* Starting upload */
/* This is Upload Image of Forms FileUpload Field */
$uploader = new Varien_File_Uploader('filename');
$uploader1 = new Varien_File_Uploader('filename1');
$uploader2 = new Varien_File_Uploader('filename2');
// Any extention would work
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
$uploader->setAllowRenameFiles(false);
// Any extention would work
$uploader1->setAllowedExtensions(array('jpg','jpeg','gif','png'));
$uploader1->setAllowRenameFiles(false);
// Any extention would work
$uploader2->setAllowedExtensions(array('jpg','jpeg','gif','png'));
$uploader2->setAllowRenameFiles(false);
// Set the file upload mode
// false -> get the file directly in the specified folder
// true -> get the file in the product like folders
// (file.jpg will go in something like /media/f/i/file.jpg)
$uploader->setFilesDispersion(false);
$uploader1->setFilesDispersion(false);
$uploader2->setFilesDispersion(false);
// We set media as the upload dir
$path = Mage::getBaseDir('skin') . DS.('frontend').DS.('default').DS.('beautydem').DS.('images').DS.('Beautygirl').DS ;
$uploader->save($path, $_FILES['filename']['name'] );
// We set media as the upload dir
$path1 = Mage::getBaseDir('skin') . DS.('frontend').DS.('default').DS.('beautydem').DS.('images').DS.('Beautygirl').DS ;
$uploader1->save($path1, $_FILES['filename1']['name']);
$path2 = Mage::getBaseDir('skin') . DS.('frontend').DS.('default').DS.('beautydem').DS.('images').DS.('Beautygirl').DS ;
$uploader2->save($path2, $_FILES['filename2']['name']);
}
catch (Exception $e)
{
}
//this way the name is saved in DB
$data['filename'] = $_FILES['filename']['name'];
$data['filename1'] = $_FILES['filename1']['name'];
$data['filename2'] = $_FILES['filename2']['name'];
}
/* If you use multiselection then for insert value as comm seperated in database use below lines */
$data['girloneproductid']=implode(',',$data['girloneproductid']);
$data['girltwoproductid']=implode(',',$data['girltwoproductid']);
$data['girlthreeproductid']=implode(',',$data['girlthreeproductid'])
$model = Mage::getModel('beautygirl/beautygirl');
$model->setData($data)
->setId($this->getRequest()->getParam('id'));
try
{
if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL)
{
$model->setCreatedTime(now())
->setUpdateTime(now());
}
else
{
$model->setUpdateTime(now());
}
$model->save();
Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('beautygirl')->__('Item was successfully saved'));
Mage::getSingleton('adminhtml/session')->setFormData(false);
Mage::getSingleton('adminhtml/session')->setForm1Data(false);
Mage::getSingleton('adminhtml/session')->setForm2Data(false);
$this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
return;
}
}
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('beautygirl')->__('Unable to find item to save'));
$this->_redirect('*/*/');
}
Saturday, 1 September 2012
Magento : Get Category name,Product ID and SKU in Multi-selection field in admin for custom module which created using module creator
For this you can change on this file path
local/yourmodule/block/adminhtml/yourmodulename/edit/tab/form.phtml
you use below functions,
<?php
class Addon_Testing_Block_Adminhtml_Testing_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
// This for get category detail
public function buildCategoriesMultiselectValues(Varien_Data_Tree_Node $node, $values, $level = 0)
{
$level++;
//-----new start for only 3 level category
if($level>3)
{
return $values;
}
//-----new close
$values[$node->getId()]['value'] = $node->getId();
$values[$node->getId()]['label'] = str_repeat("---", $level) . $node->getName();
foreach ($node->getChildren() as $child)
{
$values = $this->buildCategoriesMultiselectValues($child, $values, $level);
print_r($values);
}
return $values;
}
public function load_tree()
{
$tree = Mage::getResourceSingleton('catalog/category_tree')->load();
$store = 1;
$parentId = 1;
$tree = Mage::getResourceSingleton('catalog/category_tree')->load();
$root = $tree->getNodeById($parentId);
if($root && $root->getId() == 1)
{
$root->setName(Mage::helper('catalog')->__('Root'));
}
$collection = Mage::getModel('catalog/category')->getCollection()
->setStoreId($store)
->addAttributeToSelect('name')
->addAttributeToSelect('is_active');
$tree->addCollectionData($collection, true);
return $this->buildCategoriesMultiselectValues($root, array());
}
//This is for product id
function getProductCollection()
{
$model = Mage::getModel('catalog/product'); //getting product model
$collection = $model->getCollection(); //products collection
$count = 0;
foreach ($collection as $product) //loop for getting products
{
$a = $count++;
$values[$a]['value'] = $a;
$values[$a]['label'] = $product->getId();
}
return $values;
}
// This is for Product Sku
function getProductCollectionskus()
{
$model = Mage::getModel('catalog/product'); //getting product model
$collection = $model->getCollection(); //products collection
$count = 0;
foreach ($collection as $product) //loop for getting products
{
$a = $count++;
$values[$a]['value'] = $a;
$values[$a]['label'] = $product->getSku();
}
return $values;
}
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('testing_form', array('legend'=>Mage::helper('testing')->__('Item information')));
$fieldset->addField('title', 'text', array(
'label' => Mage::helper('testing')->__('Title'),
'class' => 'required-entry',
'required' => true,
'name' => 'title',
));
$fieldset->addField('girl', 'text', array(
'label' => Mage::helper('testing')->__('Girl'),
'class' => 'required-entry',
'required' => true,
'name' => 'girl',
));
$fieldset->addField('filename', 'file', array(
'label' => Mage::helper('testing')->__('File'),
'required' => false,
'name' => 'filename',
));
// Here, call above Functions
$pids = $this->getProductCollection();
$skus = $this->getProductCollectionskus();
$categories_values = $this->load_tree();
//echo "<pre>";
//print_r($pids);
//echo "</pre>";
//$categories_values = $this->load_tree();
//echo '<pre>';
//print_r($skus);
//echo "</pre>";
$fieldset->addField('productid', 'multiselect', array(
'name' => 'productid',
'label' => Mage::helper('testing')->__('Select Product ID'),
'required' => true ,
'values' => $pids,
));
$fieldset->addField('productsku', 'multiselect', array(
'name' => 'productsku',
'label' => Mage::helper('testing')->__('Select Product Sku'),
'required' => true ,
'values' => $skus,
));
$fieldset->addField('productsku', 'multiselect', array(
'name' => 'productsku',
'label' => Mage::helper('testing')->__('Select Category'),
'required' => true ,
'values' => $categories_values,
));
$fieldset->addField('content', 'editor', array(
'name' => 'content',
'label' => Mage::helper('testing')->__('Content'),
'title' => Mage::helper('testing')->__('Content'),
'style' => 'width:700px; height:500px;',
'wysiwyg' => false,
'required' => true,
));
$fieldset->addField('status', 'select', array(
'label' => Mage::helper('testing')->__('Status'),
'name' => 'status',
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('testing')->__('Enabled'),
),
array(
'value' => 2,
'label' => Mage::helper('testing')->__('Disabled'),
),
),
));
if ( Mage::getSingleton('adminhtml/session')->getTestingData() )
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getTestingData());
Mage::getSingleton('adminhtml/session')->setTestingData(null);
} elseif ( Mage::registry('testing_data') ) {
$form->setValues(Mage::registry('testing_data')->getData());
}
return parent::_prepareForm();
}
}
local/yourmodule/block/adminhtml/yourmodulename/edit/tab/form.phtml
you use below functions,
<?php
class Addon_Testing_Block_Adminhtml_Testing_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
// This for get category detail
public function buildCategoriesMultiselectValues(Varien_Data_Tree_Node $node, $values, $level = 0)
{
$level++;
//-----new start for only 3 level category
if($level>3)
{
return $values;
}
//-----new close
$values[$node->getId()]['value'] = $node->getId();
$values[$node->getId()]['label'] = str_repeat("---", $level) . $node->getName();
foreach ($node->getChildren() as $child)
{
$values = $this->buildCategoriesMultiselectValues($child, $values, $level);
print_r($values);
}
return $values;
}
public function load_tree()
{
$tree = Mage::getResourceSingleton('catalog/category_tree')->load();
$store = 1;
$parentId = 1;
$tree = Mage::getResourceSingleton('catalog/category_tree')->load();
$root = $tree->getNodeById($parentId);
if($root && $root->getId() == 1)
{
$root->setName(Mage::helper('catalog')->__('Root'));
}
$collection = Mage::getModel('catalog/category')->getCollection()
->setStoreId($store)
->addAttributeToSelect('name')
->addAttributeToSelect('is_active');
$tree->addCollectionData($collection, true);
return $this->buildCategoriesMultiselectValues($root, array());
}
//This is for product id
function getProductCollection()
{
$model = Mage::getModel('catalog/product'); //getting product model
$collection = $model->getCollection(); //products collection
$count = 0;
foreach ($collection as $product) //loop for getting products
{
$a = $count++;
$values[$a]['value'] = $a;
$values[$a]['label'] = $product->getId();
}
return $values;
}
// This is for Product Sku
function getProductCollectionskus()
{
$model = Mage::getModel('catalog/product'); //getting product model
$collection = $model->getCollection(); //products collection
$count = 0;
foreach ($collection as $product) //loop for getting products
{
$a = $count++;
$values[$a]['value'] = $a;
$values[$a]['label'] = $product->getSku();
}
return $values;
}
protected function _prepareForm()
{
$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset('testing_form', array('legend'=>Mage::helper('testing')->__('Item information')));
$fieldset->addField('title', 'text', array(
'label' => Mage::helper('testing')->__('Title'),
'class' => 'required-entry',
'required' => true,
'name' => 'title',
));
$fieldset->addField('girl', 'text', array(
'label' => Mage::helper('testing')->__('Girl'),
'class' => 'required-entry',
'required' => true,
'name' => 'girl',
));
$fieldset->addField('filename', 'file', array(
'label' => Mage::helper('testing')->__('File'),
'required' => false,
'name' => 'filename',
));
// Here, call above Functions
$pids = $this->getProductCollection();
$skus = $this->getProductCollectionskus();
$categories_values = $this->load_tree();
//echo "<pre>";
//print_r($pids);
//echo "</pre>";
//$categories_values = $this->load_tree();
//echo '<pre>';
//print_r($skus);
//echo "</pre>";
$fieldset->addField('productid', 'multiselect', array(
'name' => 'productid',
'label' => Mage::helper('testing')->__('Select Product ID'),
'required' => true ,
'values' => $pids,
));
$fieldset->addField('productsku', 'multiselect', array(
'name' => 'productsku',
'label' => Mage::helper('testing')->__('Select Product Sku'),
'required' => true ,
'values' => $skus,
));
$fieldset->addField('productsku', 'multiselect', array(
'name' => 'productsku',
'label' => Mage::helper('testing')->__('Select Category'),
'required' => true ,
'values' => $categories_values,
));
$fieldset->addField('content', 'editor', array(
'name' => 'content',
'label' => Mage::helper('testing')->__('Content'),
'title' => Mage::helper('testing')->__('Content'),
'style' => 'width:700px; height:500px;',
'wysiwyg' => false,
'required' => true,
));
$fieldset->addField('status', 'select', array(
'label' => Mage::helper('testing')->__('Status'),
'name' => 'status',
'values' => array(
array(
'value' => 1,
'label' => Mage::helper('testing')->__('Enabled'),
),
array(
'value' => 2,
'label' => Mage::helper('testing')->__('Disabled'),
),
),
));
if ( Mage::getSingleton('adminhtml/session')->getTestingData() )
{
$form->setValues(Mage::getSingleton('adminhtml/session')->getTestingData());
Mage::getSingleton('adminhtml/session')->setTestingData(null);
} elseif ( Mage::registry('testing_data') ) {
$form->setValues(Mage::registry('testing_data')->getData());
}
return parent::_prepareForm();
}
}
Thursday, 23 August 2012
Magento : Get order detail on checkout success page
You can get Order Detail using this,
File Location = frontend/base/default/template/checkout/success.phtml
<?php
echo $order = Mage::getModel('sales/order')->load(Mage::getSingleton('checkout/session')->getLastOrderId());
$items = $order->getAllItems();
foreach ($items as $item){
$product = $item->getProduct();
$proids = $item->getProductId();
$name = $item->getName();
$storeId = 1;
echo "<br/>";
}
?>
Reference
http://developerafroz.blogspot.in/2012_01_01_archive.html
http://store.redstage.com/blog/2012/05/31/magento-1-5-fedex-shipping
http://smashingspy.com/32-best-jquery-popup-window-dialog-box-example/
http://xhtmlandcsshelp.blogspot.in/2010_10_01_archive.html
http://spenserbaldwin.com/magento/show-product-review-on-product-page
http://www.desv.us/how-to-use-select-update-delete-and-insert-queries-in-magento.html
http://www.desv.us/category/magento-tutorials/page/3
http://www.imagedia.com/2010/02/how-to-change-order-status-in-magento/
skype = boy-named-sue
//For the Admin Part
http://www.excellencemagentoblog.com/magento-admin-form-field
http://magentools.com/blog/magento-certification-preparation-study-guide-answers/ // Magento Exam
http://store.redstage.com/blog/2012/05/31/magento-1-5-fedex-shipping
http://smashingspy.com/32-best-jquery-popup-window-dialog-box-example/
http://xhtmlandcsshelp.blogspot.in/2010_10_01_archive.html
http://spenserbaldwin.com/magento/show-product-review-on-product-page
http://www.desv.us/how-to-use-select-update-delete-and-insert-queries-in-magento.html
http://www.desv.us/category/magento-tutorials/page/3
http://www.imagedia.com/2010/02/how-to-change-order-status-in-magento/
skype = boy-named-sue
//For the Admin Part
http://www.excellencemagentoblog.com/magento-admin-form-field
http://magentools.com/blog/magento-certification-preparation-study-guide-answers/ // Magento Exam
| http://tim-bezhashvyly.github.io/media/four-ways-to-customize-a-cart-item.pdf |
Tuesday, 21 August 2012
Magento : Enable / Disable magento admin debug mode
Just run this query:
==> INSERT INTO core_config_data (scope, scope_id, path, value)VALUES ('default', 0, 'dev/debug/template_hints', 1),('default', 0, 'dev/debug/template_hints_blocks', 1);
To disable them again, run this query
==> UPDATE core_config_data set value = 0 where scope = 'default' and scope_id = 0 and path ='dev/debug/template_hints'\
To enable again run this query
==> UPDATE core_config_data set value = 1 where scope = 'default' and scope_id = 0 and path ='dev/debug/template_hints'Thursday, 16 August 2012
Magento : After logout redirect on home directly
Put This on Customer/logout.phtml
In script
comment setTimeout(function(){ location.href = '<?php //echo $this->getUrl()?>'}5000);
replace with this
setTimeout(function(){ location.href = '<?php //echo $this->getUrl()
$customerLoginURL = Mage::getBaseUrl();
Mage::app()->getFrontController()->getResponse()->setRedirect
($customerLoginURL)->sendResponse();
?>'},5000);
In script
comment setTimeout(function(){ location.href = '<?php //echo $this->getUrl()?>'}5000);
replace with this
setTimeout(function(){ location.href = '<?php //echo $this->getUrl()
$customerLoginURL = Mage::getBaseUrl();
Mage::app()->getFrontController()->getResponse()->setRedirect
($customerLoginURL)->sendResponse();
?>'},5000);
Subscribe to:
Posts (Atom)

