Jump to content

Logica dei Template e Variabili


BomAle

Recommended Posts

Comincio a scrivere questa guida per avere un unico punto di riferimento (italiano) sulla metodologia di linguaggio da adoperare per sviluppare codici adatti al software IP.Board e company.

Prendendo spunto da varie guide (in fondo al messaggio ho lasciato le fonti) inizio a mostrarvi il significato:

A. Dichiarazioni:
1. <if> significa letteralmente "se", quindi si utilizza nel caso si verifichi una certa condizione

<if test="questa condizione si verifica">codice da far apparire</if>

Per poter definire una condizione occorre sapere quale funzione deve essere verificata.
Le tipologie di funzioni sono numerose ma vi elenco quelle che vengono maggiormente usate:

  • $this->settings:
  • $this->request:
  • $this->memberData:
  • $this->caches:
  • Variabili posizionate nel template del tema(skin),
<if test="!$this->memberData['member_id']">
<if test="$this->memberData['member_group_id'] == $this->settings['guest_group']">

Ecco in questo ultimo caso, all'interno del test="..." troverete un attributo che nel caso sia uguale al valore allora il contenuto racchiuso tra gli if viene visualizzato.


Però oltre a questo "simbologismo" ne esistono altri di selettori:
|| o or -> OPPURE
&& o and -> ANCHE
! -> ESCLUSO
= ->
== ->
> -> MAGGIORE
% ->


2. <foreach>

B. Variabili {parse}

Per me è difficile affrontare questo argomento visto che non ho frequentato nessun tipo di corso sulla programmazione php... perciò siate buoni :P

Questa sera metto giù quanto più possibile ;) per ora vi lascio i link per documentarvi...
Template Conditionals -> InvisionFocus
Template Logic & Variables -> InvisionPower

Selettori -> DioDati

Selettori -> Google.com

If Application Statement

If Topic or If Forum Statement

Operatori

operators

elseif

foreach

Edited by Skillman_92
If Topic or If Forum Statement
  • Like 2
Link to post
Share on other sites
  • 2 weeks later...

bel topic, capita proprio a ciccio... :lol:

 

Mi faccio una cultura. B)

 

Grazie.

 

 

edit

 

Se volessi inserire un elemento in tutti i forum della board, tranne che in uno la sintassi quale sarebbe? Non c'ho capito molto...

 

<if test="!$this->getTemplate('forum')! $forum=array(2-nome forum')> Test </if>

?

Edited by Caffpow
  • Like 1
Link to post
Share on other sites

la soluzione migliore sarebbe..

<if test="$forum['id'] != xx"> Contenuto per tutti ... tranne forum con id=xx</if>

unico problema è saper trovare l'esatta variabile... per questo ho aperto la discussione in modo tale che qualche programmatore completi per bene il discorso!

 

Per visualizzare un messaggio ovunque tranne nella visualizzazione di forum e topic

<if test="!$this->request['f'] && !$this->request['t']">    <div>       ...    </div></if>
Edited by Skillman_92
Link to post
Share on other sites

Per il popup ti rispondo qui :) ... riporto in questa discussione i punti salienti codici di esempio cosi se qualcuno vuole approfondire segue le discussioni specifiche!

Link to post
Share on other sites
  • 1 year later...

per chiunque abbia la necessità di nascondere il contenuto di una parte del sito ai search engine / spider / bot / motori di ricerca ecc... per esempio banner pubblicitari (se vi è permesso dal servizio), parti di contenuti accessibili solo da un gruppo (non tutta la pagina) e cosi via...

potete usare questo codice

if ( !$this->member->is_not_human ){	/* Contenuto visibile a chiunque sia un visitatore o iscritto, ma non agli spider */        print 'benvenuto nel forum, buona navigazione';}
  • Like 1
Link to post
Share on other sites

 

per chiunque abbia la necessità di nascondere il contenuto di una parte del sito ai search engine / spider / bot / motori di ricerca ecc... per esempio banner pubblicitari (se vi è permesso dal servizio), parti di contenuti accessibili solo da un gruppo (non tutta la pagina) e cosi via...

potete usare questo codice

if ( !$this->member->is_not_human ){	/* Contenuto visibile a chiunque sia un visitatore o iscritto, ma non agli spider */        print 'benvenuto nel forum, buona navigazione';}

 

 

