Question

So I have removed the "shipping address" from checkout page, and only using billing information. I also want to remove the option of "default shipping address" which is in customers account.

thanks

Was it helpful?

Solution

In the template app/design/frontend/base/default/template/customer/address/edit.phtml you can see at the bottom there are two input items one for default shipping and one for default billing addresses.

<li<?php if($this->canSetAsDefaultShipping()) echo ' class="control"' ?>>
    <?php if($this->isDefaultShipping()): ?>
        <strong><?php echo $this->__('Default Shipping Address') ?></strong>
    <?php elseif($this->canSetAsDefaultShipping()): ?>
        <input type="checkbox" id="primary_shipping" name="default_shipping" value="1" title="<?php echo $this->__('Use as My Default Shipping Address') ?>" class="checkbox" /><label for="primary_shipping"><?php echo $this->__('Use as my default shipping address') ?></label>
    <?php else: ?>
        <input type="hidden" name="default_shipping" value="1" />
    <?php endif; ?>
</li>

What I would suggest is that you have two options.

  1. Override the template used via layout xml and then simply remove this part from your new template.
  2. Override the block so that the function canSetAsDefaultShipping always returns false.

Personally I would choose the template way at the moment as template changes feel easier to me.

If you have a sample layout xml the following snippet should work.

<customer_address_form>
    <reference name="customer_address_edit">
        <action method="setTemplate"><template>your/path/to/template.phtml</template></action>
    </reference>
</customer_address_form>
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange
scroll top