Pagina 1 di 2 12 UltimaUltima
Risultati da 1 a 10 di 16

Discussione: Widget articoli recenti con antemprima immagine

  1. #1

    Widget articoli recenti con antemprima immagine

    Tempo fà chiesi come poter inserire un widget in homepage che permettesse di visualizzare gli aricoli recenti o blog ma con un'anteprima dell'immagine contenuta in essi.
    Dopo molte ricerche e dopo averne trovato uno che facesse al caso mio... vorrei ulteriormente modificarlo, di seguito il codice:
    Codice PHP:
    // Set Your Section ID Here
    $section '7,8';
    // Set The Number of Articles To Display
    $limit '3';
    // Set The Height of The Thumbnail Image
    $height '100';
    // Set The Width of The Thumbnail Image
    $width '100';

    $articlegrab vB::$db->query_read("
    SELECT "
    .TABLE_PREFIX."cms_nodeinfo.nodeid
    , "
    .TABLE_PREFIX."cms_nodeinfo.title
    , "
    .TABLE_PREFIX."cms_article.previewimage
    , "
    .TABLE_PREFIX."cms_article.contentid
    , "
    .TABLE_PREFIX."cms_node.nodeid
    , "
    .TABLE_PREFIX."cms_node.parentnode
    , "
    .TABLE_PREFIX."cms_node.contentid
    , "
    .TABLE_PREFIX."cms_node.url
    , "
    .TABLE_PREFIX."cms_node.setpublish
    FROM "
    .TABLE_PREFIX."cms_article
    , "
    .TABLE_PREFIX."cms_nodeinfo
    , "
    .TABLE_PREFIX."cms_node
    WHERE ("
    .TABLE_PREFIX."cms_nodeinfo.nodeid = ".TABLE_PREFIX."cms_node.nodeid)
    AND ("
    .TABLE_PREFIX."cms_article.contentid = ".TABLE_PREFIX."cms_node.contentid)
    AND ("
    .TABLE_PREFIX."cms_node.parentnode IN ($section))
    AND ("
    .TABLE_PREFIX."cms_node.setpublish != 0)
    ORDER BY "
    .TABLE_PREFIX."cms_node.publishdate DESC LIMIT $limit
    "
    );
    $output.="<table>";
    while(
    $articleinfo vB::$db->fetch_array($articlegrab)) {

    $title $articleinfo['title'];
    $image $articleinfo['previewimage'];
    $nodeid $articleinfo['nodeid'];
    $url $articleinfo['url'];
    $fulltext strip_bbcode($fulltext);
    $text preg_replace('/\[ATTACH\=CONFIG\]\d\d\[\/ATTACH\]/'''$text);
    $text strip_bbcode($text);


    if(
    $text == ''$text substr($fulltext0,150);

    if(
    $image != ''$output .= "<tr><td><img src='".$image."' width='".$width."px' align='left' height='75' HSPACE='5' VSPACE='3'/></td>";

    $output .= "<td><b><a href='?".$nodeid."-".$url."' align='top'>".$title."</a><p>".$text." </b></p><br/></td></tr>";
    }
    $output.="</table>"
    Il risultato come potete vedere dall'immagine è questo:

    Clicca l'immagine per ingrandirla. 

Nome: widget.jpg 
Visualizzazioni: 6 
Dimensione: 31.2 KB 
ID: 1334

    Purtroppo sono piuttosto puntiglioso e cercavo qualcuno in grado di apporre modifiche o meglio...

    1. Anteprima dell'immagine con bordatura di 1 pixel
    2. Resize dell'anteprima in % e proporzionale, non come quello che potete vedere nell'immagine.
    3. Anteprima di parte del testo dell'articolo, in aggiunta al titolo che ha adesso


    Spero qualcuno possa aiutarmi.


    PS: Il codice non l'ho fatto io...sia chiaro...

    Per chi volesse provarlo deve semplicemente creare un nuovo widget scegliendo "Esecuzione diretta PHP", cancellare quello che vi trova all'interno ed inserire il codice sopra.
    I parametri sono semplici e li trovate all'inizio del codice.

    Arigrazie

  2. #2
    Borg L'avatar di y2ksw
    Data Registrazione
    Nov 2004
    Località
    Bologna, Italia
    Età
    64
    Messaggi
    9,035
    Per l'immagine non c'è molto da fare ... però visto che te la cavi bene con la programmazione, prova a creare una thumbnail al volo ... una cartella che li contiene, verifica se esiste già, altrimenti lo crei.

    Se hai installato la libreria GD, i comandi per creare immagini iniziano con "image". Con questo sistema di ridimensionamento hai una piccola attesa al momento della generazione, ma poi la visualizzi quasi istantanea e hai anche il vantaggio che non aggiunge carico notevole se viene linkato dall'esterno.

    Considera però la divisione in cartelle tipo images/articoli/anteprima/2011/11/id_articolo_N.jpg, perché le immagini possono essere tante e se sono troppe non li accedi più neanche con FTP
    Giovanni
    http://www.trimelli.com/

    Per favore non mandatemi PM, ma scrivete sul forum. Vi sarà risposto prima.

  3. #3
    Prova a costruire un div con la dichiarazione del bordo nel additional.css poi il div lo applichi al codice img.
    dove ci sono le img fai cosi'
    Codice:
    <div id="thmb"><img src="#"></div>
    e nel additional.css metti

    Codice:
    thmb   {
                border: 1px solid;
              }
    la cosa la puoi personalizzare anche per la posizione lo sfondo le ombre e tanto altro, consiglio anche di provare l'effetto radius sui bordi e i webkit per le ombre.

    Spero di essere stato chiaro

    Mirko B.

  4. #4
    Citazione Originariamente Scritto da y2ksw Visualizza Messaggio
    Per l'immagine non c'è molto da fare ... però visto che te la cavi bene con la programmazione
    nononono non è roba mia!

    Citazione Originariamente Scritto da MirkoLoockz Visualizza Messaggio
    Prova a costruire un div con la dichiarazione del bordo nel additional.css poi il div lo applichi al codice img.
    dove ci sono le img fai cosi'
    Codice:
    <div id="thmb"><img src="#"></div>
    e nel additional.css metti
    Mirko B.
    uhmmm devo inserirlo così com'è?

  5. #5
    nel tuo codice ci sono dei codici img e to li applichi nella struttura div che hai creato nel additional css

  6. #6
    spe spe spe...
    Io sono veramente negato per queste cose... io nel additional.css non ho messo nulla per farlo funzionare (il mio codice intendo)...

    detto questo... sapresti inserirmi nel mio codice la modifica per la bordatura?
    e se possibile per avere sotto al titolo anche qualche parola dell'articolo stesso?

    Sarebbe fantastico... no?

    Clicca l'immagine per ingrandirla. 

Nome: widget.jpg 
Visualizzazioni: 6 
Dimensione: 31.2 KB 
ID: 1334

  7. #7
    nel additional css ci metti i css ESTERNUI CHE TI SERVONO LE COSE AGGIUNTIVE DICIAMO, TU CI METTI QUESTO:
    thmb {
    border: 1px solid;
    }

    POI il tuo codice nel blocco sodebar "credo che lo hai messo la, lo metti cosi'"


    Codice:
    // Set Your Section ID Here 
    $section = '7,8'; 
    // Set The Number of Articles To Display 
    $limit = '3'; 
    // Set The Height of The Thumbnail Image 
    $height = '100'; 
    // Set The Width of The Thumbnail Image 
    $width = '100'; 
    
    $articlegrab = vB::$db->query_read(" 
    SELECT ".TABLE_PREFIX."cms_nodeinfo.nodeid 
    , ".TABLE_PREFIX."cms_nodeinfo.title 
    , ".TABLE_PREFIX."cms_article.previewimage 
    , ".TABLE_PREFIX."cms_article.contentid 
    , ".TABLE_PREFIX."cms_node.nodeid 
    , ".TABLE_PREFIX."cms_node.parentnode 
    , ".TABLE_PREFIX."cms_node.contentid 
    , ".TABLE_PREFIX."cms_node.url 
    , ".TABLE_PREFIX."cms_node.setpublish 
    FROM ".TABLE_PREFIX."cms_article 
    , ".TABLE_PREFIX."cms_nodeinfo 
    , ".TABLE_PREFIX."cms_node 
    WHERE (".TABLE_PREFIX."cms_nodeinfo.nodeid = ".TABLE_PREFIX."cms_node.nodeid) 
    AND (".TABLE_PREFIX."cms_article.contentid = ".TABLE_PREFIX."cms_node.contentid) 
    AND (".TABLE_PREFIX."cms_node.parentnode IN ($section)) 
    AND (".TABLE_PREFIX."cms_node.setpublish != 0) 
    ORDER BY ".TABLE_PREFIX."cms_node.publishdate DESC LIMIT $limit 
    "); 
    $output.="<table>"; 
    while($articleinfo = vB::$db->fetch_array($articlegrab)) { 
    
    $title = $articleinfo['title']; 
    $image = $articleinfo['previewimage']; 
    $nodeid = $articleinfo['nodeid']; 
    $url = $articleinfo['url']; 
    $fulltext = strip_bbcode($fulltext); 
    $text = preg_replace('/\[ATTACH\=CONFIG\]\d\d\[\/ATTACH\]/', '', $text); 
    $text = strip_bbcode($text); 
    
    
    if($text == '') $text = substr($fulltext, 0,150); 
    
    if($image != '') $output .= "<tr><td><div="thmb"><img src='".$image."' width='".$width."px' align='left' height='75' HSPACE='5' VSPACE='3'/></fiv></td>"; 
    
    $output .= "<td><b><a href='?".$nodeid."-".$url."' align='top'>".$title."</a><p>".$text." </b></p><br/></td></tr>"; 
    } 
    $output.="</table>";
    e dorebbe andare

  8. #8
    Non purtroppo non sembra cambiare nulla...

  9. #9
    Forse hai sbagliato qualche passaggio...

  10. #10
    Faccio un riepilogo:
    Creo un widget utilizzando quello predefinito (Esecuzione diretta Php), e ci metto il codice inserito da te:

    Codice PHP:
    // Set Your Section ID Here 
    $section '7,8'
    // Set The Number of Articles To Display 
    $limit '3'
    // Set The Height of The Thumbnail Image 
    $height '100'
    // Set The Width of The Thumbnail Image 
    $width '100'

    $articlegrab vB::$db->query_read(
    SELECT "
    .TABLE_PREFIX."cms_nodeinfo.nodeid 
    , "
    .TABLE_PREFIX."cms_nodeinfo.title 
    , "
    .TABLE_PREFIX."cms_article.previewimage 
    , "
    .TABLE_PREFIX."cms_article.contentid 
    , "
    .TABLE_PREFIX."cms_node.nodeid 
    , "
    .TABLE_PREFIX."cms_node.parentnode 
    , "
    .TABLE_PREFIX."cms_node.contentid 
    , "
    .TABLE_PREFIX."cms_node.url 
    , "
    .TABLE_PREFIX."cms_node.setpublish 
    FROM "
    .TABLE_PREFIX."cms_article 
    , "
    .TABLE_PREFIX."cms_nodeinfo 
    , "
    .TABLE_PREFIX."cms_node 
    WHERE ("
    .TABLE_PREFIX."cms_nodeinfo.nodeid = ".TABLE_PREFIX."cms_node.nodeid) 
    AND ("
    .TABLE_PREFIX."cms_article.contentid = ".TABLE_PREFIX."cms_node.contentid) 
    AND ("
    .TABLE_PREFIX."cms_node.parentnode IN ($section)) 
    AND ("
    .TABLE_PREFIX."cms_node.setpublish != 0) 
    ORDER BY "
    .TABLE_PREFIX."cms_node.publishdate DESC LIMIT $limit 
    "
    ); 
    $output.="<table>"
    while(
    $articleinfo vB::$db->fetch_array($articlegrab)) { 

    $title $articleinfo['title']; 
    $image $articleinfo['previewimage']; 
    $nodeid $articleinfo['nodeid']; 
    $url $articleinfo['url']; 
    $fulltext strip_bbcode($fulltext); 
    $text preg_replace('/\[ATTACH\=CONFIG\]\d\d\[\/ATTACH\]/'''$text); 
    $text strip_bbcode($text); 


    if(
    $text == ''$text substr($fulltext0,150); 

    if(
    $image != ''$output .= "<tr><td><div="thmb"><img src='".$image."' width='".$width."px' align='left' height='75' HSPACE='5' VSPACE='3'/></fiv></td>"

    $output .= "<td><b><a href='?".$nodeid."-".$url."' align='top'>".$title."</a><p>".$text." </b></p><br/></td></tr>"

    $output.="</table>"
    adesso apro additional.css e ci inserisco:

    thmb {
    border: 1px solid;
    }


    a questo punto inserisco il widget nel layout, ma nulla.

Pagina 1 di 2 12 UltimaUltima

Discussioni Simili

  1. Inserire widget blog con immagine
    Di Mscotti nel forum Come faccio
    Risposte: 2
    Ultimo Messaggio: 11-08-2011, 21:17
  2. Widget
    Di Nicole nel forum Mod e Template
    Risposte: 5
    Ultimo Messaggio: 04-09-2010, 22:54
  3. Creare Widget Con Cambio Immagine
    Di StarK nel forum Come faccio
    Risposte: 1
    Ultimo Messaggio: 24-07-2010, 18:44
  4. Modifiche widget
    Di Snake nel forum Come faccio
    Risposte: 5
    Ultimo Messaggio: 05-06-2010, 17:54
  5. Widget sezioni
    Di Ricsca nel forum Come faccio
    Risposte: 1
    Ultimo Messaggio: 23-03-2010, 01:17

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •