Bem vindo ao brockdev.com, não seja tímido compartilhe suas duvidas e conhecimento. :D

Ocultar preço de produtos de certa categoria

brunowdbrunowd Usuário
editado April 2014 em Blocos Estáticos
Olá ,

meu projeto é esse: http://www.mezzbrin.bravunet.com/magentomezz/index.php/

Tenho uma categoria que se chama Escolas, preciso que os produtos dessa categoria sejam somente sob consulta,que remova o botão comprar e deixe no lugar um Consulte,tentei fazer com esse tuto do Mario Sam http://mariosam.com.br/magento/ocultar-preco/ mas quando o fiz ocultou de todos os produtos eu só tentei no meu template o car_store_parts,não no default,eu fiz umas alterações no meu view.phtml para poder colocar lightbox na página do produto substituindo o botão Comprar por Personalize seu produto,mas não consigo pensar em nada,tipo os produtos de escola são os mesmos das outras categorias,mas tem preço diferenciado por isso quero o Consulte no lugar de Personalize seu produto(no meu caso).

Abraços.

Postei no blog do sam tbm: http://forum.escolamagento.com/index.ph ... categoria/
«1

Comentários

  • Jonatan Machado Moderador Global, Administrador
    Ola brunowd

    Você terá que fazer umas verificações com o php para ver se vai gerar a div do preço ou não, o que você deve verificar primeiro a categoria que vai ser habilitada o recurso.
    http://mariosam.com.br/magento/identificar-categoria/
    apos isso você deve verificar se o usuário esta logado ou nao
    http://mariosam.com.br/magento/preco-usuario-logado/
    ai você pode implantar o tutorial
    http://mariosam.com.br/magento/ocultar-preco/
    Abraço
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • O mario me mandou assim:

    oi brunowd,



    sim... basta fazer exatamente o q vc ja fez.

    mas onde tem o botao "personalize seu produto", vc olha o nome do block onde ele esta inserido.

    e basta atualizar seu XML com um remove block="nome do bloco".



    da mesma forma como vc remove, tb pode adicionar um novo bloco (phtml) q contenha um botao diferente.

    tem varios exemplos no blog para fazer isso.



    sucesso ai.

    O debug já está ativado mas eu não consigo identificar o bloco que carrega o botão Personalize seu Produto
  • Jonatan Machado Moderador Global, Administrador
    Eu lembro que voce nao nao feaz nem um bloco para dicicionar o botao Personalize seu Produto, voce alterou no arquivo phtml mesmo
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • E como eu poderia remove-lo somente da categoria escolas?
  • Jonatan Machado Moderador Global, Administrador
    No caso do jeito que você fez direito no phtml você teria que ocultar o botão com php usando if do jeito que eu falei ali em cima
    http://aprenderphp.com.br/artigo/if-els ... le-no-php/
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Eu fiz assim mas isso acabou apagando toda o main..
    olha: http://www.mezzbrin.bravunet.com/magentomezz/index.php/escolas/caneca-ceramica-escolas-avos.html



                  
    <php if ($categoria == 'Escolas') {



    /* carrega o nome da categoria informando o id da categoria q foi carregado pelo produto */

    echo Mage::getModel('catalog/category')->load($cats[15])->getName();;?>
    }

    <?php endif;?>

    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\"><div id=\"persona\">Personalize seu Produto</div></a>
  • Jonatan Machado Moderador Global, Administrador
    Acho que você ainda não entendeu como funciona o if mais com o tempo você entende melhor
    Fico bem confuso o código que você escreveu, do botão tem que estar dentro do if não o código que verifica o id da categoria
    voce pode criar uma variável $categoria carregando o
    Mage::getModel('catalog/category')->load($cats[15])->getName();;?>

    Depois criar o if
    Abraço
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Na verdade conseguir fazer mas funcionou em parte, acabou excluindo o botão de todas os produtos de todas as categorias..

    <?php $categoria = Mage::getModel('catalog/category')->load($cats[15])->getName();
    if ($categoria == 'Escolas') { ?>
    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\"><div id=\"persona\">Personalize seu Produto</div></a>
    <?php } ?>
  • Jonatan Machado Moderador Global, Administrador
    Você tem que carregar também a categoria que o produto pertence
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();

    Igual no tutorial do Mario Sam
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Oi jonatan alterei e nada :D

    coloquei assim:

              <?php $categoria = Mage::getModel('catalog/category')->load($cats[6])->getName(); $cats = Mage::getModel('catalog/product')->load($_product->getId(6))->getCategoryIds();
    if ($categoria == 'Escolas') { ?>
    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\"><div id=\"persona\">Personalize seu Produto</div></a>
    <?php } ?>




    teria que fazer outro if??
    Abraço.
  • Jonatan Machado Moderador Global, Administrador
    Ele vai fica mais ou menos assim
     <?php 
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[1])->getName();
    if ($categoria == 'Escolas') { ?>
    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\"><div id=\"persona\">Personalize seu Produto</div></a>
    <?php } ?>
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Oi Jonatan,

    o seu código não funcionou... eu alterei :

               
    <?php $categoria = /* carrega todas as categorias a q este produto pertence */
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    /* carrega o nome da categoria informando o id da categoria q foi carregado pelo produto */
    echo Mage::getModel('catalog/category')->load($cats[1])->getName();

    if ($categoria == 'Escolas') { ?>
    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\"><div id=\"persona\">Personalize seu Produto</div></a>
    <?php } ?>



    E:

    - o botão continua ocultado em todas as categorias;
    - ele carrega o nome da categoria logo embaixo da descrição rápida(em todos as categorias);
    - e o mouse(efeitos,hover e ponteiro) sofreu modificações ,muito estranho,de uma olhada..

    categoria aniversários:

    http://www.mezzbrin.bravunet.com/magentomezz/index.php/aniversarios/latinha-mint-to-be-personalizada.html

    categoria escolas:

    http://www.mezzbrin.bravunet.com/magentomezz/index.php/escolas/caneca-ceramica-escolas-avos.html
  • Jonatan Machado Moderador Global, Administrador
    Eu falei que erra mais ou menos assim não que voce tinha que utilizar ele sem fazer alterações.

    Fiz esse que funciona
    <?php 
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[1])->getName();
    if ($categoria == 'Escolas'){
    echo \"\";
    }
    else {
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Personalize seu Produto</div></a>\";
    }
    ?>
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • disse:

    Eu falei que erra mais ou menos assim não que voce tinha que utilizar ele sem fazer alterações.

    Fiz esse que funciona

    <?php 
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[1])->getName();
    if ($categoria == 'Escolas'){
    echo \"\";
    }
    else {
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Personalize seu Produto</div></a>\";
    }
    ?>
    Sim sim Jonatan, não quis te ofender, eu disse que tava "errado" e dei uma alterada :D
  • Jonatan Machado Moderador Global, Administrador
    Não me ofendeu brother pode utilizar esse ultimo código que eu fiz que da certo.
    No echo ""; que não tem conteúdo você pode colocar uma mensagem se quiser, que vai aparecer apenas na categoria Escolas
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Jonatan Machado Moderador Global, Administrador
    Nao precisa alterar nada no codigo!
    O echo ""; vai ser exibido na categoria escola
    E as outras categorias vai aparecer o outro echo que tem o botão
    Voce ta fazendo alteraçao no arquivo view.phtml?
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Sim no view.phtml certo no caminho frontend/default/car_store/template/catalog/product/view.phtml

    Copiei e colei o código só coloquei a msg : "Solicite orçamento pelo email: comercial@mezzbrindes.com.br" dentro do echo vazio.

    <?php 
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[1])->getName();
    if ($categoria == 'Escolas'){
    echo \"Solicite orçamento pelo email: comercial@mezzbrindes.com.br\";
    }
    else {
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Personalize seu Produto</div></a>\";
    }
    ?>


    Mas a página do produto fica em branco só aparece o topo do site :)
  • Jonatan Machado Moderador Global, Administrador
    Deve ter outra coisa errada na sua loja porque eu peguei esse código que voce postou e coloquei em uma loja teste aqui e esta funcionando correta mente, em uma categoria aparece Solicite orçamento pelo email: comercial@mezzbrindes.com.br
    E nas outras aparece o botao, tenta fazer de novo.
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • disse:

    Deve ter outra coisa errada na sua loja porque eu peguei esse código que voce postou e coloquei em uma loja teste aqui e esta funcionando correta mente, em uma categoria aparece Solicite orçamento pelo email: comercial@mezzbrindes.com.br
    E nas outras aparece o botao, tenta fazer de novo.


    Tá vou tentar beleza
  • Jonatan, fiz o backup do view.phtml que alterei, não achei nem um erro finciona normal todo o site...


    <?php
    /**
    * Magento
    *
    * NOTICE OF LICENSE
    *
    * This source file is subject to the Academic Free License (AFL 3.0)
    * that is bundled with this package in the file LICENSE_AFL.txt.
    * It is also available through the world-wide-web at this URL:
    * http://opensource.org/licenses/afl-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 design
    * @package base_default
    * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
    * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
    */

    /**
    * 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\">
    <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-shop\">
    <div class=\"product-name\">
    <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
    </div>

    <?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; ?>

    <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
    <?php echo $this->getChildHtml('alert_urls') ?>
    <?php echo $this->getChildHtml('product_type_data') ?>
    <?php echo $this->getTierPriceHtml() ?>
    <?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 if ($_product->getShortDescription()):?>
    <div class=\"short-description\">
    <h2><?php echo $this->__('Quick Overview') ?></h2>
    <div class=\"std\"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
    </div>
    <?php endif;?>

    <?php



    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\"><div id=\"persona\">Personalize seu Produto</div></a>



    <?php echo $this->getChildHtml('other');?>

    <?php if ($_product->isSaleable() && $this->hasOptions()):?>
    <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
    <?php endif;?>

    </div>

    <div class=\"product-img-box\">
    <?php echo $this->getChildHtml('media') ?>
    </div>

    <div class=\"clearer\"></div>
    <div id=\"light\" class=\"white_content\">
    <?php if ($_product->isSaleable() && $this->hasOptions()):?>
    <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
    <?php endif;?>
    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'\">Close</a></div>
    <div id=\"fade\" class=\"black_overlay\"></div>



    </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('upsell_products') ?>
    <?php echo $this->getChildHtml('product_additional_data') ?>
    </div>
    </div>



    <style type=\"text/css\">
    .black_overlay{
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index:1001;
    -moz-opacity: 0.8;
    opacity:.80;
    filter: alpha(opacity=80);
    }
    .white_content {
    display: none;
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    padding: 16px;
    border: 16px solid orange;
    background-color: white;
    z-index:1002;
    overflow: auto;
    }
    #persona{
    padding: 10px;
    border: 1px solid #2d559f;
    background: #0084e1;
    color: #FFFFFF;
    font: bold 20px Arial, Helvetica, sans-serif;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    width: 232px;
    display: inline-block;
    }
    #persona:hover{
    -webkit-box-shadow: 0px 0px 3px 3px , #808080;
    -moz-box-shadow: 0px 0px 3px 3px , #808080;
    box-shadow: 0px 0px 3px 3px , #808080;
    }
    </style>



    só acrescentei o código que tu me passou.

    <?php
    /**
    * Magento
    *
    * NOTICE OF LICENSE
    *
    * This source file is subject to the Academic Free License (AFL 3.0)
    * that is bundled with this package in the file LICENSE_AFL.txt.
    * It is also available through the world-wide-web at this URL:
    * http://opensource.org/licenses/afl-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 design
    * @package base_default
    * @copyright Copyright (c) 2013 Magento Inc. (http://www.magentocommerce.com)
    * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
    */

    /**
    * 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\">
    <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-shop\">
    <div class=\"product-name\">
    <h1><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></h1>
    </div>

    <?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; ?>

    <?php echo $this->getReviewsSummaryHtml($_product, false, true)?>
    <?php echo $this->getChildHtml('alert_urls') ?>
    <?php echo $this->getChildHtml('product_type_data') ?>
    <?php echo $this->getTierPriceHtml() ?>
    <?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 if ($_product->getShortDescription()):?>
    <div class=\"short-description\">
    <h2><?php echo $this->__('Quick Overview') ?></h2>
    <div class=\"std\"><?php echo $_helper->productAttribute($_product, nl2br($_product->getShortDescription()), 'short_description') ?></div>
    </div>
    <?php endif;?>


    <?php
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[1])->getName();
    if ($categoria == 'Escolas'){
    echo \"Solicite orçamento pelo email: comercial@mezzbrindes.com.br\";
    }
    else {
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Personalize seu Produto</div></a>\";
    }
    ?>






    <?php echo $this->getChildHtml('other');?>

    <?php if ($_product->isSaleable() && $this->hasOptions()):?>
    <?php echo $this->getChildChildHtml('container2', '', true, true) ?>
    <?php endif;?>

    </div>

    <div class=\"product-img-box\">
    <?php echo $this->getChildHtml('media') ?>
    </div>

    <div class=\"clearer\"></div>
    <div id=\"light\" class=\"white_content\">
    <?php if ($_product->isSaleable() && $this->hasOptions()):?>
    <?php echo $this->getChildChildHtml('container1', '', true, true) ?>
    <?php endif;?>
    <a href = \"javascript:void(0)\" onclick = \"document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'\">Close</a></div>
    <div id=\"fade\" class=\"black_overlay\"></div>



    </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('upsell_products') ?>
    <?php echo $this->getChildHtml('product_additional_data') ?>
    </div>
    </div>



    <style type=\"text/css\">
    .black_overlay{
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index:1001;
    -moz-opacity: 0.8;
    opacity:.80;
    filter: alpha(opacity=80);
    }
    .white_content {
    display: none;
    position: absolute;
    top: 25%;
    left: 25%;
    width: 50%;
    height: 50%;
    padding: 16px;
    border: 16px solid orange;
    background-color: white;
    z-index:1002;
    overflow: auto;
    }
    #persona{
    padding: 10px;
    border: 1px solid #2d559f;
    background: #0084e1;
    color: #FFFFFF;
    font: bold 20px Arial, Helvetica, sans-serif;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    width: 232px;
    display: inline-block;
    }
    #persona:hover{
    -webkit-box-shadow: 0px 0px 3px 3px , #808080;
    -moz-box-shadow: 0px 0px 3px 3px , #808080;
    box-shadow: 0px 0px 3px 3px , #808080;
    }
    </style>


    Não achei o erro :(
  • Jonatan , na verdade dei mais uma olhada aqui não sei o que fiz ,mas rolou em partes, ele desabilita o botão das outras categorias ele aparece mas não tem ação..

    o códico alterei load($cats[1]) para load($cats[0])
    ficou assim...

    <?php 
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[0])->getName();
    if ($categoria == 'Escolas'){
    echo \"Solicite um orçamento pelo e-mail comercial@mezzbrindes.com.br\";
    }
    else {
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Personalize seu Produto</div></a>\";
    }
    ?>
  • Jonatan Machado Moderador Global, Administrador
    Copiei seu arquivo inteiro fiz o teste aqui e nao deu nem um erro esta funcionando correctamente.
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Aqui funcionou tbm :lol:


    mas eu alterei só aquele echo slicite orçamento..

    coloquei o mesmo botão mas com o nome diferente,assim

              
    <?php
    $cats = Mage::getModel('catalog/product')->load($_product->getId())->getCategoryIds();
    $categoria = Mage::getModel('catalog/category')->load($cats[0])->getName();
    if ($categoria == 'Escolas'){
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Solicite um Orçamento</div></a>\";
    }
    else {
    echo \"<a href = 'javascript:void(0)' onclick = 'document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block''><div id='persona'>Personalize seu Produto</div></a>\";
    }
    ?>


    Mas os botões continuam sem ação.
    Tinha que fazer uma alteração no caso da escola,para o action do botão solicite um orçamento que abriria o lightbox com as opções personalizadas do produto e após o cliente escolher as opções é disparado um emaill para comercial@mezzbrindes.com.br :D
  • Jonatan Machado Moderador Global, Administrador
    O problema de nao execultar o javascript e porque as aspas estao erradas dentro do php aspas duplas \"
    <a href = \\"javascript:void(0)\\" onclick = \\"document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'\\"><div id=\\"persona\\">Personalize seu Produto</div></a>
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • Funcionou tudinho agora :D :)

    Agora tinha que trocar o nome e a ação do botão de dentro do lightbox.
    Tipo assim:

  • Poderia talvez usar o mesmo código do form de contato?

        <div class=\"buttons-set\">
    <p class=\"required\">* Campos Obrigatórios</p>
    <input type=\"text\" name=\"hideit\" id=\"hideit\" value=\"\" style=\"display:none !important;\">
    <button type=\"submit\" title=\"Enviar\" class=\"button\"><span><span>Enviar</span></span></button>
    </div>
    </form>
    <script type=\"text/javascript\">
    //<![CDATA[
    var contactForm = new VarienForm('contactForm', true);
    //]]>
    </script>
    </div>


    e esse seia o addtocat.phtml que carrega o botão de dentro do lightbox..

    <?php $_product = $this->getProduct(); ?>
    <?php $buttonTitle = $this->__('Personalize seu produto'); ?>
    <?php if($_product->isSaleable()): ?>
    <div class=\"add-to-cart\">
    <?php if(!$_product->isGrouped()): ?>



    <label for=\"qty\"><?php echo $this->__('Qty:') ?></label>
    <input type=\"text\" name=\"qty\" id=\"qty\" maxlength=\"12\" value=\"<?php echo $this->getProductDefaultQty() * 1 ?>\" title=\"<?php echo $this->__('Qty') ?>\" class=\"input-text qty\" />
    <?php endif; ?>




    <button type=\"button\" title=\"<?php echo $buttonTitle ?>\" class=\"button btn-cart\" onclick=\"productAddToCartForm.submit(this)\"><span><span><?php echo $buttonTitle ?></span></span></button>
    <?php echo $this->getChildHtml('', true, true) ?>
    </div>
    <?php endif; ?>



    será que alterando,colocando um if ali tipo o que a gente fez antes?
  • Jonatan Machado Moderador Global, Administrador
    Da pra fazer igual também, ficaria melhor se você colocar um botao com um link que redirecciona para a pagina de contatos.
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • É eu também pensei nisso, falei para os chefes aqui,mas eles não curtiram,eles querem que seja enviado daquele botão do lightbox mesmo com as opções personalizadas :D

    Tava pensando em como fazer veja se a minha lógica tá certa..

    1º: Abro o addtocart.phtml,que carrega o botão dentro do lightbox, e coloco um if só pra alterar o nome do botão para os produtos da categoria escolas.

    2º: Alterar o action desse botão,para que ao invés dele ir para o carrinho ele e dispare um email com todas as "opções personalizadas" para o comercial , tipo com o mesmo action do botão do form de contato.

    Acha que assim tem como ? Ou tem outra ideia ?

    Obrigado.
  • Jonatan Machado Moderador Global, Administrador
    No meu ponto de vistata voce deveria fazer com o link pra a pagina de contatos, mais voce pode fazer isso do memso jeito com IF e ELSE
    Arsenal Web Design.com
    Desenvolvimento de Lojas Virtuais
    Magento | Zend Framework | HTML5 | CSS3 | Blogs
    image
    E-mail: contato@brockdev.com
  • brunowdbrunowd Usuário
    É que ao meu ver, ele pegaria os dados das opções personalizadas,se eu mandar com o formulario de contato o cliente vai ter que digitar novamente, ou faço um form personalizado e coloco u link para ele... :?
Entre ou Registre-se para fazer um comentário.