Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/02/2012, 05:31
nx00
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 17 años, 3 meses
Puntos: 21
Respuesta: Virtuemart - Listado de productos destacados (Backend)

Si con "destacado" te refieres a el campo "especial" sigue estos pasos:

1.- Editar el archivo:
/administrator/components/com_virtuemart/html/product.product_list.php

Añade esto despues de la linea 250
Código PHP:
"Especial" => 'width="10%"'
te debe quedar así:
Código PHP:
// these are the columns in the table
$columns = Array(  '#' => '',
                
"<input type=\"checkbox\" name=\"toggle\" value=\"\" onclick=\"checkAll(".$num_rows.")\" />" => "",
                
$VM_LANG->_('PHPSHOP_PRODUCT_LIST_NAME') => "width=\"30%\"",
                
"Especial" => 'width="10%"',
                
$VM_LANG->_('VM_PRODUCT_LIST_MEDIA') => 'width="5%"',
                
$VM_LANG->_('PHPSHOP_PRODUCT_LIST_SKU') => "width=\"15%\"",
                
$VM_LANG->_('PHPSHOP_PRODUCT_PRICE_TITLE') => "width=\"10%\"",
                
$VM_LANG->_('PHPSHOP_CATEGORY') => "width=\"15%\"" ); 
baja hasta la linea 312 y añade esto a continuación:
Código PHP:
//Especial
        
$link $sess->url$_SERVER['PHP_SELF']. '?page=product.is_special&current='$db->f("product_special") .'&product_id='.$db->f('product_id').'&no_menu=1' );
        
$link defined('_VM_IS_BACKEND')
        ? 
str_replace('index2.php''index3.php'str_replace('index.php''index3.php'$link ))
        : 
str_replace('index.php''index2.php'$link );
        
$text $db->f("product_special");
        
$tmpcell vmPopupLink$link$text800540'_blank''''screenX=100,screenY=100' );
        
$listObj->addCell$tmpcell ); 
Crea este fichero:
/administrator/components/com_virtuemart/html/product.is_special.php

pega este contenido dentro del fichero:
Código PHP:
<?php
if( !defined'_VALID_MOS' ) && !defined'_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName__FILE__ );

$product_id vmRequest::getInt('product_id'0);
$product_special vmRequest::getString('current''N');

if(
$product_special == 'Y') {
    
$product_special 'N';
} else {
    
$product_special 'Y';
}

$query "UPDATE  #__{vm}_product SET  `product_special` =  '$product_special' 
         WHERE  `product_id` = '$product_id' limit 1;"
;


if(
$db->query($query) != false) {
    echo 
"Estadao cambiado";
} else {
    echo 
"Error al cambiar el estado";
}
?>
<br/>
<a href="#" onclick="window.opener.location.reload(); window.close();">Cerrar</a>
Si todo sale bien, en el listado de productos debes ver un campo nuevo llamado "Especial" donde muestre "Y" y "N" en modo enlace. Al hacer clic sobre el se abre una ventana y cambia el estado. Utiliza el botón cerra de esta ventana y el listado de productos se actualizará con el nuevo estado.
__________________
----
http://www.mascodigo.com