Rá!! Mas isso não é design, e sim o corte dele.

Foi algum infeliz que cortou mal. Aqui na empresa, o infeliz sou sempre eu
:(

Graças a Deus consegui convencer a não recortar para o IE6, só a partir do
7, inclusive.

 

Agora sobre o PARSER, um dúvida minha.

 

Como faria uma coisa desta forma:

//noticia tem os seguintes campos id,titulo, etc...

$data[‘noticia’] = $this->db->query(‘minha_query’)->result_array();

$this->parser->parse(‘noticias_view’, $data);

 

View “noticias_view”:

<ul>

{noticia}

  <li><a href=”{base_url}/noticia/===AQUI EU QUERIA USAR ISSO
url_title({titulo});===”>{titulo}</a></li>

{/noticia}

</ul>

 

Perceberam? Como eu chamo uma function de um helper dentro de um loop usando
o PARSER?

 

De: [email protected]
[mailto:[email protected]] Em nome de Vinicius Cruz
Enviada em: quarta-feira, 21 de julho de 2010 15:33
Para: CodeIgniter Brasil
Assunto: Re: [CodeIgniter] RES: RES: RES: Duvida qto ao uso de base_url

 

Eu também não curto o Parser. Acabo unindo o útil ao agradável :-)

 

Mas, sobre bug em design, experimenta testar teu projeto no IEca 6 e 7...
ehuheuhueheuheuehu


Att,
Vinicius Cruz
http://twitter.com/vinaocruz
http://www.zime.com.br/



Em 21 de julho de 2010 11:23, Rafael V. de Oliveira
<[email protected]> escreveu:

Isto é uma opnião minha. Eu não gosto do Parser.

Acho que acaba por sobrecarregar o processamento, uma vez que o parser vai
converter o código {noticia} em PHP. Então, para mim, mil vezes já deixar o
código PHP lá.

No user_guide também tem alguns dizeres sobre isso:

Note: CodeIgniter does not require you to use this class since using pure
PHP in your view pages lets them run a little faster. However, some
developers prefer to use a template engine if they work with designers who
they feel would find some confusion working with PHP.

Also Note: The Template Parser Class is not a full-blown template parsing
solution. We've kept it very lean on purpose in order to maintain maximum
performance.

 

Não usar o anchor eu também concordo. Visivelmente todos sabem que aquilo é
um link e não um PHP. Designer não gosta de programação e conheço poucos que
se aventuram por este mundo.

Mas acabo por usar o anchor pois acho que digito menos. É pela preguiça
mesmo ;P

 

Quanto ao {naotemnoticia}, bastaria colocar <p>{naotemnoticia}</p> e a
variável {naotemnoticia} vir sempre limpa, só texto mesmo. O HTML ficaria só
no View. O que faz sentido.

Mas como disse acima, não gosto do Parser. Fica de fato mais apresentável,
mas não gosto mesmo assim. Antes que falem alguma coisa, não existe um
teimoso e sim 2, lol!

 

Ultimamente tenho tido sorte de pegar designers que dá para conversar numa
boa. Muitas vezes prefiro fazer com o código PHP misturado, uma vez que no
final, mesmo na manutenção, é o departamento de programação que vai tratar
do bug e não o design.

Alias, nunca vi bug em design :P

 

 

[]’s

 

De: [email protected]
[mailto:[email protected]] Em nome de Vinicius Cruz
Enviada em: quarta-feira, 21 de julho de 2010 14:18
Para: CodeIgniter Brasil
Assunto: Re: [CodeIgniter] RES: RES: Duvida qto ao uso de base_url

 

Um detalhe do exemplo do Roberto, que faz com que eu evite ao máximo colocar
tag html no php (o mínimo que seja), é o fato de facilitar para o designer. 

 

Por exemplo: no último caso, onde ele passa do controller o valor para
{naotemnoticia}, se o designer quiser colocar um class na tag p, teria que
ir até o controller. E isso, pelo menos pra mim, é um risco. Além de ele
dificilmente saber de onde vem esse {naotemnoticia}, ainda corre o risco de
alterar o código =/

 

Por isso uso a primeira opção, evitando até o anchor do Code Igniter:

 

<ul>

<?php foreach ( $noticias->result() as $n ) : ?>

     <li><a href="<?php echo site_url('noticias/abrir/' . $n->id); ?>

"><?php echo $n->titulo; ?></li>

<?php endforeach; ?>

</ul>

 

Facilita até pra o designer saber o que é código php, pela tag <?php,
diferente do parser {} e nem pensar em mexer. Será que é por isso que no
dreanweaver a tag php é vermelho, de sinal de alerta? heehehehehehe

 

 

Att,
Vinicius Cruz
http://twitter.com/vinaocruz
http://www.zime.com.br/

Em 21 de julho de 2010 08:53, Roberto Almeida Quilice Longhi
<[email protected]> escreveu:

Opa,

Então, o problema não é ter o PHP misturado com o HTML, e sim ter o PHP
MUITO misturado com o html.
Vou dar um exemplo:

 

<?php if ( $noticias->num_rows() > 0 ) : ?>

<ul>

<?php foreach ( $noticias->result() as $n ) : ?>

     <li><?php echo anchor(‘noticias/abrir/’.$n->id, $n->titulo,
‘class=”titulo_item”); ?></li>

<?php endforeach; ?>

</ul>

<?php else : ?>

<p>Não há biscoitos</p>

<?php endif; ?>

6 tags php

Eu faria da seguinte forma:

<?php 
    $list = array();
    foreach ( $noticias->result() as $n ) {
        $list[] = anchor(‘noticias/abrir/’.$n->id, $n->titulo,
‘class=”titulo_item”);
    }
        if (count($list) > 0) {
        $result = '<p>Não há biscoitos</p>';
        } else {
        $result = ul($list);
        }
?>

<?php echo $result ?>

2 tags php

Mas não costumo trabalhar dessa forma.
Estou somente adaptando o que você fez, pra abordar o ponto de abrir e
fechar as tags html e php.
Misturar os 2 códigos pra mim além da perda de desempenho, dificulta a
manutenção.
Eu particularmente gosto muito do parser.
E nesse seu html o parser teria uma aparencia bem agradavel e facil de
manter ... 

<ul>
{noticias}
    <li><a href="/noticias/abrir{id}">{titulo}</a></li>
{/noticias}
</ul>
{naotemnoticia}

No controller eu preencho o item naotemnoticia com "<p>Não há biscoitos</p>"
quando não tem dados.
Não sei se é a melhor forma, mas se uso o parser, procuro extrair o máximo
que posso dele.
E no caso anterior, com o uso dos helpers, sigo a mesma abordagem.

Em 20/07/2010 12:16, Rafael V. de Oliveira escreveu: 

Robertom

 

 

É quase impossível não usar por partes.

 

Um caso bem simplório é este

 

Controller : noticias.php

function lista()

{

     $data[‘noticias’] = $this->db->get(‘noticias’);

     $this->load->view(‘noticias_view’, $data);

}

View: noticias_view.php

<?php if ( $noticias->num_rows() > 0 ) : ?>

<ul>

<?php foreach ( $noticias->result() as $n ) : ?>

     <li><?php echo anchor(‘noticias/abrir/’.$n->id, $n->titulo,
‘class=”titulo_item”); ?></li>

<?php endforeach; ?>

</ul>

<?php else : ?>

<p>Não há biscoitos</p>

<?php endif; ?>

 

Pronto, já tenho o PHP misturado com HTML. E acho que não dá pra fugir muito
disso. A não ser que use assim

<?php

echo ‘<ul>’;

foreach ( $noticias->result() as $n )

{

     echo ‘<li>’.anchor(....).’</li>’;

}

echo ‘</ul>’;

 

O que sinceramente eu acho bem pior.

 

Leve ainda em conta que TODOS os arquivos do codeigniter são .php

 

Nosso colega Bruno Barros perguntou do index.php no base_url(). Não há
problema nenhum, uma vez que o base_url() retorna o que estiver dentro da
variável $config[‘index_page’];

Logo, se eu for migrar para um servidor que não tem mod_rewrite basta setar
assim

$config[‘index_page’] = ‘index.php’;

 

Abraços ;P

 

 

 

De: [email protected]
[mailto:[email protected]] Em nome de Roberto Almeida Quilice
Longhi
Enviada em: terça-feira, 20 de julho de 2010 15:36
Para: CodeIgniter Brasil
Assunto: Re: [CodeIgniter] RES: Duvida qto ao uso de base_url

 

Salve Rafael,

Lí em algum lugar falando que o php perde performance se interpretado em
partes, ou seja, se vc tem um arquivo com html / php / html / php / html.
Então eu crio um domínio para os meus apps, sites, etc e deixo tudo o mais
próximo do resultado final possível.
Realmente o caso da subpasta acontece, mas dependendo da hospedagem prefiro
criar um prefixo no dns (app.dominio.com).

;)

Em 20/07/2010 11:10, Rafael V. de Oliveira escreveu: 

Eu também fazia assim ( com o ./) até o dia que tive que migrar um site para
uma subpasta, que não tinha nada em comum com a raiz. É raro, mas aconteceu
comigo.

 

Como os finalmente sempre ficam comigo, eu não me importo em abrir e fechar
código php.

 

 

 

De: [email protected]
[mailto:[email protected]] Em nome de Roberto Almeida Quilice
Longhi
Enviada em: terça-feira, 20 de julho de 2010 14:46
Para: CodeIgniter Brasil
Assunto: Re: [CodeIgniter] Duvida qto ao uso de base_url

 

Começo todos os links com /.
Assim não fico abrindo e fechando código php.

Em 20/07/2010 00:46, Cleyverson Costa escreveu: 

Pessoal,

Eu faço uso do base_url() em todos o s links do meu site, existe algum
problema em relação ao google qto a isso?

por exemplo:

<a href="<?php echo base_url(); ?>controller/function">conteúdo</a>

é igual a 

<a href="controller/function">conteúdo</a>

mas existe alguma diferença em usar um ou outro?? Qual a experiência de vcs?

[]s


-- 
Cleyverson Pereira Costa

 
 
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
  

 

-- 
Roberto Almeida Quilice Longhi
Time Orion
Contmatic
(11) 2942 6700 Ramal 1404
(11) 8599 9022
www.contmatic.com.br
 
 
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
  

 

-- 
Roberto Almeida Quilice Longhi
Time Orion
Contmatic
(11) 2942 6700 Ramal 1404
(11) 8599 9022
www.contmatic.com.br
 
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
  

 

-- 
Roberto Almeida Quilice Longhi
Time Orion
Contmatic
(11) 2942 6700 Ramal 1404
(11) 8599 9022
www.contmatic.com.br


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

 


_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

 

_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a