0

I need to display delivery information on PDP page (app\design\frontend\default\theme\template\catalog\product)

If SKU 66 the product delivery information is 5 To 15 Business Days For other product the delivery information is 15 To 30 Business Days

My condition:

    <?php 
        $_sku = '66';

        if($_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$_sku))
        : ?>

            <b><?php echo $this->__('5 To 15 Business Days') ?></b>

            <?php else : ?>

            <b><?php echo $this->__('15 To 30 Business Days') ?></b>

            <?php endif; ?>

Full Code:

/**
 * Product view template
 *
 * @see Mage_Catalog_Block_Product_View
 * @see Mage_Review_Block_Product_View
 */
?>
<?php $_helper = $this->helper('catalog/output'); ?>
<?php $_product = $this->getProduct(); ?>
<script type="text/javascript">
    var optionsPrice = new Product.OptionsPrice(<?php echo $this->getJsonConfig() ?>);
</script>
<div id="messages_product_view"><?php echo $this->getMessagesBlock()->getGroupedHtml() ?></div>
<div class="product-view" itemscope itemtype="http://schema.org/Product">
    <div class="product-essential">
    <form action="<?php echo $this->getSubmitUrl($_product) ?>" method="post" id="product_addtocart_form"<?php if($_product->getOptions()): ?> enctype="multipart/form-data"<?php endif; ?>>
        <?php echo $this->getBlockHtml('formkey') ?>
        <div class="no-display">
            <input type="hidden" name="product" value="<?php echo $_product->getId() ?>" />
            <input type="hidden" name="related_product" id="related-products-field" value="" />
        </div>
        <div class="product-img-box">
            <?php echo $this->getChildHtml('media') ?>
        </div>
        <div class="product-shop">
            <div class="product-name">
                <h1 itemprop="name"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
            </div>

             <?php  
             // $collection = Mage::getModel('shippingrestriction/shippingzip')->getCollection();


            ?>

            <?php if ($this->displayProductStockStatus()): ?>
                <?php if ($_product->isAvailable()): ?>
                    <p class="availability in-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('In stock') ?></span></p>
                <?php else: ?>
                    <p class="availability out-of-stock"><?php echo $this->__('Availability:') ?> <span><?php echo $this->__('Out of stock') ?></span></p>
                <?php endif; ?>
            <?php endif; ?> 


            <?php 
                $_sku = '66';

                if($_product = Mage::getModel('catalog/product')->loadByAttribute('sku',$_sku))
                {  ?>

                    <b><?php echo $this->__('5 To 15 Business Days') ?></b>

                    <?php else : ?>

                    <b><?php echo $this->__('15 To 30 Business Days') ?></b>

                    <?php endif; ?>

                <?php } ?>




            <?php echo $this->getChildHtml('product_type_data') ?>
            <?php echo $this->getTierPriceHtml() ?>
            <div class="clear"></div>
            <?php if ($_product->getShortDescription()):?>
                <div class="short-description">
                    <h2><?php echo $this->__('Quick Overview') ?></h2>
                    <div class="std" itemprop="description"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
                </div>
            <?php endif;?>
            <div class="clear"></div>
            <?php echo $this->getChildHtml('extrahint') ?>

            <?php if (!$this->hasOptions()):?>
                <div class="add-to-box">
                    <?php if($_product->isSaleable()): ?>
                        <?php echo $this->getChildHtml('addtocart') ?>
                        <?php if( $this->helper('wishlist')->isAllow() || $_compareUrl=$this->helper('catalog/product_compare')->getAddUrl($_product)): ?>
                            <span class="or"><?php echo $this->__('OR') ?></span>
                        <?php endif; ?>
                    <?php endif; ?>
                    <?php echo $this->getChildHtml('addto') ?>
                </div>
                <?php echo $this->getChildHtml('extra_buttons') ?>
            <?php elseif (!$_product->isSaleable()): ?>
                <div class="add-to-box">
                    <?php echo $this->getChildHtml('addto') ?>
                </div>
            <?php endif; ?>

            <?php echo $this->getChildHtml('other');?>
            <?php if ($_product->isSaleable() && $this->hasOptions()):?>
                <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
            <?php endif;?>
            <div class="row-product">
                <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>

                <?php if ($this->canEmailToFriend()): ?>
                    <p class="email-friend"><a href="<?php echo $this->helper('catalog/product')->getEmailToFriendUrl($_product) ?>"><?php echo $this->__('Email to a Friend') ?></a></p>
                <?php endif; ?>
            </div>
            <?php echo $this->getChildHtml('alert_urls') ?>

        </div>
        <div class="clearer"></div>
        <?php if ($_product->isSaleable() && $this->hasOptions()):?>
            <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
        <?php endif;?>
    </form>
    <script type="text/javascript">
    //<![CDATA[
        var productAddToCartForm = new VarienForm('product_addtocart_form');
        productAddToCartForm.submit = function(button, url) {
            if (this.validator.validate()) {
                var form = this.form;
                var oldUrl = form.action;

                if (url) {
                   form.action = url;
                }
                var e = null;
                try {
                    this.form.submit();
                } catch (e) {
                }
                this.form.action = oldUrl;
                if (e) {
                    throw e;
                }

                if (button && button != 'undefined') {
                    button.disabled = true;
                }
            }
        }.bind(productAddToCartForm);

        productAddToCartForm.submitLight = function(button, url){
            if(this.validator) {
                var nv = Validation.methods;
                delete Validation.methods['required-entry'];
                delete Validation.methods['validate-one-required'];
                delete Validation.methods['validate-one-required-by-name'];
                // Remove custom datetime validators
                for (var methodName in Validation.methods) {
                    if (methodName.match(/^validate-datetime-.*/i)) {
                        delete Validation.methods[methodName];
                    }
                }

                if (this.validator.validate()) {
                    if (url) {
                        this.form.action = url;
                    }
                    this.form.submit();
                }
                Object.extend(Validation.methods, nv);
            }
        }.bind(productAddToCartForm);
    //]]>
    </script>
    </div>

    <div class="product-collateral">
        <?php foreach ($this->getChildGroup('detailed_info', 'getChildHtml') as $alias => $html):?>
                <div class="box-collateral <?php echo "box-{$alias}"?>">
                    <?php if ($title = $this->getChildData($alias, 'title')):?>
                    <h2><?php echo $this->escapeHtml($title); ?></h2>
                    <?php endif;?>
                    <?php echo $html; ?>
                </div>
        <?php endforeach;?>

        <?php echo $this->getChildHtml('product_additional_data') ?>
        <?php $attStuff= $_product->getData(); ?>
        <?php if( !empty( $attStuff['videoid'] ) ): ?>        
            <div class="video-box box-collateral">
                <h2><?php echo $this->__('Video') ?></h2>  
                <div class="box-collateral-content">
                    <div class="video">
                         <iframe src="<?php echo $attStuff['videoid']; ?>?wmode=opaque" frameborder="0" allowfullscreen></iframe>     
                   </div>
                </div>
              </div>
        <?php endif; ?>
    </div>
</div>
<?php echo $this->getChildHtml('upsell_products') ?>

How to modify my script?

1

You need do only a test about giving sky something like this:

/**
 * Product view template
 *
 * @see Mage_Catalog_Block_Product_View
 * @see Mage_Review_Block_Product_View
 */
?>
<?php $_product = $this->getProduct(); ?>
<?php if($_product->getSku() == 66): ?>
    <b><?php echo $this->__('5 To 15 Business Days') ?></b>
<?php else : ?>
    <b><?php echo $this->__('15 To 30 Business Days') ?></b>
<?php endif; ?>
| improve this answer | |
  • May i know what is the difference between " { " and " : " – zus Mar 12 at 9:39
  • Why we need to declare this => <?php $_helper = $this->helper('catalog/output'); ?> Help me thanks. – zus Mar 12 at 9:46
  • 1
    Helper not required you can remove it (for more skus) di this (<?php if( in_array($_product->getSku(), array(66, 22)): ?> ) – Mohamed El Mrabet Mar 12 at 13:43
  • 1
    Yes non problem – Mohamed El Mrabet Mar 18 at 11:50
  • 1
    No its a rewrite – Mohamed El Mrabet Mar 18 at 12:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.