Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
personalizacionjoomla [2012/01/19 14:01]
10.12.12.70 creado
personalizacionjoomla [2017/03/27 17:44] (actual)
Línea 1: Línea 1:
-====== ​Personalziación ​de Joomla======+====== ​Personalización ​de Joomla====== 
 + 
 +===== Sustituir el código de provincia por el nombre de provincia en pedidos ​ ===== 
 + 
 +Antes de nada debemos decir que esto no es un bug de Joomla/​virtuemart,​ sino que es la forma en la que funciona. Realmente lo que nos está mostrando es el código de 2 letras del estado.  
 + 
 +En EEUU el código de 2 letras es de la forma (NY, GA, MN, AL, ...), por lo que al mostrar en el pedido ese código se ve correcto. 
 + 
 +Para cambiarlo lo único que hay que hacer es modificar 4 sitios para decirle que nos devuelva el campo state_name en vez del state_2_code. 
 + 
 +En el fichero **components/​com_virtuemart/​themes/​VUESTRA_TEMPLATE/​templates/​checkout/​customer_info.tpl.php** 
 + 
 +Sustituímos la aparición de: 
 + 
 +  $db->​p("​state_2_code"​);​ 
 + 
 +Por: 
 + 
 +  $db->​p("​state_name"​);​ 
 +   
 +En el fichero **components/​com_virtuemart/​themes/​VUESTRA_TEMPLATE/​templates/​pages/​account.order_details.tpl.php** 
 + 
 +Sustituímos el código (aprox. línea 155 y línea 170): 
 +  switch($field->​name) { 
 +    case '​country':​ 
 +    require_once(CLASSPATH.'​ps_country.php'​);​ 
 +    $country = new ps_country();​ 
 +    $dbc = $country->​get_country_by_code($dbst->​f($field->​name));​ 
 +    if( $dbc !== false ) echo $dbc->​f('​country_name'​);​ 
 +    break; 
 +    default:  
 +    echo $dbst->​f($field->​name);​ 
 +    break; 
 +  } 
 + 
 + 
 +Por: 
 + 
 +  switch($field->​name) { 
 +    case '​country':​ 
 +    require_once(CLASSPATH.'​ps_country.php'​);​ 
 +    $country = new ps_country();​ 
 +    $dbc = $country->​get_country_by_code($dbst->​f($field->​name));​ 
 +    if( $dbc !== false ) echo $dbc->​f('​country_name'​);​ 
 +    break; 
 +    case '​state':​ 
 +    $q  = "​SELECT state_name FROM #​__{vm}_state WHERE state_2_code='"​.$dbst->​f("​state"​)."'";​ 
 +  $dbc->​query($q);​ 
 +  $dbc->​next_record();​ 
 +  echo $dbc->​f("​state_name"​);​ 
 +    break; 
 +    default:  
 +    echo $dbst->​f($field->​name);​ 
 +    break; 
 +  } 
 + 
 +En el fichero **administrator/​components/​com_virtuemart/​html/​order.order_printdetails.php** 
 + 
 +Sustituímos el código (aprox. línea 126 y línea 150): 
 +  switch($field->​name) { 
 +    case '​country':​ 
 +    require_once(CLASSPATH.'​ps_country.php'​);​ 
 +    $country = new ps_country();​ 
 +    $dbc = $country->​get_country_by_code($dbbt->​f($field->​name));​ 
 +    if( $dbc !== false ) echo $dbc->​f('​country_name'​);​ 
 +    break; 
 +    default:  
 +    echo $dbbt->​f($field->​name);​ 
 +    break; 
 +  } 
 + 
 + 
 +Por: 
 + 
 +  switch($field->​name) { 
 +    case '​country':​ 
 +    require_once(CLASSPATH.'​ps_country.php'​);​ 
 +    $country = new ps_country();​ 
 +    $dbc = $country->​get_country_by_code($dbst->​f($field->​name));​ 
 +    if( $dbc !== false ) echo $dbc->​f('​country_name'​);​ 
 +    break; 
 +    case '​state':​ 
 +    $q  = "​SELECT state_name FROM #​__{vm}_state WHERE state_2_code='"​.$dbbt->​f("​state"​)."'";​ 
 +  $dbc->​query($q);​ 
 +  $dbc->​next_record();​ 
 +  echo $dbc->​f("​state_name"​);​ 
 +    break; 
 +    default:  
 +    echo $dbbt->​f($field->​name);​ 
 +    break; 
 +  } 
 + 
 + 
 +En el fichero **administrator/​components/​com_virtuemart/​html/​order.order_print.php** 
 + 
 +Sustituímos el código (aprox. línea 267 y línea 297): 
 +  switch($field->​name) { 
 +    case '​country':​ 
 +    require_once(CLASSPATH.'​ps_country.php'​);​ 
 +    $country = new ps_country();​ 
 +    $dbc = $country->​get_country_by_code($dbt->​f($field->​name));​ 
 +    if( $dbc !== false ) echo $dbc->​f('​country_name'​);​ 
 +    break; 
 +    default:  
 +    echo $dbt->​f($field->​name);​ 
 +    break; 
 +  } 
 + 
 + 
 +Por: 
 + 
 +  switch($field->​name) { 
 +    case '​country':​ 
 +    require_once(CLASSPATH.'​ps_country.php'​);​ 
 +    $country = new ps_country();​ 
 +    $dbc = $country->​get_country_by_code($dbst->​f($field->​name));​ 
 +    if( $dbc !== false ) echo $dbc->​f('​country_name'​);​ 
 +    break; 
 +    case '​state':​ 
 +    $q  = "​SELECT state_name FROM #​__{vm}_state WHERE state_2_code='"​.$dbt->​f("​state"​)."'";​ 
 +  $dbc->​query($q);​ 
 +  $dbc->​next_record();​ 
 +  echo $dbc->​f("​state_name"​);​ 
 +    break; 
 +    default:  
 +    echo $dbt->​f($field->​name);​ 
 +    break; 
 +  } 
 + 
 +     
 +   
  
-===== RS Joomla ​ =====