Tutorial - FLEXIcontent Template - Part4: Il contenuto di un modello
In questa quarta parte voglio presentare e spiegare le FlexicontentViewItems scopo che ci permetterà di raggiungere il nostro modello per la voce. E così farò dettaglio tutte le variabili che possono essere utili a costruire i propri modelli.
Vorrei anche parlare di un sacco di funzioni che possono essere trovati con la flexicontent_html classe.
Questo tutorial è ancora costruito intorno al mio esempio, si desidera visualizzare le informazioni su uno stadio di calcio.
Contenuto:
- Lo scopo FlexicontentViewItems
- Visualizzare un insieme di campo da una posizione
- Visualizza un singolo campo
- Gestione commenti
- Fare di più ...
- voce
- item-> campi o campi
- item-> posizioni
- uso
- params
- menu_params
- La classe flexicontent_html
- Funzione striptadsandcut
- Funzione extractimagesrc
- Funzione printbutton
- Funzione mailbutton
- Funzione pdfbutton
Lo scopo FlexicontentViewItems
Questo oggetto utilizzabile in tutti i template per la voce vi permetterà di far apparire tutte le informazioni relative ai contenuti.
E 'accessibile tramite la variabile $ this.
Io ora riprendere il mio file item.php (creato nel part1 di questo tutorial) e vorrei iniziare esaminando l'intestazione del mio.
A 2 3 4 | / / Impedisce l'accesso diretto al file '_JEXEC' ) or die ( 'Restricted access' ) ; defined ('_JEXEC') or die ('Accesso limitato'); / / Imposta qui il nome del modello, nel nostro caso. Items.stade $this -> tmpl ; $ Tmpl = $ this -> tmpl; |
Avvieremo poi il nostro modello di inserire un tag div con l'aggiunta di classe CSS personalizzata a seconda della fase e del tipo di contenuto. Per questo io uso:
$ This-> item-> id = restituisce l'identificativo del contenuto
$ This-> item-> type_id = restituisce l'identificativo del tipo di contenuto
Dà:
16
| $this -> item -> id ; ?> type <?php echo $this -> item -> type_id ; ?> "> <Div id = classe "stade_contenu" = "item stade_contenu <php echo $ this -> item -> id;?> Tipo <php echo $ this -> item -> type_id ;?>"> |
Visualizzare un insieme di campo da una posizione
Come abbiamo visto nella parte 1 del tutorial, in grado di gestire FLEXIcontent diversa posizione in cui possiamo mettere i nostri campi. Questo dà diritto all'utente di posizionare questi nuovi campi senza modificare il codice del template.
Basta inserire nel nostro modello di un ciclo che poi passerà attraverso tutti i campi contenuti in una data posizione. Ecco il codice che userei per ognuna delle posizioni che ho creato (intestazione, indirizzo, contatti, immagini, descrizioni, informazioni, gmap, in basso):
17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <- Intestazione BOF -> <div id="stade_entete"> ( isset ( $this -> item -> positions [ 'entete' ] ) ) : ?> <? Php if (isset ($ this -> item -> posizioni ['intestazione'])):?> ( $this -> item -> positions [ 'entete' ] as $champ ) : ?> <(- Articolo -> posizioni ['header'] come campo $ Php foreach $ this)?>:> $champ -> name ; ?> "> ? <Div class = "Campo_A <Php echo $ campo -> nome ;?>"> ( $champ -> label ) : ?> <? Php if ($ campo -> etichetta):?> $champ -> label ; ?> </div> <div class="etiquette"> - etichetta <php echo $ campo?>;?> </ div> ; ?> <? Php endif;?> $champ -> display ; ?> </div> <div class="valeur"> - Display <echo $ campo?>;?> </ div> </ Div> ; ?> <? Php endoforeach;?> ; ?> <? Php endif;?> </ Div> <- Intestazione EOF -> |
Spiegazione:
isset ($ this-> item-> posizioni ['intestazione']) / / indica se i campi vengono visualizzati o meno in questa posizione
php foreach ($ this-> item-> posizioni ['header'] come campo $): / / la ricerca in tutti i campi il contenuto della posizione
$ Field-> nome / / restituisce il nome del campo, lo uso per dichiarare una classe unica CSS che mi permetterà poi di formattare il mio campo come voglio
$ Field-> etichetta / / restituisce l'etichetta del campo in cui ho scelto le mie impostazioni in campo ho scelto di farla apparire.
$ Campo-> display / / visualizza il valore del campo formattato secondo i parametri che ho impostato (prefisso + valore suffisso +)
Visualizza un singolo campo
E 'anche possibile visualizzare un campo direttamente, senza la posizione. Questo a volte può essere utile per fare un modello semplice, senza posizioni (che sono più pesanti in termini di codice). Userò questa parte di codice per visualizzare la mia immagine "image_stade".
62 63 64 65 66 67 68 | <- Immagine Soundtrack -> <div id="stade_image"> <div class="champ_image_stade"> $this -> fields [ 'image_stade' ] -> display ; ?> <? Php echo $ this -> campi ['image_stade'] -> visualizzazione;>? </ Div> </ Div> <- EOF immagine -> |
Per accedere direttamente ai valori e ai campi dei parametri, utilizzare il $ this-> campi ['MyField'].
Gestione commenti
Ho solo ottenere il codice sorgente originale di FLEXIcontent per visualizzare i commenti:
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 | ( $this -> params -> get ( 'comments' ) ) : ?> <? Php if ($ this -> params -> get ('commenti')):?> <-! Commenti BOF -> <div class="comments"> <? Php $this -> params -> get ( 'comments' ) == 1 ) : if ($ this -> params -> get ('commenti') == 1): file_exists ( JPATH_SITE . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.php' ) ) : if (file_exists (JPATH_SITE. DS 'componenti.' DS 'com_jcomments.' DS 'jcomments.php')...): JPATH_SITE . DS . 'components' . DS . 'com_jcomments' . DS . 'jcomments.php' ) ; require_once (. JPATH_SITE. DS 'componenti.' DS 'com_jcomments.' DS 'jcomments.php'..); showComments ( $this -> item -> id , 'com_flexicontent' , $this -> escape ( $this -> item -> title ) ) ; JComments eco: showComments ($ this - item> -> id, 'com_flexicontent', $ this -> escape ($ this -> voce - title>)); endif; endif; $this -> params -> get ( 'comments' ) == 2 ) : if ($ this -> params -> get ('commenti') == 2): file_exists ( JPATH_SITE . DS . 'plugins' . DS . 'content' . DS . 'jom_comment_bot.php' ) ) : if (file_exists (JPATH_SITE. DS 'plugins' DS 'content' DS 'jom_comment_bot.php').....): JPATH_SITE . DS . 'plugins' . DS . 'content' . DS . 'jom_comment_bot.php' ) ; require_once (JPATH_SITE. DS 'plugins' DS 'content' DS 'jom_comment_bot.php'.....); $this -> item -> id , 'com_flexicontent' ) ; Eco JomComment ($ this -> elemento -> id, 'com_flexicontent'); endif; endif; ?> </ Div> <-! Commenti EOF -> ; ?> <? Php endif;?> |
Attraverso $ this-> params-> get ('commenti'), mi permette di recuperare i parametri di FLEXIcontent e quindi devo dimostrare o meno commantaires. (0 = non ci sono commenti, 1 = 2 = JComments e commento Jom)
FLEXIcontent in grado di integrare i commenti JComments gestione di due componenti (consigliato) e Jom Comment.
Quindi, i parametri per i commenti sono gestiti direttamente attraverso il componente che è integrata.
Fare di più ...
Attraverso capitoli seguenti, vi ho mostrato come visualizzare i campi in modo di base, può essere che a volte è necessario andare un po 'più nel modello. Qui ci sono le informazioni più importanti si possono utilizzare nel modello.
Voce
Questo oggetto contiene tutte le informazioni sui tuoi contenuti direttamente
Una chiamata in questo modo $ this-> item-> "proprietà"
id | ID nella base dati |
titolo | Titolo |
alias | Alias |
introtext | Testo introduttivo (che corrisponde al campo descrizione è preferito) |
fulltext | Testo integrale (che corrisponde al campo descrizione è preferito) |
stato | Stato Publishing (1: pubblicato 0: Inedito -1: archiviati, -2: soppresso, -3: in attesa di approvazione, -4: Bozza, -5: in corso) |
sectionid | Sezione |
catid | Categoria principale |
creato | Data di creazione |
created_by | Identificare l'autore |
created_by_alias | Alias dell'autore |
modificato | Ultimo aggiornamento |
modified_by | Autore id scorso ha modificato la sezione |
a.publish_up | Data di inizio della pubblicazione |
publish_down | Data di fine pubblicazione |
versione | Numero di versione |
ordinamento | Numero che indica l'ordine di rango |
metakey | Parole chiave meta-dati |
metadesc | Descrizione dei metadati |
metadati | Robot e metadati Autore |
accesso | Livello di accesso (0: pubblico, 1: Private 2: Special) |
visite | Numero di visite |
idem_id | Id contenuto |
type_id | Identificare il tipo di contenuto |
lingua | Lingua (en-US, en-US ...) |
search_index | Tutti i testi sono indicizzati per la ricerca |
cataccess | Livello di accesso della categoria (0: pubblico, 1: Private 2: Special) |
catpublished | Indica se la categoria è pubblicata o meno |
autore | Nome dell'autore |
usertype | Nome gruppo dell'utente |
typename | Etichetta il tipo di contenuto |
creatoremail | E-mail il creatore dell'originale |
Creatore | Nome del creatore |
cambiare | Nome dell'autore scorso hanno fatto un cambiamento |
testo | Testo (descrizione del campo) da visualizzare nel modello (introduzione o testo completo) |
gatti | In tabella sono riportati le categorie associate (gatti [x] -> id, gatti [x] - title> ...) |
campi | Vedere i dettagli nel prossimo capitolo item-> campi |
readmore_link | Modo per linkare il "leggi tutto» |
posizioni | Vedere i dettagli nel prossimo capitolo item-> posizioni |
FieldValues | Lista il valore dei campi in una tabella (FieldValues [id_du_champs] [x]) |
favs | Numero di utenti che hanno aggiunto il loro contenuto preferiti |
FAV | Indica se il contenuto può essere inserito nei preferiti |
voto | Oggetto con i seguenti valori: rating_sum (valore medio dei voti), rating_count (voti) lastip (indirizzo ip voto scorso). |
item-> campi o campi
In questo modo è possibile ottenere tutte le informazioni sui campi del modello, sia per i campi principali (titolo, testo, ma tutti i campi personalizzati (come avete chiamato) che sono associati con il tipo visualizzato.
Una chiamata in questo modo $ this-> item-> Campi ['nome campo'] -> "proprietà" o giù di lì $ this-> ['nome campo'] campi -> "proprietà"
id | Id campo |
field_type | Tipo di campo |
nome | Nome del campo |
etichetta | Etichetta del campo |
descrizione | Descrizione del campo |
IsFilter | In questo campo c'è un filtro? |
iScore | |
isearch | Il campo viene utilizzato per la ricerca |
isadvsearch | Il campo è utilizzato per la ricerca avanzata? |
pubblicato | Edita o inedita |
accesso | Livello di accesso (0: pubblico, 1: Private 2: Special) |
ordinamento | Numero che indica l'ordine di rango |
valore | Valore della tabella campo di immissione |
display | Visualizzazione del valore formattato del campo. |
Ogni campo ha i parametri che possono essere recuperati in questo modo (JParameter soggetto):
$ This-> item-> Campi ['nome campo'] -> parametri-> get ('parametro')
Ecco i principali parametri che si possono trovare, non tutti vengono utilizzati a seconda del tipo di campo.
display_label | Display del pannello |
remove_space | Rimuovere gli spazi |
Pretesto | Prefisso |
posttext | Suffisso |
default_value | Difetto |
allow_multiple | Consenti valori multipli |
MAX_VALUE | Valore massimo |
dimensione | Campo Dimensioni |
separatorf | Valori di separazione per il frontend |
OpenTag | Tag valore precedente |
closeTag | Tag valore riuscendo |
date_format | Formato di visualizzazione standard di data |
custom_date | Formato di visualizzazione personalizzate di data |
filari | Numero di righe in una textarea |
passa | Numero di colonne in una textarea |
use_html | L'editor HTML è abilitato? |
item-> posizioni
Come detto in precedenza è possibile navigare attraverso tutte le posizioni di un modello per visualizzare i campi. Ecco le informazioni dettagliate è possibile utilizzare.
Una chiamata in questo modo $ this-> item-> posizioni ['nome di posizione] [' name campo '] -> "proprietà"
id | Id campo |
nome | Nome del campo |
etichetta | Etichetta del campo |
display | Valore formattato del campo |
uso
Questo tipo di oggetto juser fornisce informazioni sulla attualmente connesso
Una chiamata in questo modo $ this-> utente -> 'proprietà'
id | ID dell'utente |
nome | Nome |
nome utente | Login utente |
Indirizzo di posta elettronica dell'utente | |
usertype | Tipologia di utente |
registerDate | Data di registrazione |
lastvisitDate | Data dell'ultima connessione |
params
Si tratta di un JParameter oggetto che ci permetterà di trovare i parametri relativi al contenuto.
$ This-> params-> get ('parametro')
flexi_section | Sezione associata FLEXIcontent |
commenti | Ingresso di abilitazione (0 = non ci sono commenti, 1 = 2 = JComments e commento Jom) |
support_url | Supporto URL |
flexi_fish | Abilita il supporto Joomfish |
filtercat | Filtro categorie viste |
filtertag | Filtrare le visualizzazioni tag |
use_versioning | Abilita versioni |
nr_versions | Versioni conservate |
show_title | Titolo del contenuto |
link_title | Come cliccabili |
show_readmore | Link Leggi tutto ... |
show_icons | Icone |
show_pdf_icon | PDF icon |
show_print_icon | Icona Stampa |
show_email_icon | Email icon |
limite | articoli per pagina |
catlimit | Liste limite (categorie) |
upload_extensions | Estensioni ammessi (Tipi di file) |
upload_maxsize | Dimensione massima |
percorso_file | Percorso sicuro alla directory |
media_path | Mezzi di percorso della directory |
restrict_uploads | Limitare l'upload |
check_mime | Controllare i tipi MIME |
image_extensions | Estensioni di immagini consentite (tipi di file) |
ignore_extensions | Estensioni ignorate |
upload_mime | Tipi MIME permesso |
enable_flash | Abilita caricare Flash |
feed_summary | Per ogni feed RSS |
advcache | Cache avanzata |
advcache_time | Durata della cache |
advcache_guest | I visitatori solo |
disablecss | Disabilitare i CSS |
item_depth | A livello di elemento |
add_item_pathway | Aggiungi al percorso |
show_page_title | Titolo della pagina |
menu_image | Menu immagine |
sicuro | Attivo SSL |
page_title | Mostra il titolo della pagina |
page_description | Meta descrizione |
menu_params
Si tratta di un JParameter oggetto che ci permetterà di recuperare i parametri associati con il menu dei contenuti che devono essere visualizzati.
$ This-> menu_params-> get ('parametro')
item_depth | A livello di elemento |
add_item_pathway | Aggiungi al percorso |
page_title | Titolo della pagina |
show_page_title | Mostra il titolo della pagina |
pageclass_sfx | Suffisso classe CSS |
menu_image | Menu immagine |
sicuro | Attivo SSL |
La classe flexicontent_html
Questa classe di FLEXIcontent offre alcune utili funzioni per i nostri modelli.
Funzione striptagsandcut
Questa funzione ci permette di rimuovere i tag html da un testo e tagliato in modo netto dopo un certo numero di caratteri.
/ / Questo esempio formato e troncare dopo 100 caratteri $ my_text striptagsandcut ( $mon_texte , 100 ) ; eco flexicontent_html: striptagsandcut ($ my_text, 100);
Funzione extractimagesrc
Questa funzione ci permette di generare un tag di immagine da un campo di tipo immagine.
/ / Questo esempio formato e troncare dopo 100 caratteri $ my_text extractimagesrc ( $this -> fields [ 'mon_champ_image' ] ) ; eco flexicontent_html: extractimagesrc ($ this -> campi ['mon_champ_image']);
Funzione printbutton
Questa funzione visualizza il pulsante e il link per stampare il contenuto corrente
/ / Questo esempio mostra l'icona di stampa in nostri contenuti printbutton ( $this -> print_link , $this -> params ) ; eco flexicontent_html: printbutton ($ this -> PRINT_LINK, $ this -> params);
Funzione mailbutton
Questa funzione visualizza il pulsante e il link di raccomandare contenuto attivo in posta
/ / Questo esempio mostra l'icona Invia mail al nostro contenuto mailbutton ( 'items' , $this -> params , null , $this -> item -> slug ) ; eco flexicontent_html: mailbutton ('articoli', $ this -> params, null, $ this -> voce - slug>);
Funzione pdfbutton
Questa funzione visualizza il pulsante e il link per generare contenuto attivo in pdf
/ / Questo esempio mostra l'icona del nostro contenuto PDF pdfbutton ( $this -> item , $this -> params ) ; eco flexicontent_html: pdfbutton ($ this -> voce, $ this -> params);
Questo è il quarto gioco è finito, la prossima volta che affronterà la categoria di modelli. Ancora una volta si prega di fare i vostri commenti o per fare domande se non capite qualcosa.













Il 24/02/2010 alle 09:18, Emmanuel Danan ha detto:
Wow, che la sintesi
Una parola: BRAVO!
Grazie a voi per questo nuovo contributo.
Manu.