Veja bem,
Estava eu trablahando com uma googlemaps API e o mapa não aparecia de jeito nenhum.
400 linhas de script e nada.
Testei fora do framework Yii o qual uso, e funcionava, dentro do Yii não funcionava.
3 horas depois, descobri que é necessário colocar esta linha.
"google.maps.event.addDomListener(window, 'load', initialize);";
Mas que pertubação!
Et c'est tout!
A bientôt.
Mostrando postagens com marcador yii. Mostrar todas as postagens
Mostrando postagens com marcador yii. Mostrar todas as postagens
quinta-feira, 2 de agosto de 2012
domingo, 24 de junho de 2012
Yii - Acessando parâmetros
Veja bem,
crie parâmetros e acesse.
Forma de acesso
Yii::app()->params->[seu parâmetro]
Onde os parâmetros são definidos
config\main.php
'params' => array( // this is used in contact page
'seuparametro' => 'valor do seu parâmetro',
);
And that's it.
crie parâmetros e acesse.
Forma de acesso
Yii::app()->params->[seu parâmetro]
Onde os parâmetros são definidos
config\main.php
'params' => array( // this is used in contact page
'seuparametro' => 'valor do seu parâmetro',
);
And that's it.
Yii - Redirecionamento de páginas.
Veja bem,
este é um exemplo de redirecionamento de páginas:
$url = Yii::app()->createUrl('targetVote/create');
$this->redirect($url);
este é um exemplo de redirecionamento de páginas:
$url = Yii::app()->createUrl('targetVote/create');
$this->redirect($url);
* Utilizei esta construção para redirecionar a primeira tela do site. Como e um site de votação, a primeira tela já vai direto para action create da entidade targetVote.
sábado, 16 de junho de 2012
Cannot modify header information - headers already sent by (output started at /home/indcepco/public_html/home/index.php:2)
Veja bem, esse erro é uma M!!!!!!!!!
Cannot modify header information - headers already sent by (output started at /home/indcepco/public_html/home/index.php:2)
Como resolvi.
Descobri um arquivo php, que tinha um espaço em branco no início.
Ou seja,
antes da cláusula <?php, tinha um enter.
E o tempo que demorei para descobir isso?
Cannot modify header information - headers already sent by (output started at /home/indcepco/public_html/home/index.php:2)
Como resolvi.
Descobri um arquivo php, que tinha um espaço em branco no início.
Ou seja,
antes da cláusula <?php, tinha um enter.
E o tempo que demorei para descobir isso?
quinta-feira, 7 de junho de 2012
Yii - Captcha não funciona
Veja bem,
o captcha do yii está com "pobrema na popriedade".
Assim, não perca seu tempo (como eu) querendo fazer o captcha funcionar. Ao invés disso, useo recaptcha do google.
Para maiores informações acesse
http://www.yiiframework.com/forum/index.php/topic/6508-cwebapplication-xxxxx-not-defined/
That's it.
o captcha do yii está com "pobrema na popriedade".
Assim, não perca seu tempo (como eu) querendo fazer o captcha funcionar. Ao invés disso, useo recaptcha do google.
Para maiores informações acesse
http://www.yiiframework.com/forum/index.php/topic/6508-cwebapplication-xxxxx-not-defined/
That's it.
sábado, 2 de junho de 2012
Yii - Bug que vai derreter seu cérebro - Trying to get property of non-object
Veja bem,
Se você define no MySql um campo como decimal (9,7) o gii do yii gera a seguinte regra
array('latitude, longitude', 'length', 'max'=>9).
Quando você executa o método save do model você receberá este erro
2012/06/03 01:59:58 [error] [php] Trying to get property of non-object (C:\xampp\htdocs\indcep\protected\models\TargetVote.php:182)
Stack trace:
#0 C:\xampp\htdocs\indcep\protected\controllers\TargetVoteController.php(163): TargetVote->save()
#1 C:\xampp\htdocs\yii\framework\web\actions\CInlineAction.php(50): TargetVoteController->actionCreate()
#2 C:\xampp\htdocs\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
#3 C:\xampp\htdocs\yii\framework\web\filters\CFilterChain.php(134): TargetVoteController->runAction()
#4 C:\xampp\htdocs\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
#5 C:\xampp\htdocs\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
#6 C:\xampp\htdocs\yii\framework\web\filters\CInlineFilter.php(59): TargetVoteController->filterAccessControl()
#7 C:\xampp\htdocs\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
#8 C:\xampp\htdocs\yii\framework\web\CController.php(292): CFilterChain->run()
#9 C:\xampp\htdocs\yii\framework\web\CController.php(266): TargetVoteController->runActionWithFilters()
#10 C:\xampp\htdocs\yii\framework\web\CWebApplication.php(276): TargetVoteController->run()
#11 C:\xampp\htdocs\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
#12 C:\xampp\htdocs\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
#13 C:\xampp\htdocs\indcep\index.php(15): CWebApplication->run()
REQUEST_URI=/indcep/index.php?r=targetVote/create
in C:\xampp\htdocs\indcep\protected\models\TargetVote.php (182)
in C:\xampp\htdocs\indcep\protected\controllers\TargetVoteController.php (163)
in C:\xampp\htdocs\indcep\index.php (15)
Se você define no MySql um campo como decimal (9,7) o gii do yii gera a seguinte regra
array('latitude, longitude', 'length', 'max'=>9).
Quando você executa o método save do model você receberá este erro
2012/06/03 01:59:58 [error] [php] Trying to get property of non-object (C:\xampp\htdocs\indcep\protected\models\TargetVote.php:182)
Stack trace:
#0 C:\xampp\htdocs\indcep\protected\controllers\TargetVoteController.php(163): TargetVote->save()
#1 C:\xampp\htdocs\yii\framework\web\actions\CInlineAction.php(50): TargetVoteController->actionCreate()
#2 C:\xampp\htdocs\yii\framework\web\CController.php(309): CInlineAction->runWithParams()
#3 C:\xampp\htdocs\yii\framework\web\filters\CFilterChain.php(134): TargetVoteController->runAction()
#4 C:\xampp\htdocs\yii\framework\web\filters\CFilter.php(41): CFilterChain->run()
#5 C:\xampp\htdocs\yii\framework\web\CController.php(1146): CAccessControlFilter->filter()
#6 C:\xampp\htdocs\yii\framework\web\filters\CInlineFilter.php(59): TargetVoteController->filterAccessControl()
#7 C:\xampp\htdocs\yii\framework\web\filters\CFilterChain.php(131): CInlineFilter->filter()
#8 C:\xampp\htdocs\yii\framework\web\CController.php(292): CFilterChain->run()
#9 C:\xampp\htdocs\yii\framework\web\CController.php(266): TargetVoteController->runActionWithFilters()
#10 C:\xampp\htdocs\yii\framework\web\CWebApplication.php(276): TargetVoteController->run()
#11 C:\xampp\htdocs\yii\framework\web\CWebApplication.php(135): CWebApplication->runController()
#12 C:\xampp\htdocs\yii\framework\base\CApplication.php(162): CWebApplication->processRequest()
#13 C:\xampp\htdocs\indcep\index.php(15): CWebApplication->run()
REQUEST_URI=/indcep/index.php?r=targetVote/create
in C:\xampp\htdocs\indcep\protected\models\TargetVote.php (182)
in C:\xampp\htdocs\indcep\protected\controllers\TargetVoteController.php (163)
in C:\xampp\htdocs\indcep\index.php (15)
decimal (9,7) significa 9 casas decimais no total com 7 casas decimais possíveis a direita.
Ou seja
'max'=>9 faz sentido.
Porém o yii não leva em conta o ponto decimal e o sinal para dizer se é positivo ou negativo.
Ou seja, o correto é
'max'=>11
Ain't that a bitch?
domingo, 27 de maio de 2012
Classe de validação : CValidator
Veja bem,
Se você está que nem eu, desenvolvendo com yii já deve ter chegado a questão das classes de validação. Se não chegou, vai chegar.
No meu caso construí uma classe de validação para CEP.
Primeiro passo:
Na classe Model
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('code',
'required'),
array(
'code','cep'),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array(
'id, code, noise, accessibility, neighborhood, afforestation, violence',
'safe',
'on' => 'search'),
);
}
//Segundo passo criar a classe de validação..........
class cep extends CValidator
{ //início da Classe
public function validateAttribute($object, $attribute)
{
$message = utf8_encode("não é válido ou não existe.");
if (!$this->validaCEP($object->$attribute)) {
$message = $this->message !== null ? $this->message : Yii::t('cep',
'{attribute} ' . $message);
$this->addError($object, $attribute, $message);
}
}
public function clientValidateAttribute($object, $attribute)
{
return "";
}
private function validaCEP($cep)
{
$cep = trim($cep);
if (!is_numeric($cep)) {
return false;
}
if (strlen($cep) != 8) {
return false;
}
$content = $this->get_data("utilitario/lercep.php?cep=$cep");
$content = trim($content);
if (strlen($content) == 0)
{
return false;
}
return true;
}
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
} //fim da Classe
Para mais detalhes acesse este link
http://abelcorreadias.blogspot.com.br/2012/01/criando-um-validator-para-o-campo-cpf.html
PS: utilitario/lercep.php não é um php mágico que acesse o cep de algum site como república virtual ou mesmo o site do correio. Estou acessando minha própria base de CEP. Atenção: a base de CEP do correio é gigantesca.
Se você está que nem eu, desenvolvendo com yii já deve ter chegado a questão das classes de validação. Se não chegou, vai chegar.
No meu caso construí uma classe de validação para CEP.
Primeiro passo:
Na classe Model
public function rules()
{
// NOTE: you should only define rules for those attributes that
// will receive user inputs.
return array(
array('code',
'required'),
array(
'code','cep'),
// The following rule is used by search().
// Please remove those attributes that should not be searched.
array(
'id, code, noise, accessibility, neighborhood, afforestation, violence',
'safe',
'on' => 'search'),
);
}
//Segundo passo criar a classe de validação..........
class cep extends CValidator
{ //início da Classe
public function validateAttribute($object, $attribute)
{
$message = utf8_encode("não é válido ou não existe.");
if (!$this->validaCEP($object->$attribute)) {
$message = $this->message !== null ? $this->message : Yii::t('cep',
'{attribute} ' . $message);
$this->addError($object, $attribute, $message);
}
}
public function clientValidateAttribute($object, $attribute)
{
return "";
}
private function validaCEP($cep)
{
$cep = trim($cep);
if (!is_numeric($cep)) {
return false;
}
if (strlen($cep) != 8) {
return false;
}
$content = $this->get_data("utilitario/lercep.php?cep=$cep");
$content = trim($content);
if (strlen($content) == 0)
{
return false;
}
return true;
}
function get_data($url)
{
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
} //fim da Classe
Para mais detalhes acesse este link
http://abelcorreadias.blogspot.com.br/2012/01/criando-um-validator-para-o-campo-cpf.html
PS: utilitario/lercep.php não é um php mágico que acesse o cep de algum site como república virtual ou mesmo o site do correio. Estou acessando minha própria base de CEP. Atenção: a base de CEP do correio é gigantesca.
Fatal error: Call to undefined function curl_init()
Veja bem,
estava eu trabalhando com o yii (framework php) e tomei este erro
Fatal error: Call to undefined function curl_init()
Obs: Estou usando o XAMPP
Como resolve?
Acesse o arquivo php.ini
xxxxxx\php\php.ini
descomente
;extension=php_curl.dll
tira o ponto e vírcula
extension=php_curl.dll
Reinicia a máquina.
Voilà!
estava eu trabalhando com o yii (framework php) e tomei este erro
Fatal error: Call to undefined function curl_init()
Obs: Estou usando o XAMPP
Como resolve?
Acesse o arquivo php.ini
xxxxxx\php\php.ini
descomente
;extension=php_curl.dll
tira o ponto e vírcula
extension=php_curl.dll
Reinicia a máquina.
Voilà!
domingo, 6 de maio de 2012
yii - Funcionou
Consegui instalar e fazer funcionar o yii.
yii - Problemas na hora de gerar o test drive.
C:\>C:\xampp\htdocs\yii\framework\yiic webapp C:\xampp\htdocs\testdrive
'"php.exe"' is not recognized as an internal or external command,
operable program or batch file.
http://www.yiiframework.com
Solução
Estou utilizando windows como S.O.
Desta forma, basta alterar o framework\yiic.bat
O meu yiic. bat ficou assim
cd c:\xampp\php
@echo off
rem -------------------------------------------------------------
rem Yii command line script for Windows.
rem
rem This is the bootstrap script for running yiic on Windows.
rem
rem @author Qiang Xue <qiang.xue@gmail.com>
rem @link http://www.yiiframework.com/
rem @copyright Copyright © 2008 Yii Software LLC
rem @license http://www.yiiframework.com/license/
rem @version $Id: yiic.bat 2485 2010-09-19 17:07:11Z qiang.xue $
rem -------------------------------------------------------------
@setlocal
set YII_PATH=%~dp0
if "%PHP_COMMAND%" == "" set PHP_COMMAND=php.exe
"%PHP_COMMAND%" "%YII_PATH%yiic" %*
@endlocal
----------------------------------------------------------------------------------------------------
Pequena explicação
cd c:\xampp\php -> é caminho onde está o php
Assinar:
Postagens (Atom)