sai come si fa in php normale?

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Kronos_OS
      By Kronos_OS
      Sicuramente avrete notato che in tutti gli ip.content, con la skin mobile, viene visualizzata prima la sidebar del contenuto del sito, risolvere il problema è molto semplice.

      Andiamo in: other apps> content > page manager > index.html

      La index.html sarà qualcosa di simile:
      {ccs special_tag="navigation"}<div class='ipsLayout ipsLayout_withright'><div class='ipsLayout_right'> {parse block="articles_menu"} {parse block="recent_comments"}</div><div class='ipsLayout_content'> {parse articles}</div></div>Modifichiamola così:
      {ccs special_tag="navigation"}<div class='ipsLayout ipsLayout_withright'><div class='ipsLayout_content'> {parse articles}</div><div class='ipsLayout_right'> {parse block="articles_menu"} {parse block="recent_comments"}</div></div>In pratica abbiamo preso questa parte di codice:
      <div class='ipsLayout_content'> {parse articles}</div>E l'abbiamo spostata dopo
      <div class='ipsLayout ipsLayout_withright'>In questo modo, con la skin mobile, verrà visualizzato prima il contenuto della pagina, e poi la sidebar.

      Spero di essere stato d'aiuto!
    • najaru
      By najaru
      Una attività su cui è possibile lavorare sui vari siti web è sicuramente quella dei blog.
      Chi di noi ha iniziato l'attività di gestione siti web alcuni anni fà si è sicuramente accorto di come il panorama sia completamente cambiato sia in relazione alle aspettative degli utenti sia per la presenza dei grandi social network.
      Quindi intanto i navigatori hanno la necessità di accedere ad un sito web e trovare ordine, navigabilità, ma soprattutto contenuti pertinenti e interessanti. Queste sono tutte cose che generalmente non sono disponibili su facebook, soprattutto per argomenti super specifici. Ma ci siamo mai chiesti se questo tipo di contenuti sono presenti nelle nostre community? Se pensiamo che siano presenti, siamo veramente sicuri che siano direttamente disponibili agli utenti? oppure questi ultimi devono andare a cercarli nelle varie discussioni sparse per il forum?
      Questo cosa ci fa capire? Che la struttura di un forum (e quindi il core della nostra IP.Board senza prodotti aggiuntivi) è ottimizzata al massimo per chi deve offrire uno spazio puramente di discussione e quindi con utenti che arrivano e scrivono il loro pensiero anche completamente disorganizzato, oppure per richieste di puro supporto generalmente tecnico. Ma la struttura a forum non è proprio ottimizzata per la pubblicazione di articoli, guide, news e contenuti simili, infatti esistono una serie di prodotti che permettono di avere ambienti dedicati a questo (IP.Blog, News system, IP.Content e altri): questo non significa però che non sia possibile farlo con il forum classico. Infatti una scelta di molti amministratori è quella di creare un forum con permessi di apertura topic solo ai gruppi di editori che vanno ad inserire dei contenuti organizzati in un certo modo e che solitamente vengono messi in alto nella lista dei forum. Questa soluzione è sicuramente molto pratica, anche perchè permette di commentare poi a tutti gli utenti e anche le altre verie funzioni: rimane comunque una sezione non veramente in risalto rispetto alle altre. Ed è per questo che molti optano per prodotti specifici, di cui parliamo di seguito, per descriverne le differenze.
      Con IP.Content è possibile avere, oltre alle funzioni aggiuntive che non descrivo in questo contesto perchè non pertinenti, un vero e proprio CMS e quindi possibilità di fare pubblicare degli articoli a uno o più gruppi, e visualizzarli secondo dei template con struttura e stili personalizzati dall'amministratore, in una o più pagine. Generalmente il tuning di questo sistema è relativamente complesso, e richiede un minimo di conoscenza del linguaggio di programmazione di base, anche se il software si sta sempre di più diventando user-friendly. Questa soluzione generalmente è dedicata ad uno staff di editori predefinito, e non a tutti gli utenti della community (anche se questa possibilità non è esclusa), e non permette nessuna personalizzazione dell'autore se non per quello che riguarda il contenuto dell'articolo.
      Con IP.Blog invece si ha un prodotto dedicato nella maniera più assoluta a tutti gli utenti della community, anche se esiste ovviamente la possibilità di impedire il posting a determinati gruppi. La struttura nelle pagine e visualizzazioni varie è predefinita ma è consentito agli utenti non solo di personalizzare l'aspetto grafico ma anche di aggiungere dei blocchi nella sidebar con contenuti personalizzati.
      Quindi i principali mezzi che ci vengono messi a disposizione sono almeno 3, ed è veramente un peccato non approfittarne. Avere una sezione dedicata ai contenuti ci permette di:
      - catturare meglio i visitatori perchè sanno di poter tornare per trovare qualcosa di nuovo e nel loro ambito di interessi.
      - indicizzare contenuti a tema
      - giovare degli utenti come riserse di produzione contenuti
      - avere nuovi argomenti di cui discutere
      Questi vantaggi però diventeranno reali solo se questo tipo di contenuto verrà prodotto in modo serio e soprattutto pertinente all'argomento trattato dal sito. I dettagli di come deve essere prodotto un articolo o una guida potranno eventualmente essere trattati in un'altra discussione.

    • Lumino
      By Lumino
      File stampabile della guida di Najaru per l'upgrade di IPBoard.
    • isoka
      By isoka
      Skin in fase di sviluppo

      edit:

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. to insert a cookie message.