MAXdev Italia
Documenti per lo sviluppo di MDPro 1.08x
TiMax

Documenti per lo sviluppo di MDPro 1.08x

 

 



Convertire vecchi moduli per MDPro 1.08x

Alcuni trucchi e consigli per convertire vecchi moduli a MDPro 1.08x

Alcuni vecchi moduli MDPro/Postnuke hanno bisogno di molte modifiche per poter funzionare e renderli MDPro 1.08x compatibile, altri moduli hanno bisogno di minime modifiche per poter funzionare, potete leggere di seguito alcuni tips che possono esservi utili per convertire alcuni moduli, fateci conoscere se intendete lavorare alla conversione di alcuni moduli in modo che tutta la comunità possa saperlo.

con queste semplici azioni molti vecchi moduli potranno cosi funzionare con MDPro 1.08x e per cortesia condifidete il vostro lavoro

se volete utilizzare Tinymax editor nel vostro modulo, potete seguire le seguenti istruzioni 

Possiamo usare gli hooks per attivare Tinymax editor nei nostri moduli, quindi ad esempio

potete aggiungere del codice tipo questo

pnModCallHooks('item','transform','',array('textarea name1','textarea name2'));

nel vostro modulo, quindi potete attivare Tynimax editor manualmente in Admin/modules cliccando sul nome del modulo oppure potete aggiungere qualche cosa tipo questo nel vostro db

INSERT INTO md_hooks VALUES ('', 'item', 'transform', 'Name module', NULL , 'API', 'Tinymax', 'user', 'transform');

certamente potete utilizzare pninit per effettuare questa applicazione automaticamente con la procedura d'installazione




Documentazione Autorender

 

Documentazione Autorender

Indice

•1.Introduzione

•2.Struttura delle cartelle

•3.Algoritmo di esecuzione

•4.Plugin

•5.Modulo d'esempio

•6.Dettagli sui Template

•7.NOTE

 

 

1. Introduzione

Il modulo Autorender è un motore grafico di templating basato sia sul popolare motore AutoTheme di Shawn McKenzie e che sul motore Smarty di smarty.php.net

Autorender vuole coniugare la potenza dei motori AutoTheme e Smarty in un unico modulo. Permette il supporto dei temi AutoTheme senza significative modifiche e tuttemlemcaratterisitche di Smarty.

Il supporto per Smarty permette inoltre la piena portatilità dei moduli basati su pnRender  di  PostNuke.

 

2. Struttura delle Cartelle

 

Autorender ha la seguente struttura delle cartelle:

 

Root MDPro

|--libs

     |--render_smarty          contiene il codice base di Smarty senza modifiche

            |--plugins               contiene i plugin di Smarty per l'intero sito

                |--smarty_core   contiene plugin base di smarty plugins degli sviluppatori

                |--api                 contiene plugin dipendenti dalle API di PostNuke e MDPro

|--modules

   |--Autorender                Contiene il codice AutoTheme modificato per supportare Smarty.

    |--Tuo modulo personalizzato

            |--templates          Contiene i template Autorender del tuo modulo personalizzato

                |--plugins           Contiene i plugins perr Autorender del tuo modulo

|--cache

    |--_arcompile                Contiene i template compilati per Autorender, deve essere 777

    |--_cache                      Contiene pagine cache di smarty, deve avere permessi  777

 

 

3. Algoritmi di esecuzione.

Fondamentalmente, Autorender può lavoroqare in due modi:

 

Primo modo - riceve il template, esegue il parsing, cioè lo elabora con smarty, lo interpreta come un template AutoTheme e lo elabora sotto AutoTheme, poi lo ritorna all'utente. Questo metodo supporta tutte le costanti inserite nel template, siano esse di Smarty e/o di Autotheme, ma è più lento nell'elaborazione che se si usasse solo Smarty o solo AutoTheme.  

 

Secondo Modo  - riceve il template, lo elabora con Smarty, poi lo ritorna all'utente. Questo metodo supporta solo i tag di Smarty, ma lavora più velocemente che il primo metodo.   Se ne raccomanda l'uso nei moduli o nei blocchi sensibili alla velocità, che non richiedono tag di AutoTheme.

 

 

