Habilitar método de envío únicamente en backend | magento 1

En este ejemplo vamos a ver como habilitar cualquier método de envío  únicamente en el backend, esto es útil ya que en ocaciones el control interno de nuestro ecommerce requiere tener habilitados métodos de envío que sean asignados solamente por los administradores.

En el caso del método llamada freeshipping vamos a sobreescribir el archivo:

app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php


app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php

y vamos a agregar el siguiente código:


public function collectRates(Mage_Shipping_Model_Rate_Request $request) { 
  if (!$this->getConfigFlag('active')) {
  		return false;
  } 
  
  if (!Mage::app()->getStore()->isAdmin())) { 
  		return false; 
  } 
}

!Mage::app()->getStore()->isAdmin(). Este pedazo de código es el encargado de realizar la validación, si el método de envío es instanciado, pero no estamos dentro del administrador, no se mostrará.