Iniciante

Pessoal, Bom dia, sou iniciante (2 dias rsrs) com Yii , estava seguindo os tutoriais que estão rolando na internet e estou com três duvidas:

1º - Ao cria meu banco de dados (mysql) ultilizei em umas das tabela um campo "mediumblob" para arquivar imagens porem o yii não criou o form com o "file" para subir o arquivo e armazenar no banco, essa lateração tenho que fazer na mão ou ele faz a magica?

2º - Ao criar a mesma tabela ultilizei um campo timestamp sentando um valor default "CURRENT_TIMESTAMP" porem quando faço um cadastro deixando o campo criado em branco o mesmo me da um erro pois não coloquei esse valor, como torno isso opcional?

3º - Estou perdido em como criar uma pagina de exibição ou uma home, exemplo criei toda a area admnistrativa (CMS) e quero agora pegar alguns dados cadastrados( texto, banners) exibir em uma index fiquei perdido nessa parte.

Abs,

Mauricio

Bom dia Mauricio, tudo bem?

1° - Você tem que criar por conta propria, uma vez que o tipo do atributo no banco é o path da foto, certo?

2° - Você precisa tirar o atributo da lista de atributos obrigatórios no model que você ta usando pra essa tabela. É so procurar "rules" no model, e dentro do array ver se o atributo em questão tá constando como "required". Se sim, retire-o de lá.

3° - Teria que ver a estrutura do seu site. Porém, por padrão…view inicial do windows fica dentro da pasta /views/site/. O arquivo padrão é o index.php. Este é o arquivo que vc deve mudar para ser a home da página.

abraços

Mauricio,

Segue a resposta de suas dúvidas.

1º - Como o Dyego disse precisa ser feito manual, nem sempre o framework sabe quais atributos do banco de dados vai servir para nossa finalidade.

2º - Tira a variavel do array(’…’, ‘required’), se mesmo assim não estiver salvando correto no banco de dados, cria um array(‘data’, ‘safe’) ou se ja tiver esse array só adicionar o campo dentro.

3º - Como você fez seu CMS? Criou módulos? Se criou módulos existe pasta separadas para os controller/models/views para frontend e backend(módulo).

Dyego e Newerton, o obrigado pelas respostas!

Sobre a 3º questão eu criei o "vulgo" CMS (chamo de vulgo pois é um teste que estou fazendo com o FW Yii rsrs) criei ele através da linha de comando ("protected/yiic" shell) como explica no tutorial. Dentro da pasta controllers so tenho os arquivos php nenhuma subpasta com "models/views"; E a index entra como meu backend onde poderia incluir conteudos…

Abs

Mauricio

Mauricio,

Se for se aventurar em administração, faz a criação de módulo ou módulos caso deseja fazer outros backend.

Sobre módulo:

http://www.yiiframework.com/doc/guide/1.1/pt/basics.module

Use o GII para gerar o Module, Model, Controller, View e por ae vai.

http://www.yiiframework.com/doc/guide/1.1/en/topics.gii

Mauricio,

Usualmente as imagens são salvas como arquivos. Este artigo pode ajudá-lo com o procedimento.

Se você preferir salvá-las no banco de dados (o que não é usualmente recomendado), há este artigo, porém eu não posso confirmar se ele funciona.