Modifica a Rencently Updated

La discussione sul CMS Made Simple in italiano.

Moderator: magallo

Post Reply
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Modifica a Rencently Updated

Post by Paulin »

Ho creato un UDT Recently updated (modificato dalla versione di JW se ricordo bene) e l'ho applicato alla mia pagina.
In sostanza tramite il CSS ottengo una lista delle ultime 8 (Content & link) pagine  modificate.
La lista indica il titolo e come proprietà Hover del link si espande visualizzando del testo.  Per il momento sono riuscito a visualizzare il [metadata]  che però devo ricordarmi di inserire sempre in tutte le pagina altimenti mi rimane un quadro bianco vuoto.

Quello che vorrei fare è inserire in automatico al posto del [metadata] le prime righe (o un TOT di caratteri) della pagina in questione.
le ipotesi che mi sono fatto sono:

a) recuperare il contenuto della pagina, e troncarlo alla fine del paragrafo (cercare il punto e troncare lì) e comunque non superare TOT caratteri che è la dimensione massima che la mia finestrella Hover può contenere.

oppure... (e sarebbe più flessibile)

b) modificare se possibile la pagina di inserimento (quella in admin - Contenuto - pagine -aggiungi contenuto... per intenderci) in modo che si presenti simile a quella delle news  con un blocco sommario (che apparirà nell'Hover)  e un blocco contenuto.

Secondo voi qual'è la strada più semplice  e come farla?  Si accettano altri suggerimenti.  ;D
alby

Re: Modifica a Rencently Updated

Post by alby »

Paulin wrote: b) modificare se possibile la pagina di inserimento (quella in admin - Contenuto - pagine -aggiungi contenuto... per intenderci) in modo che si presenti simile a quella delle news  con un blocco sommario (che apparirà nell'Hover)  e un blocco contenuto.

Secondo voi qual'è la strada più semplice  e come farla?  Si accettano altri suggerimenti.  ;D
Perchè non aggiungi un secondo blocco al tuo template {content block="meta"}

Alby
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Re: Modifica a Rencently Updated

Post by Paulin »

Grazie Alby per il suggerimento,
il problema è che volevo evitare di utilizzare il metadata perchè poi mi servirà per le parole chiave da far ciucciare ai motori di ricerca. Se metto una lista di parole chiave  poi mi appaiono nel recent update.  o sbaglio?
Oltretutto quando sono di fretta, spesso mi dimentico di completare il metadata... percui mi rimane un bel quadro bianco quando passo sopra alla lista recent upd!!!!  ;D


PS: hai una soluzione anche per l'altro mio problema?  http://forum.cmsmadesimple.org/index.ph ... 159.0.html
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Re: Modifica a Rencently Updated

Post by Paulin »

Sono riuscito parzialmente a risolvere questo problema... mi manca solo un unltimo step... ma sono incartato col PHP  ;D

Il content della Pagina modificata non lo trovavo perchè è in un altra tabella, quindi lo recupero con una query.

Code: Select all

$output .= '<h3>Ultimi aggiornamenti</h3>';
$output .= '<ul id="gallery">';
global $gCms;
$hm =& $gCms->GetHierarchyManager();
$db = &$gCms->db;
$db2 = &$gCms->db;   //  aggiunto da me
// Get list of 10 most recently updated pages excluding the home page
$q = "SELECT * FROM ".cms_db_prefix()."content WHERE (type='content' OR type='link')
AND default_content != 1 AND active = 1 AND show_in_menu = 1 
ORDER BY modified_date DESC LIMIT 8";
$dbresult = $db->Execute( $q );
if( !$dbresult )
{
    echo 'DB error: '. $db->ErrorMsg()."<br/>";
}
while ($dbresult && $updated_page = $dbresult->FetchRow())
{
    $curnode =& $hm->getNodeById($updated_page['content_id']);
    $curcontent =& $curnode->GetContent();

///// Aggiunto da Paulin //////////////////////////////////////////

$w = "SELECT * FROM ".cms_db_prefix()."content_props WHERE (content_id=$updated_page[content_id])";
$dbresult2 = $db2->Execute( $w );
$contenuto = $dbresult2->FetchRow();
/////  Fine modifica ////////////////////////////

    $output .= '<li>';
    $output .= '<a href="'.$curcontent->GetURL().'"><b>'.$updated_page['content_name'];
    $output .= '</b><br />';
    $output .= '<span class="spacer"> </span><br />';

//////////////////// VECCHIA RIGA //////////////////////
//  $output .= '<span ="text-align: justify;">'.$updated_page['metadata'].'<i>...[Leggi]...</i></span></a>';
///////////////////////////////////////////////////////////

    $output .= '<span ="text-align: justify;">'.$contenuto['content'].'<i>...[Leggi]...</i></span></a>';

    $output .= '</li>';
}
$output .= '</ul>';
echo $output;
In questo modo funziona ma mi spara tutto il contenuto comprese etc...

Avrei bisogno di modificare la mia $contenuto['content] con uno Strip_tags e un Truncate:xx...  ho provato con l'eval  ma probailmente sbaglio la sintassi perchè mi da errore.
alby

Re: Modifica a Rencently Updated

Post by alby »

Paulin wrote: In questo modo funziona ma mi spara tutto il contenuto comprese etc...

Avrei bisogno di modificare la mia $contenuto['content] con uno Strip_tags e un Truncate:xx...  ho provato con l'eval  ma probailmente sbaglio la sintassi perchè mi da errore.
E' chiaro che stai sparando fuori html, il content è html

Comunque vuoi applicare delle funzioni smarty a php?
Non devi fare eval, sei già in PHP e devi utilizzare le funzioni PHP


Alby
Paulin
Forum Members
Forum Members
Posts: 28
Joined: Mon Jul 28, 2008 8:35 am

Re: Modifica a Rencently Updated

Post by Paulin »

quindi un semplice:

$smarty->assign('content_stripped',{$contenuto['content']|strip_tags};
$cont_str_trunc = substr($content_stripped, 1 [,lunghezza]);
?

è giusta la sintassi?
alby

Re: Modifica a Rencently Updated

Post by alby »

Paulin wrote: quindi un semplice:

$smarty->assign('content_stripped',{$contenuto['content']|strip_tags};
$cont_str_trunc = substr($content_stripped, 1 [,lunghezza]);
?

è giusta la sintassi?
E dai ancora  ::)
stai usando un mix di sintassi smarty/PHP

$content = strip_tags($contenuto['content']);
if (strlen($content) > $lunghezza)
{
  $content = substr($content, 0, $lunghezza) . '...[Leggi]...;
}

Alby
Post Reply

Return to “Italian - Italiano”