Joomla: Codice php per visualizzare solo prime righe di un articolo da DB

dla86

Utente Attivo
27 Mag 2009
36
0
0
Salve a tutti,
scrivo per chiedere aiuto su come poter modificare la visualizzazione degli articoli secondari di joomla, ovvero quelli in basso nella visualizzazione blog prima pagina (quando si dispongono in due colonne). Vorrei poter modificare se possibile il php in modo che in automatico, quando gli articoli passano in queste due colonne joomla mostri solo le prime 4 righe di ogni articoli. Dovrei intervenire su questo codice:
PHP:
<?php // no direct access
defined('_JEXEC') or die('Restricted access'); ?>
<?php if ($this->params->get('show_page_title', 1)) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
    <?php echo $this->escape($this->params->get('page_title')); ?>
</div>
<?php endif; ?>
<table class="blog<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>" cellpadding="0" cellspacing="0">
<?php if ($this->params->def('num_leading_articles', 1)) : ?>
<tr>
    <td valign="top">
    <?php for ($i = $this->pagination->limitstart; $i < ($this->pagination->limitstart + $this->params->get('num_leading_articles')); $i++) : ?>
        <?php if ($i >= $this->total) : break; endif; ?>
        <div>
        <?php
            $this->item =& $this->getItem($i, $this->params);
            echo $this->loadTemplate('item');
        ?>
        </div>
    <?php endfor; ?>
    </td>
</tr>
<?php else : $i = $this->pagination->limitstart; endif; ?>

<?php
$startIntroArticles = $this->pagination->limitstart + $this->params->get('num_leading_articles');
$numIntroArticles = $startIntroArticles + $this->params->get('num_intro_articles', 4);
if (($numIntroArticles != $startIntroArticles) && ($i < $this->total)) : ?>
<tr>
    <td valign="top">
        <table width="100%"  cellpadding="0" cellspacing="0">
        <tr>
        <?php
            $divider = '';
            if ($this->params->def('multi_column_order',1)) : // order across as before
            for ($z = 0; $z < $this->params->def('num_columns', 2); $z ++) :
                if ($z > 0) : $divider = " column_separator"; endif; ?>
                <?php
                    $rows = (int) ($this->params->get('num_intro_articles', 4) / $this->params->get('num_columns'));
                    $cols = ($this->params->get('num_intro_articles', 4) % $this->params->get('num_columns'));
                ?>
                <td valign="top" width="<?php echo intval(100 / $this->params->get('num_columns')) ?>%" class="article_column<?php echo $divider ?>">
                <?php
                $loop = (($z < $cols)?1:0) + $rows;

                for ($y = 0; $y < $loop; $y ++) :
                    $target = $i + ($y * $this->params->get('num_columns')) + $z;
                    if ($target < $this->total && $target < ($numIntroArticles)) :
                        $this->item =& $this->getItem($target, $this->params);
                        echo $this->loadTemplate('item');
                    endif;
                endfor;
                        ?></td>
                        <?php endfor; 
                        $i = $i + $this->params->get('num_intro_articles') ; 
            else : // otherwise, order down columns, like old category blog
                for ($z = 0; $z < $this->params->get('num_columns'); $z ++) :
                    if ($z > 0) : $divider = " column_separator"; endif; ?>
                    <td valign="top" width="<?php echo intval(100 / $this->params->get('num_columns')) ?>%" class="article_column<?php echo $divider ?>">
                    <?php for ($y = 0; $y < ($this->params->get('num_intro_articles') / $this->params->get('num_columns')); $y ++) :
                    if ($i < $this->total && $i < ($numIntroArticles)) :
                        $this->item =& $this->getItem($i, $this->params);
                        echo $this->loadTemplate('item');
                        $i ++;
                    endif;
                endfor; ?>
                </td>
        <?php endfor; 
        endif;?>        
        </tr>
        </table>
    </td>
</tr>
<?php endif; ?>
<?php if ($this->params->def('num_links', 4) && ($i < $this->total)) : ?>
<tr>
    <td valign="top">
        <div class="blog_more<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>">
            <?php
                $this->links = array_splice($this->items, $i - $this->pagination->limitstart);
                echo $this->loadTemplate('links');
            ?>
        </div>
    </td>
</tr>
<?php endif; ?>

<?php if ($this->params->def('show_pagination', 2) == 1  || ($this->params->get('show_pagination') == 2 && $this->pagination->get('pages.total') > 1)) : ?>
<tr>
    <td valign="top" align="center">
        <?php echo $this->pagination->getPagesLinks(); ?>
        <br /><br />
    </td>
</tr>
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
<tr>
    <td valign="top" align="center">
        <?php echo $this->pagination->getPagesCounter(); ?>
    </td>
</tr>
<?php endif; ?>
<?php endif; ?>
</table>


