Back to top

Autore Topic: Decidere data di creazione contenuto (lato sito)  (Letto 2518 volte)

Offline Professore

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
Decidere data di creazione contenuto (lato sito)
« il: 20 Ott 2007, 23:18:27 »
Salve a tutti,

chiedo scusa prima di cominciare perché questo è il mio primo messaggio su questo forum ed è una richiesta di aiuto... un po' come andare a vivere in un condominio e come prima cosa chiedere dei soldi in prestito ai nuovi vicini... alquanto scortese!
Ad ogni modo eccomi qua, spero che possiate aiutarmi.

Sto usando Joomla per la prima volta (versione 1.0.12) e funziona divinamente, riesco a fare quasi tutto quello che mi chiedono ma mi sono bloccato su un piccolo particolare che forse sarà di facile risoluzione da parte di un utente più esperto di me.

Ho installato Community Builder, JoomlaFCK e JACLPlus e ho assemblato una comunità in cui gli utenti scrivono i loro contenuti nelle sezioni di loro competenza, tutto va alla perfezione.

Mi hanno anche chiesto un calendario che raccogliesse tutti i contenuti da specifiche categorie, così ho cercato un po' in giro e, non avendo trovato niente di utile, ho realizzato un modulo per conto mio.
In realtà ho visto che ci sono moltissimi calendari per Joomla ma quasi tutti richiedevano una categoria a parte, mentre a me serviva che pescasse contenuti dalle sezioni e dalle categorie già esistenti, oltre a permettere la navigazione dei mesi senza bisogno di ricaricare la pagina.
Come ho fatto non lo so, ma adesso il modulo è funzionante (anche se non sono riuscito a capire come renderlo "installabile" e ho dovuto copiare alcuni file a mano).

Il mio problema nasce adesso! Gli utenti inseriscono i loro contenuti nelle loro categorie, questi contenuti sono mostrati anche sul calendario secondo la data di creazione.
Ho visto che modificando o creando un nuovo articolo dal lato amministratore è presente un campo in più, la cui etichetta è "Sovrascrivi data di creazione", quando si aggiunge o si modifica un contenuto dal lato sito questo campo non è disponibile, e a me servirebbe in quanto:
  • Gli utenti inseriscono e modificano i contenuti dal lato sito e non accedono al lato amministratore in nessun caso.
  • La data che il calendario usa per mettere in ordine i contenuti è proprio la data di creazione.

Sul database, nella tabella #__content ho trovato solamente cinque campi di tipo data e gli unici che posso modificare tramite il modulo dal lato sito sono "publish_up" e "publish_down", non posso assolutamente usarli per il mio scopo in quanto definiscono la data di inizio e la data di fine pubblicazione, quindi sto usando il campo "created".

Mi serve che i miei utenti siano in grado di decidere autonomamente che data inserire nel campo "created", so che questo influenzerà la posizione dell'articolo sia in home page, sia nelle ricerche, sia nelle altre pagine di contenuto e non è un problema, ma... Come posso fare?

Spero di essere stato chiaro, e spero che esista già una soluzione o almeno che ci sia qualcuno in grado di spiegarmi esattamente dove andare a cercare il codice che gestisce l'inserimento e la modifica degli articoli nel database, così che io possa cercare di ovviare da solo al mio problema.

Grazie in anticipo a chiunque volesse perdere un po' del suo tempo per rispondermi.
Il Professore.

Offline Maorinz

  • Instancabile
  • ******
  • Post: 2641
  • Sesso: Maschio
  • ©il brillar per se stessi non porta emozioni
    • Mostra profilo
Re: Decidere data di creazione contenuto (lato sito)
« Risposta #1 il: 21 Ott 2007, 10:33:04 »
Ciao!
Puoi dare loro accesso al backend  ma con specifiche restizioni di "Manager"
L'accesso gli da così la sola possibilità di inserire contenuti e immagini, accessi comunque modificabili pure quelli.
Questa è la via più veloce.
Ciao.