4. Plugins.

I plugin consentono di creare un comando o un modificatore personalizzato da usare all'interno del template.

I plugin si possono dividere fondamentalmente in

 

A. I plugin di Smarty si trovano nella cartella libs/render_smarty/plugins/smarty_core e sono necessari per utilizzare le funzionalità base di Smarty. 

 

a) Commandi

            nome del file di plugin:

            function.NomeTuaFunzione.php

            uso nel template:

            <% NomeTaFunzione

                        NomeParametro1=ValoreParametro1

                        NomeParametro2=ValoreParametro2

            %>

 

b) Modificatori

            nome del file di plugin:

            modifiers.NomeTuoModificatore.php

            uso nel template:

            <% $valore|NomeTuoModificatore %>

 

 

           

            a) Alcuni utili esempi di sintassi Smarty forniti da un comando:

 

<% section loop=$myarray name="myvar" %> 

            <% $myarray[myvar].array_element %> <br>

<%sectionelse%>

            No data found

<%/section%>

            Esegue un loop sulle voci di un vettore

            http://smarty.php.net/manual/en/language.function.section.php

 

<%if $condition ne "" %>

            <% $condition %> is not null

<%else%>

            <% $condition %> is null

<%/if%>

            Controlla se la condizione è vera o falsa

            Supporta le operazioni base (eq,ne,gt,lt,le,ge,not e analoghi matematici)

            http://smarty.php.net/manual/en/language.function.if.php

 

<% include file="tuofile.tpl" %>

            Includes another template into current one

            http://smarty.php.net/manual/en/language.function.include.php

 

<%php%>

 echo "php code works";

<%/php%>

            Include codice php nel template. Non si raccomanda l'uso ;)

            http://smarty.php.net/manual/en/language.function.php.php

 

 

            Ecco alcune utili funzioni core supportati da Smarty (definite come plugins):

<% config_load file='dfsf' section='dsfsd'

     scope='fsd' global=true %>

  è usata per caricare le variabili di configurazione dal file di configurazione al file del template.

 

<% counter name='dfsf' start=1 skip=2

          direction=up print=false assing=varname %>

      Registra il contatore per ogni iterazione e viene usato per     stampare tale indice.

      http://smarty.php.net/manual/en/language.function.counter.php

 

<% cycle name="gfdg" values="blue,green,red" print="false"               delimiter="," assign="varname" reset="true" %>

     

      Viene usato per far ruotare una serie di valori (funziona come il foreach del PHP).

      http://smarty.php.net/manual/en/language.function.cycle.php

     

 

<% debug output="La tua frase quì" %>

       inserisce la console di debug nella pagina.

      http://smarty.php.net/manual/en/language.function.debug.php

 

<% eval var="$x+1" assign="varname"%>

  usato per valutare una variabile come un template smarty.

      http://smarty.php.net/manual/en/language.function.eval.php

 

<% fetch file="http://posizione.file/file" assign="varname" %>

 Usato per scaricare file da un file system locale, http oppure ftp e visualizza o ne assegna il contenuto.

      http://smarty.php.net/manual/en/language.function.fetch.php

 

 

<% html_checkboxes name="outputname"

          options=$associated_array_values

          selected=$string_or_array_of_values %>

       è una funzione personalizzata che crea gruppi di checkbox con valori forniti dal creatore.

 http://smarty.php.net/manual/en/language.function.html.checkboxes.php

 

<% html_options

     name="outputname"

     values=$array_of_values

     selected=$string_or_array %>

      Funziona come html_checkboxes, ma per liste di tipo select

http://smarty.php.net/manual/en/language.function.html.options.php

 

<% html_radios name="outputname"

     values=$array_of_values

     selected=$string_or_array %>

 

      Funziona come html_checkboxes, ma per radio buttons

http://smarty.php.net/manual/en/language.function.html.radios.php

 

<% html_select_date prefix="mydate_"

     time="2005-12-31"

     start_year="1970"

     end_year="2020" %>

      Crea menu tendine a discesa per scegliere tra date.

http://smarty.php.net/manual/en/language.function.html.select.date.php

 

