Após peneirar bem as extensões joomla em busca de uma extensão para atender a sites de imobiliárias, encontrei um excelente componente, o Joomla Estate Agency JEA, ele é bem completo e o pouco que falta, pode ser suprido com outros módulos e plugins, vai de acordo com a criatividade de cada um.
Neste momento estou a escrever este post, apenas para explicar como alterar o simbolo da moeda para real ao invés de euro, como vem no componente.
O componente pode ser baixado através deste link: http://joomlacode.org/gf/project/jea/frs/
O pacote de tradução para o português pt_BR neste link: http://joomlacode.org/gf/project/jea/docman/?subdir=678
Gentilmente traduzido por Bruno Musolino
Toda documentação do componente pode ser adquirida em qualquer dos links acima, aproveite e dê uma boa olhada no demo que apresenta a extensão para sites de imobiliária, este componente joomla para imobiliária apresenta funções simples e que podem ser de grande ajuda na hora de desenvolver um projeto. Mas como disse antes ele pode ser associado a outras extensões para ficar mais atrativo.
No entanto após instalado e traduzido, verifiquei que no site apresentava a moeda em Euros, e somente valor inteiro, bem quanto ao tipo de moeda, encontrei uma solução, acesse o seu cpanel e vá em gerenciador de arquivos, depois basta alterar o seguinte arquivo que fica no diretório:
public static function formatPrice($price=0 , $default='')
{
$params = self::getParams();
if (!empty($price)) {
$currency_symbol = $params->get('currency_symbol', '&euro'); ==>substituir por 'R$'
$decimal_separator = $params->get('decimals_separator', ',');
$price = self::formaNumber($price);
_____________________________________
Assim vai ficar a linha depois da alteração:
$currency_symbol = $params->get('currency_symbol', 'R$');
Pronto, desta maneira o valor se apresentará da seguinte forma no seu site, ex: 800 R$ e não 800 €
Se alguém mais se aventurar a melhorar um pouco mais e quiser compartilhar, por favor deixe seu comentário.
Blog de: Vinícius Luna
acho que o código inteiro ficaria assim, pra que haja formatação da milhar e decimal
ResponderExcluirget('currency_symbol', 'R$');
$decimal_separator = $params->get('decimals_separator', ',');
$price = self::formaNumber($price);
// Is currency symbol before or after price ?
if ($params->get('symbol_position', 0)) {
$price = $price .' '. $currency_symbol;
} else {
$price = $currency_symbol .' '. $price;
}
return $price;
} else {
return $default ;
}
}
/**
* Format surface following the component configuration.
* If surface is empty, return a default string value.
*
* @param float|int $price
* @param string $default
* @return unknown
*/
public static function formatSurface($surface=0, $default='')
{
$params = self::getParams();
if (!empty($surface)) {
$surfaceMeasure = $params->get('surface_measure', 'm²');
$surface = self::formaNumber($surface);
return $surface . ' ' . $surfaceMeasure;
} else {
return $default ;
}
}
/**
* Format number following the component configuration.
*
* @param float|int $price
* @return unknown
*/
public static function formaNumber ($number=O)
{
$params = self::getParams();
$number = (float) $number;
$decimal_separator = $params->get('decimals_separator', ',');
$thousands_separator = $params->get('thousands_separator', '. ');
$decimals = (int) $params->get('decimals_number', '2');
return number_format( $number, $decimals, $decimal_separator, $thousands_separator);
}
protected static function getParams()
{
if (self::$_params == null) {
self::$_params = JComponentHelper::getParams('com_jea');
}
return self::$_params;
}
}
Boa noite Edenilson, obrigado pela contribuição!
ResponderExcluirVou testar esta parte do código e funcionando lhe comunicarei.
Aproveito para lhe convidar para ser um colunista do Blog, caso queira, lhe enviarei permissões de postagens.