Risultati da 1 a 10 di 16
-
09-11-2011, 17:40 #1
- Data Registrazione
- Mar 2011
- Messaggi
- 120
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($fulltext, 0,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>";
Purtroppo sono piuttosto puntiglioso e cercavo qualcuno in grado di apporre modifiche o meglio...
- Anteprima dell'immagine con bordatura di 1 pixel
- Resize dell'anteprima in % e proporzionale, non come quello che potete vedere nell'immagine.
- 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
-
11-11-2011, 12:22 #2
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 FTPGiovanni
http://www.trimelli.com/
Per favore non mandatemi PM, ma scrivete sul forum. Vi sarà risposto prima.
-
11-11-2011, 13:17 #3
- Data Registrazione
- Apr 2010
- Messaggi
- 179
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>
Codice:thmb { border: 1px solid; }
Spero di essere stato chiaro
Mirko B.
-
11-11-2011, 13:27 #4
- Data Registrazione
- Mar 2011
- Messaggi
- 120
-
11-11-2011, 16:23 #5
- Data Registrazione
- Apr 2010
- Messaggi
- 179
nel tuo codice ci sono dei codici img e to li applichi nella struttura div che hai creato nel additional css
-
11-11-2011, 17:12 #6
- Data Registrazione
- Mar 2011
- Messaggi
- 120
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?
-
11-11-2011, 19:39 #7
- Data Registrazione
- Apr 2010
- Messaggi
- 179
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>";
-
11-11-2011, 21:56 #8
- Data Registrazione
- Mar 2011
- Messaggi
- 120
Non purtroppo non sembra cambiare nulla...
-
11-11-2011, 23:36 #9
- Data Registrazione
- Apr 2010
- Messaggi
- 179
Forse hai sbagliato qualche passaggio...
-
12-11-2011, 00:19 #10
- Data Registrazione
- Mar 2011
- Messaggi
- 120
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($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>";
thmb {
border: 1px solid;
}
a questo punto inserisco il widget nel layout, ma nulla.
Discussioni Simili
-
Inserire widget blog con immagine
Di Mscotti nel forum Come faccioRisposte: 2Ultimo Messaggio: 11-08-2011, 21:17 -
Widget
Di Nicole nel forum Mod e TemplateRisposte: 5Ultimo Messaggio: 04-09-2010, 22:54 -
Creare Widget Con Cambio Immagine
Di StarK nel forum Come faccioRisposte: 1Ultimo Messaggio: 24-07-2010, 18:44 -
Modifiche widget
Di Snake nel forum Come faccioRisposte: 5Ultimo Messaggio: 05-06-2010, 17:54 -
Widget sezioni
Di Ricsca nel forum Come faccioRisposte: 1Ultimo Messaggio: 23-03-2010, 01:17
Segnalibri