Exibir primeira imagem na lista de artigos arquivados
- brunodyjorge
-
Autor do Tópico
- Offline
- JCB! Geek
-
Menos
Mais
13 anos 9 meses atrás #61913
por brunodyjorge
brunodyjorge created the topic: Exibir primeira imagem na lista de artigos arquivados
Olá pessoal,
Gostaria de saber como eu consigo exibir a primeira imagem de cada artigo na página de artigos arquivados padrão do Joomla! (index.php?option=com_content&view=archive).
Tenho feito algumas modificações em minha página com o intuito de melhorar a experiência com o visitante e acredito que uma maneira de fazer isto é exibir a primeira imagem do artigo ao lado do texto introdutório.
Pesquisando na internet, consegui achar isto:
http://forum.joomla.org/viewtopic.php?t=271517
Mas meus testes indicaram que a solução apresentada não funciona na página de artigos arquivados, somente na lista de artigos do tipo "Blog de categoria".
Olhando o código da minha página, encontrei o seguinte código que apresenta o texto introdutório.Percebi que o comando "strip_tags" é o responsável por retirar todas as tags html do texto introdutório e exibi-lo sem nenhuma formatação. Assim, a tag <img> também é limpada. Se eu retirá-lo, as imagens dos artigos (que no meu caso estão sempre antes de iniciar o texto) aparecem, porém a formatação do texto também é mantida (uma vez que eu retirei o comando que limpa as tags) e isso é uma coisa que eu não desejo manter. Outra coisa é que todo o layout da página é comprometido, desconfigurado.
Resumindo, gostaria de uma maneira de exibir a primeira imagem de cada artigo, na lista de artigos arquivados do Joomla e limpando as tags do texto introdutório. Pode ser um plugin ou até o código para eu alterar no arquivo php.
Alguém pode me ajudar?
Gostaria de saber como eu consigo exibir a primeira imagem de cada artigo na página de artigos arquivados padrão do Joomla! (index.php?option=com_content&view=archive).
Tenho feito algumas modificações em minha página com o intuito de melhorar a experiência com o visitante e acredito que uma maneira de fazer isto é exibir a primeira imagem do artigo ao lado do texto introdutório.
Pesquisando na internet, consegui achar isto:
http://forum.joomla.org/viewtopic.php?t=271517
Mas meus testes indicaram que a solução apresentada não funciona na página de artigos arquivados, somente na lista de artigos do tipo "Blog de categoria".
Olhando o código da minha página, encontrei o seguinte código que apresenta o texto introdutório.
<?php echo substr(strip_tags($item->introtext), 0, 255); ?>...
Resumindo, gostaria de uma maneira de exibir a primeira imagem de cada artigo, na lista de artigos arquivados do Joomla e limpando as tags do texto introdutório. Pode ser um plugin ou até o código para eu alterar no arquivo php.
Alguém pode me ajudar?
Please Entrar ou Registrar to join the conversation.
- brunodyjorge
-
Autor do Tópico
- Offline
- JCB! Geek
-
13 anos 8 meses atrás #63026
por brunodyjorge
brunodyjorge replied the topic: Re: Exibir primeira imagem na lista de artigos arquivados
Procurei outros módulos que possuem esta função (encontrar a primeira imagem). Analisando o código do módulo "minifrontpage" encontrei uma parte do código que o autor comentou que seria a responsável por encontrar o caminho de uma imagem na tag img.
Como não entendo totalmente o código, vou colocar esta parte aqui para quem puder analisar e me retornar apenas um código que eu possa utilizar para conseguir pegar a primeira imagem de cada artigo.
Como não entendo totalmente o código, vou colocar esta parte aqui para quem puder analisar e me retornar apenas um código que eu possa utilizar para conseguir pegar a primeira imagem de cada artigo.
for ( $r = 0; $r < $rc; $r++) {
if ($thumb_embed && $counter) {
/* Regex tool for finding image path on img tag - thx to Jerson Figueiredo */
preg_match_all("/<img[^>]*>/Ui", $rows[$r]->introtext . $rows[$r]->fulltext, $txtimg);
if (!empty($txtimg[0])) {
foreach ($txtimg[0] as $txtimgel) {
$rows[$r]->introtext = str_replace($txtimgel,"",$rows[$r]->introtext);
if (preg_match_all("#http#",$txtimgel,$txtimelsr,PREG_PATTERN_ORDER) > 0) {
preg_match_all("#src=\"([\-\/\_A-Za-z0-9\.\:]+)\"#",$txtimgel,$txtimgelsr);
if (!empty($rows[$r]->images)) {
$rows[$r]->images = $txtimgelsr[1][0] . "\n" . $rows[$r]->images;
} else {
$rows[$r]->images = $txtimgelsr[1][0];
}
} elseif ( strstr($txtimgel, $image_path) ) {
if (strstr($txtimgel, 'src="/')) {
preg_match_all("#src=\"\/" . addslashes($image_path) . "\/([\:\-\/\_A-Za-z0-9\.]+)\"#",$txtimgel,$txtimgelsr);
} else {
preg_match_all("#src=\"" . addslashes($image_path) . "\/([\:\-\/\_A-Za-z0-9\.]+)\"#",$txtimgel,$txtimgelsr);
}
if (!empty($rows[$r]->images)) {
$rows[$r]->images = $txtimgelsr[1][0] . "\n" . $rows[$r]->images;
} else {
$rows[$r]->images = $txtimgelsr[1][0];
}
}
}
}
} // end of thumbnail processing
$rows[$r]->introtext= preg_replace("/{[^}]*}/","",$rows[$r]->introtext);
Please Entrar ou Registrar to join the conversation.