All posts by Maheshwaran

Https redirection

Step1: Install ssl certificate in server

Step2: Activate the ssl using plugin or code

Step3: Update the .htaccess file

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://site url /$1 [R=301,L]

Example

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.vicarageboutiquehotel.co.uk/$1 [R=301,L]

 

Step4: Implement 301 redirections of images ,files and all pages

Step5: Tested the mixed content  issue

Step6: Tested  the database and files in http static urls change

 

Export all products id in magento

step1 : Edit the code in  location app/code/core/Mage/Catalog/Model/Convert/Parser/Product.php

if (in_array($field, $this->_systemFields) || is_object($value)) {
    continue;
}

to change

if (in_array($field, $this->_systemFields) || is_object($value)) {
     if($field != "entity_id")continue;
 }

Step2: Edit the code in  location

app/code/core/Mage/Adminhtml/Block/System/Convert/Gui/Edit/Tab/Wizard.php

array_splice($attributes, 0, 0, array(''=>$this->__('Choose an attribute')));

to change

$attributes["entity_id"] = "entity_id";
array_splice($attributes, 0, 0, array(''=>$this->__('Choose an attribute')));

Step3:  Magento admin panel 

System > Import/Export >Data profiles create profile and run profile. 

 

Remove duplicate product skus in magento export csv

 

Replace the code in  the location:app\code\local\Mage\Catalog\Model\Convert\Parser\Product.php 

This support only  magento 1.9.2.X

 

<?php
/**
 * Magento
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Open Software License (OSL 3.0)
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://opensource.org/licenses/osl-3.0.php
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@magentocommerce.com so we can send you a copy immediately.
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade Magento to newer
 * versions in the future. If you wish to customize Magento for your
 * needs please refer to http://www.magentocommerce.com for more information.
 *
 * @category    Mage
 * @package     Mage_Catalog
 * @copyright   Copyright (c) 2014 Magento Inc. (http://www.magentocommerce.com)
 * @license     http://opensource.org/licenses/osl-3.0.php  Open Software License (OSL 3.0)
 */
 
 