<% html_select_time

          prefix="mytime_"

          time=$unixtimestamp

          %>

      Crea menu tendine a discesa per scegliere tra date.

http://smarty.php.net/manual/en/language.function.html.select.time.php

 

<% html_table loop=$array_of_data cols=10 rows=20 %>

 Inserisce un vettore in una tabella HTML.

http://smarty.php.net/manual/en/language.function.html.table.php

 

<% html_image file="image_path" height=10 width=20

          alt="Alt name" href="http://link.here/" %>

      Crea il tag immagine dai dati inseriti.

      Non so se ciòpossa essere utile nel nostro caso...      http://smarty.php.net/manual/en/language.function.html.image.ph 

 

<% mailto address="me@maxdev.com" text="Contattaci"

          subj="Mail from site" %>

      Crea il tag mailto per i dati inseriti.

http://smarty.php.net/manual/en/language.function.mailto.php

 

<% math equation="x*y" x=2 y=3 format="%d" %>

      Calcola una equazione matematica.

http://smarty.php.net/manual/en/language.function.math.php

 

 

Tutte le informazioni dettagliate sulle sopra descritte fuzioni possono essere trovate sul sito di Smarty:

http://s/

 

 

b) Ed ecco alcuni modificatori core per Smarty:

 

truncate:20:"...":true

Limita la lunghezza dei byte stampati alla lunghezza di 20 caratteri e inserisce  '...' in fondo.

http://smarty.php.net/manual/en/language.modifier.truncate.php

 

nl2br

Converte il line feeds nel tag  <br>

http://smarty.php.net/manual/en/language.modifier.nl2br.php

 

date_format:"%B %e, %Y %H:%M:%S"

Visualizza in output il unixtimestamp in formato  stringa data.

http://smarty.php.net/manual/en/language.modifier.date.format.php

 

strip_tags

Rimuove tag HTML

http://smarty.php.net/manual/en/language.modifier.strip.tags.php

 

Tutte le informazioni dettagliate sui modificatori possono essere trovate sul sito Smarty:

http://smarty.php.net/manual/en/

 

B. Funzioni e modifcatori API  per PostNuke/MDPro

 

 

Esistono diversi modificatori speciali e diverse funzioni in supporto alle funzionalità che dipendono dalle API di PosNuke e di MDPro. Sotto PostNuke essi vengono usate da pnRender.

 

a. Funzioni

 

<% opentable %>

<% closetable %>

<% opentable2 %>

<% closetable2 %>

Tag per aprire e chiudere due tipi standard di tabelle.

 

<% const name=_YOUR_CONSTANT_NAME%>

Visualizza una costante (dovrebbe essere dipendente dalla lingua)

 

<% pager %>

Mostra il pager con i parametri che vengono passati.

 

<% pnblock id=45 %>

Il ocntenuto in outut di un blocco di cui è specificato l'id (in un sistema che permette di aggiungere blocchi da admin->Blocks)

 

<% pnconfiggetvar name="param_name" %>

 

Stampa i valori di configurazione per un nome di parametro dato

 

<% pnmodapifunc modname="YouModuleName" type="user"

                                   func="your_func_name" param1="val1"

                                   param2="val2" %>

Chiama una funzione API per un modulo, un tipo e un parametro inserito

 

<% pnmodgetvar module="YouModuleName" name="ParamName" %>

 

Riceve una variabile di configurazione del modulo

 

<% pnvarcleanfrominput name="ParamName" %>

 

Riceve parametri di input (post/get)

 

<% pnusergetvar uid="2" name="ParamName" %>

 

Riceve parametri passati dall'utente

 

<% pnsecgenauthkey module="YourModuleName" assign=$variable_name %>

 

Genera AuthKey (richiesta in certe operazioni di modifica/cancella/aggiorna)

 

b. Modificatori:

 

pnvarprepforstore

Prepara le variabili alla memorizzazione

pnvarprepfordisplay

Prepara le variabili alla visualizzazione

 

pnvarprephtmldisplay

Prepara le variabili per la visualizzazione come codice HTML

 

AutoRender_ita.pdf AutoRender_ita.pdf (36.90 KB 05.01.2007 08:17)



2007 ©  MAXdev Italia