Back to top

Autore Topic: personalizzare la visualizzazione articoli principali con data nel titolo  (Letto 1145 volte)

Offline grilletto

  • Esploratore
  • **
  • Post: 73
    • Mostra profilo
vorrei adattare la visualizzazione degli articoli principali secondo lo schema usato per articoli-community dove la data appare in forma di calendario, ma anziche' usare la data dell'articolo vorrei mettere una data per il titolo degli articoli e quindi visualizzare detta data nella forma che appare per articoli-community; ovvero ogni articolo avra' come titolo una data che dovra' essere personalizzata; ho letto l'overrade delle date ma il mio campo e' un titolo non una data

nessun suggerimento ? domanda troppo stupida ?

nessun suggerimento?
« Ultima modifica: 01 Ott 2015, 08:58:51 da grilletto »

Offline grilletto

  • Esploratore
  • **
  • Post: 73
    • Mostra profilo
risposta privata di  MasterTheBest

Riassumo la tua richiesta, così: Come posso effettuare dell'override sulle date per gli articoli in evidenza? Quali funzioni di Joomla! devo utilizzare? Premessa Da quando scrissi l'articolo, ad oggi, son cambiate un pò di cose: più la posizione del codice, che le funzionalità. La figata del'override è poter presentare lo stesso contenuto, in modi diversi, decidendo come e dove: ti basta impostare un minimo di gestione dell'architettura dei contenuti del tuo sito (more info http://www.architecta.it/) ed il gioco è fatto. Come posso effettuare dell'override sulle date per gli articoli in evidenza? Risposta Recati nel backend della tua installazione di Joomla! Estensioni→Template Manager Clicca su Templates nella barra di sinistra Scegli il template che stai modificando; esattamente sul link e non sull'anteprima Nei tab orizzontali, clicca su Crea Override Nella colonna di centro Componenti clicca su com_content → featured Se tutto è andato correttamente, vedrai un messaggio verde di conferma. Nella colonna di destra Layouts clicca su content Se tutto è andato correttamente, vedrai un messaggio verde di conferma. Se non hai i due messaggi di conferma, chiedi aiuto sul forum e non proseguire oltre. Modifica dei file Recati su [size=78%]cartella_installazione_joomla/templates/tuo_template/html/com_content/featured/[/size] e modifica i diritti del file in 755. Alla fine delle modifiche, riportali alla condizione originale (dovrebbe essere 644). Modifica #1 Come puoi osservare i tre file hanno la radice comune, default; cambiala in qualsiasi altra (nel tuo caso ti suggerisco faq). Pertanto ottieni faq.php faq_item.php faq_links.php Modifica #2 Cerca questa stringa nei tre fileCodice: [Seleziona] JLayoutHelper::render('joomla.content.info_block.block', array('item' => $this->item, 'params' => $params, 'position' => 'below'));e modificala come segue Codice: [Seleziona] JLayoutHelper::render('joomla.content.info_block.faq', array('item' => $this->item, 'params' => $params, 'position' => 'below')); Modifica #3 Modifica il file block.php → faq.php ed aggiungi a tutti gli altri file il tag faq_.  (faq + underscore); in tal modo restringi le modifiche solo a chi utilizza questo override (e non a tutti gli articoli). Modifica #4 Recati in cartella_installazione_joomla/templates/tuo_template/html/layouts/joomla/content/info_block e rinomina il file block.php → faq.php Modifica #5 All'interno del file faq.php, troverai chiamate di funzioni simili a quelle precedenti. Prendo ad esempio l'ultima chiamata di funzione, ma devi ripetere la modifica su tutte le altre compresenti. Codice: [Seleziona] <?php if ($displayData['params']->get('show_hits')) : ?> <?php echo JLayoutHelper::render('joomla.content.info_block.hits', $displayData); ?> <?php endif; ?> Codice: [Seleziona] <?php if ($displayData['params']->get('show_hits')) : ?> <?php echo JLayoutHelper::render('joomla.content.info_block.faq_hits', $displayData); ?> <?php endif; ?> In tal modo richiami i file che hai rinominato pocanzi e futuri override non daranno noie alcune. Ora possiamo modificare le date e "divertirci". ::) Quali funzioni di Joomla! devo utilizzare? Prendo ad esempio il file faq_create_date.php, ma lo puoi/devi ripetere su faq_publish_date.php e faq_modify_date.php. Condideriamo il codice del file faq_create_date.php Codice: [Seleziona] <?php /** * @package     Joomla.Site * @subpackage  Layout * * @copyright   Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved. * @license     GNU General Public License version 2 or later; see LICENSE.txt */ defined('JPATH_BASE') or die; ?> <dd class="create"> <span class="icon-calendar"></span> <time datetime="<?php echo JHtml::_('date', $displayData['item']->created, 'c'); ?>" itemprop="dateCreated"> <?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date', $displayData['item']->created, JText::_('DATE_FORMAT_LC3'))); ?> </time> E nella fattispecie, ci interessa questa riga Codice: [Seleziona] <?php echo JText::sprintf('COM_CONTENT_CREATED_DATE_ON', JHtml::_('date', $displayData['item']->created, JText::_('DATE_FORMAT_LC3'))); ?>Ora, la parte COM_CONTENT_CREATED_DATE_ON inserisce la dicitura creato il a seconda della lingua; e per il tuo caso, non credo sia necessario. Pertanto ti occorre una leggera modifica Codice: [Seleziona] <?php echo JHtml::_('date', $displayData['item']->created, JText::_('DATE_FORMAT_LC3')); ?>[size=78%]Così stampi direttamente la data;[/size]  [size=78%]Come gestire le singole parti della data?[/size] [size=78%]Questo articolo risponde esattamente alla domanda[/size][size=78%] https://www.ostraining.com/blog/joomla/change-joomla-s-date-format/ e per farti un esempio al volo, puoi stampare gg/mm/aaaa in due modi diversi Codice: [Seleziona] <?php echo JHtml::_('date', $displayData['item']->created, JText::_('d/m/y')); ?>oppure Codice: [Seleziona] <?php echo JHtml::_('date', $displayData['item']->created, JText::_('d')); ?> / <?php echo JHtml::_('date', $displayData['item']->created, JText::_('m')); ?> / <?php echo JHtml::_('date', $displayData['item']->created, JText::_('y')); ?> Questa soluzione l'ho scritta basandomi tantissimo sulla mia esperienza e NON ho testato il codice. Se sei interessato entro la prossima settimana realizzerò un articolo dedicato→eventualmente, potrei usare il tuo sito per visualizzare l'effetto finale (solo per la data)?

Ti ricordo che in Joomla! hai tre date Creazione Modifica Inizio (e fine) pubblicazione Quindi, usare il titolo è uno spreco → non avresti le funzionalità che invece le date hanno, nel motore di ricerca di joomla. Pertanto, vedi di impostare il layout ed il template utilizzando le date a tua disposizione. Suggerimento Se aggiungi un override specifico per questi articoli-eventi, in cui togli dall'if di visualizzazione, il controllo di fine pubblicazione, potresti risolvere il tutto. Data Creazione → nessun problema Data Modifica → nessun problema Data inizio pubblicazione → la puoi usare per programmare gli eventi e renderli pubblici arbitrariamente Data fine pubblicazione → è la data dell'evento, che verrà visualizzata. Esempio Evento per il 25 Dicembre 2015, da programmare e rendere pubblico dal 20 Novembre Data Creazione → nessun cambiamento Data Modifica → nessun cambiamento Data Inizio Pubblicazione → 20 Novembre 2015 00:00:00 Data Fine Pubblicazione → 25 Dicembre 2015 Si tratta di una soluzione un pò artificiale, ma ti permette di non installare cck (content construction kit) e di mantenere leggera e pulita l'installazione di Joomla!
[/size]

Offline berry

  • Appassionato
  • ***
  • Post: 660
  • Sesso: Maschio
    • Mostra profilo
Non so se ho capito bene ma se quello che ti serve non è la data dell'articolo ma una data specifica perchè non la scrivi direttamente nel titolo dell'articolo?

Offline grilletto

  • Esploratore
  • **
  • Post: 73
    • Mostra profilo
in effetti la vorrei scrivere nel titpolo ma non capisco come fare per personalizzare la visualizzazione usando il metodo per le FAQ di Joomla

 



Web Design Bolzano Kreatif