class Mage_Catalog_Model_Convert_Parser_Product
    extends Mage_Eav_Model_Convert_Parser_Abstract
{
    const MULTI_DELIMITER = ' , ';
    protected $_resource;
 
    /**
     * Product collections per store
     *
     * @var array
     */
    protected $_collections;
 
    /**
     * Product Type Instances object cache
     *
     * @var array
     */
    protected $_productTypeInstances = array();
 
    /**
     * Product Type cache
     *
     * @var array
     */
    protected $_productTypes;
 
    protected $_inventoryFields = array();
 
    protected $_imageFields = array();
 
    protected $_systemFields = array();
    protected $_internalFields = array();
    protected $_externalFields = array();
 
    protected $_inventoryItems = array();
 
    protected $_productModel;
 
    protected $_setInstances = array();
 
    protected $_store;
    protected $_storeId;
    protected $_attributes = array();
 
    public function __construct()
    {
        foreach (Mage::getConfig()->getFieldset('catalog_product_dataflow', 'admin') as $code=>$node) {
            if ($node->is('inventory')) {
                $this->_inventoryFields[] = $code;
                if ($node->is('use_config')) {
                    $this->_inventoryFields[] = 'use_config_'.$code;
                }
            }
            if ($node->is('internal')) {
                $this->_internalFields[] = $code;
            }
            if ($node->is('system')) {
                $this->_systemFields[] = $code;
            }
            if ($node->is('external')) {
                $this->_externalFields[$code] = $code;
            }
            if ($node->is('img')) {
                $this->_imageFields[] = $code;
            }
        }
    }
 
    /**
     * @return Mage_Catalog_Model_Mysql4_Convert
     */
    public function getResource()
    {
        if (!$this->_resource) {
            $this->_resource = Mage::getResourceSingleton('catalog_entity/convert');
                #->loadStores()
                #->loadProducts()
                #->loadAttributeSets()
                #->loadAttributeOptions();
        }
        return $this->_resource;
    }
 
    public function getCollection($storeId)
    {
        if (!isset($this->_collections[$storeId])) {
            $this->_collections[$storeId] = Mage::getResourceModel('catalog/product_collection');
            $this->_collections[$storeId]->getEntity()->setStore($storeId);
        }
        return $this->_collections[$storeId];
    }
 
    /**
     * Retrieve product type options
     *
     * @return array
     */
    public function getProductTypes()
    {
        if (is_null($this->_productTypes)) {
            $this->_productTypes = Mage::getSingleton('catalog/product_type')
                ->getOptionArray();
        }
        return $this->_productTypes;
    }
 
    /**
     * Retrieve Product type name by code
     *
     * @param string $code
     * @return string
     */
    public function getProductTypeName($code)
    {
        $productTypes = $this->getProductTypes();
        if (isset($productTypes[$code])) {
            return $productTypes[$code];
        }
        return false;
    }
 
    /**
     * Retrieve product type code by name
     *
     * @param string $name
     * @return string
     */
    public function getProductTypeId($name)
    {
        $productTypes = $this->getProductTypes();
        if ($code = array_search($name, $productTypes)) {
            return $code;
        }
        return false;
    }
 
    /**
     * Retrieve product model cache
     *
     * @return Mage_Catalog_Model_Product
     */
    public function getProductModel()
    {
        if (is_null($this->_productModel)) {
            $productModel = Mage::getModel('catalog/product');
            $this->_productModel = Mage::objects()->save($productModel);
        }
        return Mage::objects()->load($this->_productModel);
    }
 
    /**
     * Retrieve current store model
     *
     * @return Mage_Core_Model_Store
     */
    public function getStore()
    {
        if (is_null($this->_store)) {
            try {
                $store = Mage::app()->getStore($this->getVar('store'));
            } catch (Exception $e) {
                $this->addException(
                    Mage::helper('catalog')->__('Invalid store specified'),
                    Varien_Convert_Exception::FATAL
                );
                throw $e;
            }
            $this->_store = $store;
        }
        return $this->_store;
    }
 
    /**
     * Retrieve store ID
     *
     * @return int
     */
    public function getStoreId()
    {
        if (is_null($this->_storeId)) {
            $this->_storeId = $this->getStore()->getId();
        }
        return $this->_storeId;
    }
 
    /**
     * ReDefine Product Type Instance to Product
     *
     * @param Mage_Catalog_Model_Product $product
     * @return Mage_Catalog_Model_Convert_Parser_Product
     */
    public function setProductTypeInstance(Mage_Catalog_Model_Product $product)
    {
        $type = $product->getTypeId();
        if (!isset($this->_productTypeInstances[$type])) {
            $this->_productTypeInstances[$type] = Mage::getSingleton('catalog/product_type')
                ->factory($product, true);
        }
        $product->setTypeInstance($this->_productTypeInstances[$type], true);
        return $this;
    }
 
    public function getAttributeSetInstance()
    {
        $productType = $this->getProductModel()->getType();
        $attributeSetId = $this->getProductModel()->getAttributeSetId();
 
        if (!isset($this->_setInstances[$productType][$attributeSetId])) {
            $this->_setInstances[$productType][$attributeSetId] =
                Mage::getSingleton('catalog/product_type')->factory($this->getProductModel());
        }
 
        return $this->_setInstances[$productType][$attributeSetId];
    }
 
    /**
     * Retrieve eav entity attribute model
     *
     * @param string $code
     * @return Mage_Eav_Model_Entity_Attribute
     */
    public function getAttribute($code)
    {
        if (!isset($this->_attributes[$code])) {
            $this->_attributes[$code] = $this->getProductModel()->getResource()->getAttribute($code);
        }
        return $this->_attributes[$code];
    }
 
    /**
     * @deprecated not used anymore
     */
    public function parse()
    {
        $data            = $this->getData();
        $entityTypeId    = Mage::getSingleton('eav/config')->getEntityType(Mage_Catalog_Model_Product::ENTITY)->getId();
        $inventoryFields = array();
 
        foreach ($data as $i=>$row) {
            $this->setPosition('Line: '.($i+1));
            try {
                // validate SKU
                if (empty($row['sku'])) {
                    $this->addException(
                        Mage::helper('catalog')->__('Missing SKU, skipping the record.'),
                        Mage_Dataflow_Model_Convert_Exception::ERROR
                    );
                    continue;
                }
                $this->setPosition('Line: '.($i+1).', SKU: '.$row['sku']);
 
                // try to get entity_id by sku if not set
                if (empty($row['entity_id'])) {
                    $row['entity_id'] = $this->getResource()->getProductIdBySku($row['sku']);
                }
 
                // if attribute_set not set use default
                if (empty($row['attribute_set'])) {
                    $row['attribute_set'] = 'Default';
                }
                // get attribute_set_id, if not throw error
                $row['attribute_set_id'] = $this->getAttributeSetId($entityTypeId, $row['attribute_set']);
                if (!$row['attribute_set_id']) {
                    $this->addException(
                        Mage::helper('catalog')->__('Invalid attribute set specified, skipping the record.'),
                        Mage_Dataflow_Model_Convert_Exception::ERROR
                    );
                    continue;
                }
 
                if (empty($row['type'])) {
                    $row['type'] = 'Simple';
                }
                // get product type_id, if not throw error
                $row['type_id'] = $this->getProductTypeId($row['type']);
                if (!$row['type_id']) {
                    $this->addException(
                        Mage::helper('catalog')->__('Invalid product type specified, skipping the record.'),
                        Mage_Dataflow_Model_Convert_Exception::ERROR
                    );
                    continue;
                }
 
                // get store ids
                $storeIds = $this->getStoreIds(isset($row['store']) ? $row['store'] : $this->getVar('store'));
                if (!$storeIds) {
                    $this->addException(
                        Mage::helper('catalog')->__('Invalid store specified, skipping the record.'),
                        Mage_Dataflow_Model_Convert_Exception::ERROR
                    );
                    continue;
                }
 
                // import data
                $rowError = false;
                foreach ($storeIds as $storeId) {
                    $collection = $this->getCollection($storeId);
                    $entity = $collection->getEntity();
 
                    $model = Mage::getModel('catalog/product');
                    $model->setStoreId($storeId);
                    if (!empty($row['entity_id'])) {
                        $model->load($row['entity_id']);
                    }
                    foreach ($row as $field=>$value) {
                        $attribute = $entity->getAttribute($field);
 
                        if (!$attribute) {
                            //$inventoryFields[$row['sku']][$field] = $value;
 
                            if (in_array($field, $this->_inventoryFields)) {
                                $inventoryFields[$row['sku']][$field] = $value;
                            }
                            continue;
//                            $this->addException(
//                                Mage::helper('catalog')->__('Unknown attribute: %s.', $field),
//                                Mage_Dataflow_Model_Convert_Exception::ERROR
//                            );
                        }
                        if ($attribute->usesSource()) {
                            $source = $attribute->getSource();
                            $optionId = $this->getSourceOptionId($source, $value);
                            if (is_null($optionId)) {
                                $rowError = true;
                                $this->addException(
                                    Mage::helper('catalog')->__('Invalid attribute option specified for attribute %s (%s), skipping the record.', $field, $value),
                                    Mage_Dataflow_Model_Convert_Exception::ERROR
                                );
                                continue;
                            }
                            $value = $optionId;
                        }
                        $model->setData($field, $value);
 
                    }//foreach ($row as $field=>$value)
 
                    //echo 'Before **********************<br/><pre>';
                    //print_r($model->getData());
                    if (!$rowError) {
                        $collection->addItem($model);
                    }
                    unset($model);
                } //foreach ($storeIds as $storeId)
            } catch (Exception $e) {
                if (!$e instanceof Mage_Dataflow_Model_Convert_Exception) {
                    $this->addException(
                        Mage::helper('catalog')->__('Error during retrieval of option value: %s', $e->getMessage()),
                        Mage_Dataflow_Model_Convert_Exception::FATAL
                    );
                }
            }
        }
 
        // set importinted to adaptor
        if (sizeof($inventoryFields) > 0) {
            Mage::register('current_imported_inventory', $inventoryFields);
            //$this->setInventoryItems($inventoryFields);
        } // end setting imported to adaptor
 
        $this->setData($this->_collections);
        return $this;
    }
 
    public function setInventoryItems($items)
    {
        $this->_inventoryItems = $items;
    }
 
    public function getInventoryItems()
    {
        return $this->_inventoryItems;
    }
 
    /**
     * Unparse (prepare data) loaded products
     *
     * @return Mage_Catalog_Model_Convert_Parser_Product
     */
    public function unparse()
    {
        $entityIds = $this->getData();
 
        foreach ($entityIds as $i => $entityId) {
            $product = $this->getProductModel()
                ->setStoreId($this->getStoreId())
                ->load($entityId);
            $this->setProductTypeInstance($product);
            /* @var $product Mage_Catalog_Model_Product */
 
            $position = Mage::helper('catalog')->__('Line %d, SKU: %s', ($i+1), $product->getSku());
            $this->setPosition($position);
 
            $row = array(
                'store'         => $this->getStore()->getCode(),
                'websites'      => '',
                'attribute_set' => $this->getAttributeSetName($product->getEntityTypeId(),
                                        $product->getAttributeSetId()),
                'type'          => $product->getTypeId(),
                'category_ids'  => join(',', $product->getCategoryIds())
            );
 
            if ($this->getStore()->getCode() == Mage_Core_Model_Store::ADMIN_CODE) {
                $websiteCodes = array();
                foreach ($product->getWebsiteIds() as $websiteId) {
                    $websiteCode = Mage::app()->getWebsite($websiteId)->getCode();
                    $websiteCodes[$websiteCode] = $websiteCode;
                }
                $row['websites'] = join(',', $websiteCodes);
            } else {
                $row['websites'] = $this->getStore()->getWebsite()->getCode();
                if ($this->getVar('url_field')) {
                    $row['url'] = $product->getProductUrl(false);
                }
            }
 
            foreach ($product->getData() as $field => $value) {
                if (in_array($field, $this->_systemFields) || is_object($value)) {
                    continue;
                }
 
                $attribute = $this->getAttribute($field);
                if (!$attribute) {
                    continue;
                }
 
                if ($attribute->usesSource()) {
                    $option = $attribute->getSource()->getOptionText($value);
                    if ($value && empty($option) && $option != '0') {
                        $this->addException(
                            Mage::helper('catalog')->__('Invalid option ID specified for %s (%s), skipping the record.', $field, $value),
                            Mage_Dataflow_Model_Convert_Exception::ERROR
                        );
                        continue;
                    }
                    if (is_array($option)) {
                        $value = join(self::MULTI_DELIMITER, $option);
                    } else {
                        $value = $option;
                    }
                    unset($option);
                } elseif (is_array($value)) {
                    continue;
                }
 
                $row[$field] = $value;
            }
 
            if ($stockItem = $product->getStockItem()) {
                foreach ($stockItem->getData() as $field => $value) {
                    if (in_array($field, $this->_systemFields) || is_object($value)) {
                        continue;
                    }
                    $row[$field] = $value;
                }
            }
 
            foreach ($this->_imageFields as $field) {
                if (isset($row[$field]) && $row[$field] == 'no_selection') {
                    $row[$field] = null;
                }
            }
 
            $batchExport = $this->getBatchExportModel()
                ->setId(null)
                ->setBatchId($this->getBatchModel()->getId())
                ->setBatchData($row)
                ->setStatus(1)
                ->save();
            $product->reset();
        }
 
        return $this;
    }
 
    /**
     * Retrieve accessible external product attributes
     *
     * @return array
     */
    public function getExternalAttributes()
    {
        $productAttributes  = Mage::getResourceModel('catalog/product_attribute_collection')->load();
        $attributes         = $this->_externalFields;
 
        foreach ($productAttributes as $attr) {
            $code = $attr->getAttributeCode();
            if (in_array($code, $this->_internalFields) || $attr->getFrontendInput() == 'hidden') {
                continue;
            }
            $attributes[$code] = $code;
        }
 
        foreach ($this->_inventoryFields as $field) {
            $attributes[$field] = $field;
        }
 
        return $attributes;
    }
}

 