Offline Professore

  • Nuovo arrivato
  • *
  • Post: 3
    • Mostra profilo
[RISOLTO] Decidere data di creazione contenuto (lato sito)
« Risposta #2 il: 21 Ott 2007, 10:52:22 »
Grazie Maorinz,

quella di dare accesso al backend è la soluzione più veloce senza dubbio, ma non avendo dormito stanotte sono riuscito a fare esattamente quello che volevo, modificando due soli file...

in "content.html.php" ho aggiunto il campo data che mi serviva, all'interno del tab "_E_PUBLISHING", il campo che ho inserito è questo:
Codice: [Seleziona]
<input class="inputbox" type="text" name="created" id="created" size="25" maxlength="19" value="<?php echo $row->created?>" />
// aggancio anche il calendarietto //
<input type="reset" class="button" value="..." onclick="return showCalendar('created', 'y-mm-dd');" />

in "content.php" alla riga 2202 ho trovato questa cosa qua:
Codice: [Seleziona]
$row->created = date( 'Y-m-d H:i:s' );l'ho rimossa e al suo posto ho inserito questo:
Codice: [Seleziona]
if (trim( $row->created ) == '') {
$row->created = $nullDate;
} else {
if (strlen(trim( $row->created )) <= 10) {
$row->created .= ' 00:00:00';
}
$row->created = mosFormatDate( $row->created, _CURRENT_SERVER_TIME_FORMAT, -$mosConfig_offset );
}

Per il momento sembra funzionare senza problemi, sto facendo tutte le prove del caso, visto che modificare un file importante come "content.php" è una responsabilità molto grande per uno con poca esperienza come me...

Grazie ancora,
Il Professore.

Offline Maorinz

  • Instancabile
  • ******
  • Post: 2641
  • Sesso: Maschio
  • ©il brillar per se stessi non porta emozioni
    • Mostra profilo
Re: Decidere data di creazione contenuto (lato sito)
« Risposta #3 il: 21 Ott 2007, 11:10:23 »
Complimenti!! ;)
Un pò meno per il non aver dormito.... :D

Fammi solo una cortesia, vista la pensata che hai avuto.

Tra qualche giorno fammi sapere se la tua modifica non da problemi, che magari ne fai una miniguida per chi volesse seguire quel procedimento, e la inserisci come tua creazione nel wiki. 8)

Ciao, a presto. :)

Offline nico-

  • Nuovo arrivato
  • *
  • Post: 6
    • Mostra profilo
Re: Decidere data di creazione contenuto (lato sito)
« Risposta #4 il: 31 Ott 2007, 17:22:41 »
Per ovviare a questo problema io invece ho semplicemente aggiunto questa riga alla tabella in content.html.php :

Codice: [Seleziona]
<tr>
<td valign="top" align="right">
Override Created Date
</td>
<td>
<input class="text_area" type="text" name="created" id="created" size="25" maxlength="19" value="<?php echo $row->created?>" />
<input name="reset" type="reset" class="button" onclick="return showCalendar('created', 'y-mm-dd');" value="..." />
</td>
</tr>

tra _E_START_PUB ed _E_FINISH_PUB

Il risultato è il medesimo, e sembra funzionare.
Il problema è che se anche sovrascrivi la data, la notizia non appare in home come "nuova" ma viene solamente visualizzata come prima fra le ultime notizie (non sò se mi sono spiegato bene...), che è poi quello che succede se si effettua la stessa operazione da backend.
C'è un modo per aggiornare la data di creazione E far andare la notizia in HOMEPAGE ?

EDIT : risolto, è un impostazione nel menu HOME, visuallizazione "most recent first" e sembra che la mio modifica funzioni perfettamente senza alcun problema ed è semplicissima :P
« Ultima modifica: 31 Ott 2007, 17:29:03 da nico- »

 



Web Design Bolzano Kreatif