-
- 186 Posts
Eccoci qui, ancora una volta...
Ho creato uno snippet che fa una semplice chiamata ad una funzione php tipo mia_funzione($parametri); salvata su un file php esterno.
La funzione che richiamo fa una curl con determinati parametri e mi reindirizza sulla pagina manager di modx. Questa funzione mi consente di pubblicare i miei post direttamente su fb tramite un applicazione, questo snippet deve partire solo quando salvo una risorsa (che ha un opzione "pubblica su fb" impostata su on).
Ho tre domande:
1) posso salvare il codice della mia funzione nello snippet giusto? senza dover richiamarla in un file php esterno quindi saltando un punto.
2) come faccio a far la chiamata allo snippet quanto premo il pulsante salva? Devo usare jquery/ajax o c'e un evento gia "codificato" in modx?
3) posso personalizzare il manager per inserire una checkbox?
Sono domande da principiante ma quando mi blocco non c'è verso...
Grazie
-
- 186 Posts
Scusa il ritardo, ho avuto da fare e non mi sono dedicato molto a questo. La prima strada quindi la lasciamo perdere. Però l'idea della TV puo andare. Ora mi sorge un dubbio, come faccio a "regolare l'attivazione del plugin" al salvataggio?
-
- 186 Posts
Ok direi che ho trovato... grazie ora faccio alcuni test
-
- 186 Posts
Eccoci qui, ho fatto alcuni test e sono quasi soddisfatto, mi manca solo un dettaglio. Ora il mio plugin viene eseguito ogni volta che salvo una risorsa, non riesco a capire in che modo posso "attivare" questo plugin solo se è attivata un specifica TV. Negli eventi di sistema del plugin ci sono alcuni eventi legati alle TV ma non capisco in che modo associare la partenza di quel plugin alla mia TV e non a tutte le TV...
Grazie a tutti
-
- 186 Posts
Ho trovato un link in cui si diceva in spicci, il valore di una TV è passato come POST al plugin. Se la TV si chiamasse facebook ci si potrebbe accedere al suo valore attraverso $_POST['tvfacebook']. Ci ho provato ma niente, stessa cosa per le altre variabili passate tramite post. Mi viene in mente che ci sia un impostazione sbagliata?
-
- 186 Posts
Proverò anche questa, per il momento con il codice che ho trovato in rete non sono riuscito a risolvere. é anche vero che non ho avuto molto tempo... Grazie di nuovo
-
- 144 Posts
Ciao,
posto di seguito un plugin OnDocFormSave di esempio che prende il valore di una TV(myTV1) e la mette in un'altra (myTV2)
Attenzione! Il valore nella myTV2 lo vedrai inserito solo dopo aver riaperto la risorsa
<?php
$eventName = $modx->event->name;
//controllo l'evento anche se non credo sia necessario
switch($eventName) {
case 'OnDocFormSave':
$modx->event->output($eventName);
if($resource->getTVValue('myTV1')) {
$tv = $modx->getObject('modTemplateVar', array('name'=> 'myTV2'));
$tv->setValue($resource->get('id'), $resource->getTVValue('myTV1'));
$tv->save();
}
break;
}
l'evento
http://rtfm.modx.com/display/revolution20/OnDocFormSave
Spero possa aiutarti
----------------------------------
canale irc Italiano #modx server: tophost.azzurra.org
-
- 144 Posts
hmm ho notato un piccolo problema con quel plugin
if($resource->getTVValue('myTV1')) {
non basta o non è corretto per eseguire il codice al suo interno solo quando c'è una myTV1 popolata...
L'ho notato gurdando il database, la tabella modx_site_tmplvar_contentvalues, dove trovavo associazioni id myTV2 con id di risorse salvate ma a cui non avevo associato myTV1 e myTV2.
Disabilitando il plugin non succedeva.. ho deciso di modificarlo facendo un controllo sul Template ma vorrei anche controllare che myTV1 sia popolato..
Se vi viene in mente qualcosa fatemi sapere
Ciao
----------------------------------
canale irc Italiano #modx server: tophost.azzurra.org