Sitemap Test

 

Step1: seo plugin xml sitemaps option  to be in. 
  Step2: xml sitemaps button to click let us saw the url in the bowser tab. incase any error occur follow step3.
 
 Step3: wordpress setting menu in admin bar and here choose permalink just no change on it to just save it. 
 
 Step4 : the url copy the open the google webmaster to login and  choose add property click(https://www.google.com/webmasters).
 
  Step5 : choose website and type the website url
  Step6 : add click and it will show in the page 
 
  Step7: then click  the site url  it  show the dashboard
 
  Step8 : then crawl option click the n the menu show the sitemaps and sitmaps option click add and test sitemaps  option .

 

Google analytics test

Step1 : the open the google analytical to login and  choose add property click(https://analytics.google.com )
 
                Step2: choose website.
 
                Step3: create an account and choose industry,sitename ,site url,name.
 
                Step4: add click and it will show in the page. 
                Step5: in this page also come in another form in google anlaytic  then I accept option click.
 
                Step6: it  show the dashboard and choose admin options.               
                 Step7: choose js tracking info options in the admin options
 
                  Step8: choose tracking code get tracking id  and tracking javascipt
 
                  Step9 : tracking javascript  copy into your site foote.php  replace it.

 

build a spam free contact forms without captcha

 

Here  anitspam  class used for the input url is give the value null

WP-SYNHIGHLIGHT PLUGIN: NOTHING TO HIGHLIGHT! PLEASE READ README.TXT IN PLUGIN FOLDER!
<form action="/submit.php" method="post">

    <p>Your name: <input type="text" name="name" /></p>

    <p>Your email: <input type="text" name="email" /></p>

    <p class="antispam">Leave this empty: <input type="text" name="url" /></p>
    
    <p><input type="submit" value="Send" /></p>

</form>

[/codesyntax ]

WP-SYNHIGHLIGHT PLUGIN: NOTHING TO HIGHLIGHT! PLEASE READ README.TXT IN PLUGIN FOLDER!
.antispam { display:none;}

[/codesyntax ]

here post value url  is checked.

WP-SYNHIGHLIGHT PLUGIN: NOTHING TO HIGHLIGHT! PLEASE READ README.TXT IN PLUGIN FOLDER!
<?php
  if (isset($_POST['url']) && $_POST['url'] == ''){

          mail( 'you@yoursite.com', 'Contact Form',      print_r($_POST,true) ); 
} 

[/codesyntax ]

 

brower full width in ipad and iphone

meta tag used for the iphone and ipad full width

WP-SYNHIGHLIGHT PLUGIN: NOTHING TO HIGHLIGHT! PLEASE READ README.TXT IN PLUGIN FOLDER!
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>

[/codesyntax ]

creating excel file in php

Here $booking_pop  is an sql result array passed through booking_export_excel function  

 $booking_pop = $wpdb->get_results('SELECT sku_code as SKUCODE ,barcode AS Barcode ,asinno as ASINNO FROM amazon_product_info where status=1');
 if(count($booking_pop)>0){
 $filename = "amzon_export.xls"; 
 header("Content-Disposition: attachment; filename=\"$filename\""); 
 header("Content-Type: application/vnd.ms-excel"); 
  booking_export_excel_gen($booking_pop); 
 }
 
function booking_export_excel_gen($booking_det) {
 $val_array = json_decode(json_encode($booking_det), true);
 $heading = false;
 if(!empty($val_array))
 foreach($val_array as $row) {
 
 if($row['ASINNO']!=''){
 
 if(!$heading) {
 echo implode("\t", array_keys($row)) . "\n";
 $heading = true;
 }
 echo implode("\t", array_values($row)) . "\n";
 }
 } 
 }