• User

    Aiuto modifica file php

    Buonasera,
    sto eseguendo una modifica in un file del template (article.php) per ottenere nella categoria blog di Joomla la vista dei titoli degli articoli nella voce di menù "categoria" con tag H2 mentre aprendo il singolo articolo il titolo con tag H1; cercando soluzioni il supporto del template mi ha solamente dato le stringhe da inserire (e stop...), ma o sbaglio io o non so non mi funziona nulla.

    Allora da inserire in cima al file:

    [PHP]<?php $input = JFactory::getApplication()->input; $view = $input->get('view'); ?>[/PHP]

    mentre le variabili (e qui non so dove inserirle o se sono corrette)

    [PHP]if ($view == "category") { // use <h2> tag } elseif ($view == "article") { // use <h1> tag }[/PHP]

    Qui inserisco parte del file cosicchè magari riuscite ad aiutarmi

    [PHP]
    <article class="uk-article" <?php if ($permalink) echo 'data-permalink="'.$permalink.'"'; ?>>

    <?php if ($image && $image_alignment == 'none') : ?>
        <?php if ($url) : ?>
            <a href="<?php echo $url; ?>" title="<?php echo $image_caption; ?>"><img src="<?php echo $image; ?>" alt="<?php echo $image_alt; ?>"></a>
        <?php else : ?>
            <img src="<?php echo $image; ?>" alt="<?php echo $image_alt; ?>">
        <?php endif; ?>
    <?php endif; ?>
    
    <?php if ($title) : ?>
    <h1 class="uk-article-title">
        <?php if ($url && $title_link) : ?>
            <a href="<?php echo $url; ?>" title="<?php echo $title; ?>"><?php echo $title; ?></a>
        <?php else : ?>
            <?php echo $title; ?>
        <?php endif; ?>
    </h1>
    <?php endif; ?>
    
    <?php echo $hook_aftertitle; ?>
    
    <?php if ($author || $date || $category) : ?>
    <p class="uk-article-meta">
    
        <?php
    

    ecc...[/PHP]

    Spero di aver inserito il post nella sezione giusta e di non aver scritto "fesserie".
    Grazie mille a tutti.


  • User Attivo

    Joomla è un CMS un po' particolare. Forse dovresti porre la domanda sul loro forum specifico forum.joomla.it


  • ModSenior

    Ciao ho provato a spostare il post nella sezione Joomla, in quanto questa più generale di PHP.


  • User

    Ok grazie mille, potrebbe essere una discussione in aiuto anche a molti utenti in quanto ce ne sono moltissime "in giro" ma non risolte completamente. Personalmente trovo molto importante ottenere la vista in categoria blog dei titoli in H2 e il titolo nella pagina dell'articolo in H1.


  • Moderatore

    Ciao IngWeb e benvenuto nel Forum GT.
    La soluzione è più semplice di quanto sembri.
    Il componente che mostra i singoli articoli e le categorie con gli articoli è il com_content.

    A partire dalla root di Joomla, vai in templates > tuotemplate > html > com_content.
    Qui trovi diverse folder, a te interessano i due seguenti file:

    File del singolo articolo: templates > tuotemplate > html > com_content > article > default.php
    Metto in evidenza solo un pezzo del codice php, in questo caso riferito al template Beez3 di Joomla! 3:

    
    <?php
    if (!empty($this->item->pagination) && $this->item->pagination && !$this->item->paginationposition && $this->item->paginationrelative)
    {
    	echo $this->item->pagination;
    }
    
    
    if ($params->get('show_title')) : ?>
    		<h2>
    			<?php echo $this->escape($this->item->title); ?>
    		</h2>
    <?php endif; ?>
    
    

    Ciò che devi fare è modificare quell'h2 in h1.

    File dell'articolo nella categoria: templates > tuotemplate > html > com_content > category > blog_item.php
    Come sopra, solo un pezzo del codice della pagina:

    
    <?php if ($params->get('show_title')) : ?>
    	<h2>
    		<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
    			<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
    			<?php echo $this->escape($this->item->title); ?></a>
    		<?php else : ?>
    			<?php echo $this->escape($this->item->title); ?>
    		<?php endif; ?>
    	</h2>
    <?php endif; ?>
    
    

    In questo caso nel Beez3 è già presente l'h2 sul title dell'articolo.

    Nota che ogni template ha una sua struttura e quindi potresti trovare un codice leggermente diverso, ma ciò che conta è la regola generale: in Joomla ogni "vista" del com_content e di qualunque altro componente ha un suo file ed è quest'ultimo il responsabile dell'html della pagina, cioè della logica di presentazione dei dati.


  • User

    Grazie mille gentilissimo!
    Ci proverò, non so se posso rendere pubblico il template in quanto non è free, ma rientra tra quelli (nei forum) considerati più macchinosi come personalizzazione.