quindi per ricapitolare avrei bisogno di inserire nel codice che ho postato sopra uno "script che conti il numero di righe o parole all'interno della tabella del db e tagli tutto il resto". Io non conosco bene il php, grazie a tutti coloro che mi aiuteranno!!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Prova ad usare questa funzione che ho scritto. Dovrebbe andare bene:
PHP:
function truncate_text($text, $words = 40)
{
	$exp = explode(' ', $text);
	$pieces = array_chunk($exp, $words);
	$new_text = implode(' ', $pieces);

	return $new_text;
}
Le passi come primo parametro il testo da troncare e come secondo il numero di parole dopo le quali troncarlo.
 

dla86

Utente Attivo
27 Mag 2009
36
0
0
gradie davvero!!! :)
Dove devo inserirla? al termine?
in un punto preciso?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Visto che si parla di Joomla, sposto la discussione nella sezione CMS
 

dla86

Utente Attivo
27 Mag 2009
36
0
0
Ho provato a inserire il codice alla fine del file ma non succede nulla, io di php so ben poco ma mi rendo conto che sicuramente la funzione deve essere richiamata in qualche punto...
 
Discussioni simili
Autore Titolo Forum Risposte Data
M inserire codice php in articolo joomla Joomla 2
C [Joomla] [HTML] Modifica codice per adattamento app Joomla 18
G migrazione Joomla 3.10 a 4.x Joomla 2
C prendere dei valori da Plugin e inserirli nel database joomla Joomla 0
felino [Joomla 1.5] Backend senza toolbar, impossibile eseguire qualunque operazione Joomla 1
P Sito creano con Joomla con sottominio che reindirizza a sito esterno Domini 1
L Analytics non registra hits su sito creato con Joomla Google Analytics 1
Licantropo [MySQL] Da file .doc a DB a Joomla MySQL 2
Licantropo [Joomla] Nuovo progetto community locale Joomla 18
S A PAGAMENTO cerco per installazione template joomla Offerte e Richieste di Lavoro e/o Collaborazione 2
A [Joomla] Dominio compromesso da malware Domini 9
P [Joomla] Il mio iframe non funziona più Joomla 0
A Problema sito web - Joomla Presentati al Forum 1
M [Joomla] Inserimento wow.js in template Joomla 4
Eugene [Joomla] [VM 3.2.14] Joomla 0
C Impostazione permessi cartella locale Joomla Joomla 4
Eugene [Joomla] Problemi con modulo per strutture alberghiere JHotelreservation starter Joomla 6
Licantropo [Joomla] Cerco esperto Kunena Offerte e Richieste di Lavoro e/o Collaborazione 3
A Problema con Joomla Joomla 1
F [Joomla] Caratteri speciali si vedono tutti sbagliati su Safari Joomla 2
Licantropo [Joomla] Equo canone annuo Joomla 9
C [Joomla] Copia di un sito web "statico" in locale Joomla 3
D [HTML] Consiglio su sito Joomla Joomla 6
M [Joomla] Sito per agenzia viaggi Joomla 0
K Joomla: Modulo contatti in SP simple portfolio Joomla 0
G [Photoshop][Joomla] Errore visualizzazione immagine Photoshop 1
cobra_72 [Joomla] [PHP] come attingere informazioni specifiche da database PHP 18
andrew1975 [Joomla] nascondere lo slider Joomla 1
Fuego2806 [Joomla] Problema di login con il nuovo template Joomla 0
K [Joomla] Visualizzazione anteprima diversa dalla demo del template Joomla 0
Z HTTP ERROR 500 - La pagina non funziona - Joomla! Joomla 0
E [Joomla] Kunema Forum 5.0.3 Joomla 0
caygri Ci sarai il Joomla Day? Discussioni Varie 1
Max 1 Realizzo template (temi) per WordPress, Blogger, Joomla, Drupal e DotNetNuke Altri Annunci 1
angelo85 Sito joomla che permetta agli utenti di inviare mail Joomla 2
andreas88 [Joomla] Problema Spam pagina principale sito web Joomla 1
beniculturalionline Cerco socio/collaboratore per sito in Joomla (anche gemellaggio tra siti web) Offerte e Richieste di Lavoro e/o Collaborazione 1
F [PHP] joomla - responsive photo gallery Joomla 6
Fuego2806 [PHP] Errore 500 Internal Server Error - sito Joomla! Joomla 10
M [Joomla] file di configurazione html Joomla 4
Fuego2806 [Joomla] [URGENTE] iubenda Joomla 1
Fuego2806 [Joomla] [PHP] Joomla 4
Fuego2806 Problema file index.php joomla PHP 1
felino Joomla hackerato: sito web compromesso SEO e Posizionamento 7
L Aiuto. Restyling di un sito già fatto in joomla Joomla 1
felino Joomla 3.x - Configurazione PHP Mail Joomla 0
novello88 Joomla su VPS OVH: non funziona nulla ma nessun errore nel log Server Dedicati e VPS 1
T Consiglio tema Joomla Joomla 2
S Joomla - Google chart - Mysql PHP 0
P Joomla e AdsManager PHP 1

Discussioni simili